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 — 获取访问令牌 ​的请求,然后选择​ 发送。 响应应包含新的​ accestoken

Postman

1.1.3.3以编程方式与PSD文件交互

citisignal-fibre.psd下载到桌面。

在Photoshop中打开​ citisignal-fibre.psd

Azure存储

在​ ​窗格中,文件的设计者为每个层提供了唯一的名称。 您可以通过在Photoshop中打开PSD文件来查看图层信息,但您也可以通过编程方式来查看图层信息。

让我们将您的第一个API请求发送到Photoshop API。

Photoshop API - Hello World

接下来,让我们向Photoshop API问好,以测试是否正确设置了所有权限和访问权限。

在集合​ Photoshop ​中,打开请求​ Photoshop Hello(测试身份验证) ​的问题。选择​ 发送

Azure存储

您应会收到响应​ 欢迎使用Photoshop API!

Azure存储

接下来,为了以编程方式与PSD文件​ citisignal-fibre.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 Storage帐户 ​中看到的,URL已配置为使用这些变量。

Azure存储

在​ 主体 ​中,选择文件​ citisignal-fiber.psd

Azure存储

您的屏幕应如下所示。 选择​ 发送

Azure存储

您应从Azure中获取此空响应,这意味着您的文件存储在您的Azure存储帐户的容器中。

Azure存储

如果使用Azure存储资源管理器查看文件,请确保刷新文件夹。

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,该URL是由您发送的上一个请求​ Photoshop — 获取PSD清单 ​设置的变量。 变量在每个请求的​ 脚本 ​中设置。 选择​ 发送

Azure存储

您的屏幕应如下所示。 目前,状态设置为​ 挂起,这意味着该进程尚未完成。

Azure存储

在​ Photoshop — 获取PS状态 ​上再选择发送几次,直到状态更改为​ succeeded。 这可能需要几分钟的时间。

当响应可用时,您可以看到json文件包含有关PSD文件所有层的信息。 这是有用的信息,因为可以识别层名称或层ID等。

Azure存储

例如,搜索文本2048x2048-cta。 屏幕应如下所示:

Azure存储

Photoshop API - SmartObject替换

接下来,您需要使用上一个练习中使用Firefly生成的图像来更改citisignal-fibre.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状态,然后选择​ 发送。 如果状态未立即设置为​ succeeded,请等待几秒钟,然后再次选择​ 发送

选择用于下载输出文件的URL。

Azure存储

将文件下载到计算机后,打开​ citisignal-fibre-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状态,然后选择​ 发送。 如果状态未立即设置为​ succeeded,请等待几秒钟,然后再次选择​ 发送

选择用于下载输出文件的URL。

Azure存储

将文件下载到计算机后,打开​ citisignal-fibre-changed-text.psd。 您应该看到call to action的占位符已被文本​ 立即获取Fiber! ​替换。

Azure存储

您还可以使用Azure存储资源管理器在容器中查看此文件。

Azure存储

后续步骤

转到Firefly自定义模型API

返回Adobe Firefly Services概述

返回所有模块

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