1.1.3使用Photoshop API

瞭解如何使用Photoshop API和Firefly Services。

1.1.3.1必要條件

在繼續此練習之前,您必須先完成您的Adobe I/O專案的設定,而且您還需要設定應用程式以與API互動,例如PostmanPostBuster

1.1.3.2 Adobe I/O - access_token

在​ Adobe IO - OAuth ​集合中,選取名為​ POST - Get Access Token ​的要求,並選取​ 傳送。 回應應包含新的​ accestoken

Postman

1.1.3.3以程式設計方式與PSD檔案互動

citisignal-fiber.psd下載到您的案頭。

在Photoshop中開啟​ citisignal-fiber.psd

Azure儲存體

在​ 圖層 ​窗格中,檔案的設計者已為每個圖層指定唯一的名稱。 您可以在Photoshop中開啟PSD檔案,檢視圖層資訊,也可以使用程式設計方式執行此操作。

讓我們將您的第一個API要求傳送至Photoshop API。

Photoshop API - Hello World

接下來,讓我們向Photoshop API問好,以測試所有許可權和存取權是否已正確設定。

在集合​ Photoshop ​中,開啟要求​ Photoshop Hello (測試驗證)。。選取​ 傳送

Azure儲存體

您應該會收到回應​ 歡迎使用Photoshop API!

Azure儲存體

接著,若要以程式設計方式與PSD檔案​ citisignal-fiber.psd ​互動,您必須將其上傳至儲存帳戶。 您可以使用Azure儲存體總管將其拖放到容器中,手動執行此操作,但這次您應透過API執行此操作。

將PSD上傳至Azure

在Postman中,開啟要求​ 將PSD上傳至Azure儲存體帳戶。 在上一個練習中,您已在Postman中設定這些環境變數,現在將使用:

  • AZURE_STORAGE_URL
  • AZURE_STORAGE_CONTAINER
  • AZURE_STORAGE_SAS_READ
  • AZURE_STORAGE_SAS_WRITE

如您在要求​ 將PSD上傳至Azure儲存體帳戶 ​中看到的,URL已設定為使用這些變數。

Azure儲存體

在​ 主體 ​中,選取檔案​ citisignal-fiber.psd

Azure儲存體

您的熒幕應如下所示。 選取​ 傳送

Azure儲存體

您應該從Azure取得此空白回應,這表示您的檔案儲存在Azure儲存體帳戶的容器中。

Azure儲存體

如果您使用Azure Storage Explorer檢視檔案,請務必重新整理資料夾。

Azure儲存體

Photoshop API — 取得資訊清單

接下來,您需要取得PSD檔案的資訊清單檔案。

在Postman中,開啟要求​ Photoshop — 取得PSD資訊清單。 移至​ 內文

內文看起來應該像這樣:

  {
    "inputs": [
      {
        "storage": "external",
        "href": "{{AZURE_STORAGE_URL}}/{{AZURE_STORAGE_CONTAINER}}/citisignal-fiber.psd{{AZURE_STORAGE_SAS_READ}}"
      }
    ],
    "options": {
      "thumbnails": {
        "type": "image/jpeg"
      }
    }
  }

選取​ 傳送

在回應中,您現在會看到連結。 由於Photoshop中的作業有時需要一些時間才能完成,因此Photoshop會提供狀態檔案來回應大多數傳入的請求。 若要瞭解您的請求正在發生什麼事,您需要讀取狀態檔案。

Azure儲存體

若要讀取狀態檔案,請開啟要求​ Photoshop — 取得PS狀態。 您可以看到此請求正在使用變數做為URL,這是由您傳送的上一個請求所設定的變數,Photoshop — 取得PSD資訊清單。 變數是在每個要求的​ 指令碼 ​中設定。 選取​ 傳送

Azure儲存體

您的熒幕應如下所示。 目前,狀態設定為​ 擱置,表示處理序尚未完成。

Azure儲存體

在​ Photoshop — 取得PS Status ​上再選取傳送幾次,直到狀態變更為​ succeeded。 這可能需要幾分鐘的時間。

當回應可用時,您可以看到json檔案包含PSD檔案所有圖層的資訊。 這是有用的資訊,因為可以識別圖層名稱或圖層ID等。

Azure儲存體

例如,搜尋文字2048x2048-cta。 您的畫面應如下所示:

Azure儲存體

Photoshop API - SmartObject取代

接下來,您需要使用您在前一個練習中使用Firefly產生的影像,變更檔案citisignal-fiber.psd的背景。

在Postman中,開啟要求​ Photoshop - SmartObject Replace,並移至​ Body

您的畫面應如下所示:

  • 首先,指定輸入檔案: citisignal-fiber.psd
  • 第二,指定要變更的圖層,並使用新的背景檔案
  • 第三,指定了輸出檔案: citisignal-fiber-replacedbg.psd
  {
    "inputs": [
        {
            "storage": "azure",
            "href": "{{AZURE_STORAGE_URL}}/{{AZURE_STORAGE_CONTAINER}}/citisignal-fiber.psd{{AZURE_STORAGE_SAS_READ}}"
        }
    ],
    "options": {
        "layers": [
            {
                "name": "2048x2048-image",
                "input": {
                    "href": "{{FIREFLY_COMPLETED_ASSET_URL}}",
                    "storage": "external"
                }
            }
        ]
    },
    "outputs": [
        {
            "storage": "azure",
            "href": "{{AZURE_STORAGE_URL}}/{{AZURE_STORAGE_CONTAINER}}/citisignal-fiber-replacedbg.psd{{AZURE_STORAGE_SAS_WRITE}}",
            "type": "vnd.adobe.photoshop",
            "overwrite": true
        }
    ]
}

輸出檔案的名稱不同,因為您不想覆寫原始輸入檔案。

選取​ 傳送

Azure儲存體

就像之前一樣,回應包含一個連結,指向可追蹤進度的狀態檔案。

Azure儲存體

若要讀取狀態檔,請開啟要求​ Photoshop — 取得PS狀態,然後選取​ 傳送。 如果狀態未立即設定為​ 成功,請等待幾秒鐘,然後再次選取​ 傳送

選取要下載輸出檔案的URL。

Azure儲存體

將檔案下載到您的電腦後,開啟​ citisignal-fiber-replacedbg.psd。 您應該會看到背景影像已變更為類似影像,如下所示:

Azure儲存體

您也可以使用Azure儲存體總管在容器中檢視此檔案。

Azure儲存體

Photoshop API — 變更文字

接下來,您需要使用API變更call to action的文字。

在Postman中,開啟請求​ Photoshop — 變更文字,並移至​ 內文

您的畫面應如下所示:

  • 首先,指定輸入檔案: citisignal-fiber-replacedbg.psd,這是您變更背景影像時,在上一步驟中產生的檔案
  • 第二,指定要變更的圖層,並將文字變更為
  • 第三,指定了輸出檔案: citisignal-fiber-changed-text.psd
  {
  "inputs": [
    {
      "storage": "external",
      "href": "{{AZURE_STORAGE_URL}}/{{AZURE_STORAGE_CONTAINER}}/citisignal-fiber-replacedbg.psd{{AZURE_STORAGE_SAS_READ}}"
    }
  ],
  "options": {
    "layers": [
      {
        "name": "2048x2048-cta",
        "text": {
          "content": "Get Fiber now!"
        }
      }
    ]
  },
  "outputs": [
    {
      "storage": "azure",
      "href": "{{AZURE_STORAGE_URL}}/{{AZURE_STORAGE_CONTAINER}}/citisignal-fiber-changed-text.psd{{AZURE_STORAGE_SAS_WRITE}}",
      "type": "vnd.adobe.photoshop",
      "overwrite": true
    }
  ]
}

輸出檔案的名稱不同,因為您不想覆寫原始輸入檔案。

選取​ 傳送

Azure儲存體

就像之前一樣,回應包含一個連結,指向可追蹤進度的狀態檔案。

Azure儲存體

若要讀取狀態檔,請開啟要求​ Photoshop — 取得PS狀態,然後選取​ 傳送。 如果狀態未立即設定為​ 成功,請等待幾秒鐘,然後再次選取​ 傳送

選取要下載輸出檔案的URL。

Azure儲存體

將檔案下載到您的電腦後,開啟​ citisignal-fiber-changed-text.psd。 您應該會看到call to action的預留位置已被文字​ 立即取得Fiber! ​取代。

Azure儲存體

您也可以使用Azure儲存體總管在容器中檢視此檔案。

Azure儲存體

後續步驟

移至Firefly自訂模型API

返回Adobe Firefly Services概觀

返回所有模組

recommendation-more-help
4bbf020c-24db-4a43-b239-88fab142f02d