使用Postman或cURL调用图像/视频生成API

本文指导您使用PostmancURL调用阿里云百炼的图像和视频生成 API。

  • Postman:一款界面化的 HTTP 测试工具,操作直观,推荐初学者使用

  • cURL:一个强大的命令行工具,适用于熟悉命令行的开发者。

本文以“文生图”为例,演示从创建任务到获取结果的全过程。调用流程请参见API异步调用机制

说明

Postman 和 cURL仅适用于快速测试。对于生产环境,建议您使用官方 SDK 或自行实现 HTTP 调用。

方式一:使用Postman发送请求(推荐)

如何根据 cURL 配置 Postman?

将 cURL 示例转换为 Postman 请求,请参考以下对应关系:

  • curl -X POST 或 curl -X GET: 指定 HTTP 请求方法。

  • https://...:API 的请求地址URL。

  • -H 'Key: Value' :指定请求头 (Header),以 键 (Key) - 值 (Value) 的形式展示。

  • -d '{...}':指定请求体 (Body) 的内容。

前提条件

在调用API之前,您需要开通模型服务并获取API Key,下载Postman到本地。

步骤1:创建任务

我们将根据下面的 cURL 命令来配置 Postman。

curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wanx2.1-t2i-turbo",
    "input": {
        "prompt": "一间有着精致窗户的花店,漂亮的木质门,摆放着花朵"
    },
    "parameters": {
        "size": "1024*1024",
        "n": 1
    }
}'    
  1. 配置请求方法、URL、请求头 (Headers)

    • 配置Authorization时,对应的值为Bearer sk-xxxx。请将 sk-xxxx替换为真实的 API Key。

    image

  2. 配置请求体 (Body)

    • 选择 Body -> raw -> JSON,将cURL中的 -d 内容粘贴到输入框。

    • 点击页面右侧的 Beautify 按钮,对body参数进行格式化。

    • 点击send发送请求。

    image

  3. 发送请求并获取 task_id

    • 当请求成功时,您将在响应体中看到 task_id

    image

    说明

    task_id有效期为24小时,超时后将无法查询,请及时使用task_id获取生成的结果。

步骤2:根据task_id查询结果

根据查询结果的cURL 命令,配置Postman。

curl -X GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
  1. 配置请求方法 、URL、请求头 (Headers)

    • 配置URL时,需要将{task_id} 替换为在步骤1中获取的 task_id。

    • 配置Authorization时,对应的值为Bearer sk-xxxx。请将 sk-xxxx替换为真实的 API Key。

    image

    说明

    生成的图像URL有效期为24小时,请及时下载并保存。

方式二:使用cURL发送请求

前提条件

在执行cURL命令之前,您需要:

  • 开通模型服务并获取API Key

  • 确保您的系统中已安装 cURL,并配置API Key到环境变量,方便后续直接引用$DASHSCOPE_API_KEY变量。

    检查是否已安装cURL

    运行以下命令,检查 cURL 是否已安装。

    curl --version

    如果看到类似如下输出,说明cURL已安装:

    curl 8.x.x (x86_64-apple-darwin23.0) libcurl/8.x.x (SecureTransport) LibreSSL/3.3.6 zlib/1.2.12 nghttp2/1.58.0
    Release-Date: 2023-10-11
    Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
    Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL threadsafe UnixSockets

    如果没有安装,可能会给出以下类似提示:

    • Windows: 'curl' 不是内部或外部命令,也不是可运行的程序或批处理文件

    • Linux/macOS: command not found: curl

    替代方案:推荐您使用Postman发送请求

步骤1:创建任务

  • 打开您的终端(Terminal, PowerShell, CMD等),复制以下命令到终端并执行。

    curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis \
        -H 'X-DashScope-Async: enable' \
        -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
        -H 'Content-Type: application/json' \
        -d '{
        "model": "wanx2.1-t2i-turbo",
        "input": {
            "prompt": "一间有着精致窗户的花店,漂亮的木质门,摆放着花朵"
        },
        "parameters": {
            "size": "1024*1024",
            "n": 1
        }
    }'    
  • 成功请求后将返回task_id

    image

    说明

    task_id有效期为24小时,超时后将无法查询,请及时使用task_id获取生成的结果。

步骤2:根据task_id查询结果

  • 将以下命令中的 {task_id} 替换为步骤 1 中获取的任务 ID,复制命令到终端并执行。

    curl -X GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id} \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY"
  • 成功请求后将返回图像 URL。

    image

    说明
    • 由于模型处理时间较长(十几秒到几分钟不等),单次查询可能无法立即获取结果,建议稍作等待后重试几次。

    • 图像URL有效期为24小时,请及时下载。

API异步调用机制

由于图像/视频生成任务耗时较长(十几秒到数分钟不等),HTTP API 采用了异步调用机制。您需要分两步完成操作:

  1. 创建任务:创建任务后,立即获得一个任务 ID(task_id)。

  2. 查询结果:使用该 task_id,轮询查询接口,直到任务完成并获取最终的图像或视频 URL。

HTTP调用示例(文生图)

image

下一步

恭喜您成功生成了第一张图片!接下来,您可以:

  • 深入了解API参数:查看文生图API,了解更多输入输出参数。

  • 体验视频生成:调用首帧生视频API,探索动态内容的创作。

  • 浏览更多模型:访问模型列表,查看阿里云百炼支持的所有图像/视频模型。

  • 在线体验:前往通义万相官网,直接在网页上体验更丰富的图像和视频生成功能。

    说明

    关于官网与API的说明

    • 通义万相官网的功能与 API 支持的能力可能存在差异,业务集成请以 API 文档为准。

    • 部分模型可能仅支持通过 API 调用,无法在官网在线体验。