本文介绍使用 Postman 和 cURL 调用阿里云百炼的图像或视频生成 API。以“ 文生图 ”为例,演示从创建任务到获取结果的完整流程。
- Postman:一款界面化的 HTTP 测试工具,操作直观,推荐初学者使用。
- cURL:一个强大的命令行工具,适用于熟悉命令行的开发者。
Postman 和 cURL仅适用于快速测试与功能验证。对于生产环境,建议您使用官方 SDK 或自行实现 HTTP 调用。
API异步调用机制
由于图像与视频生成任务耗时较长(十几秒到数分钟不等),为避免长时间的HTTP连接等待和超时,API采用异步调用机制。整个调用过程分为两步:
- 创建任务:调用 API 创建任务,服务会同步返回一个任务 ID(task_id)。
- 查询结果:使用该 task_id,通过轮询方式查询任务状态,直到任务完成并获取最终的图像或视频 URL。
方式一:使用Postman发送请求(推荐)
如何根据 cURL 配置 Postman?
如何根据 cURL 配置 Postman?
将 cURL 示例转换为 Postman 请求时,各参数存在以下对应关系:
cURL参数 | Postman 界面 | 说明 |
|---|---|---|
| 请求方法下拉框 | 选择 HTTP 请求方法 |
| URL 输入框 | API 的请求地址 |
| Headers标签页 | 配置请求头,以 键 (Key) - 值 (Value) 的形式展示。 |
| Body标签页 | 配置请求体 |
前提条件
在调用API之前,您需要根据地域获取API Key,下载Postman到本地。
步骤1:创建任务
我们将根据下面的 cURL 命令来配置 Postman。
以下为北京地域的base_url,不同地域需配置对应的 base_url。
-
在 Postman 中,单击new或
+按钮创建一个新请求,请求类型选择HTTP。 -
在请求方法下拉菜单中选择POST,并根据您的模型所在地域填入对应的 URL:
- 华北2(北京):
https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis - 新加坡:
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis,请将WorkspaceId替换为真实的获取Workspace ID - 美国(弗吉尼亚):
https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis
各地域支持的模型请参见百炼控制台,当前地域与服务部署范围为系统预设绑定关系,不支持自由组合。
- 华北2(北京):
-
点击Headers标签页,添加以下三个键值对。
Key
Value
说明
在 Postman 的 Headers 标签页中,配置以下关键请求头:X-DashScope-Async 设置为
enable,Authorization 设置为Bearer <your-api-key>,Content-Type 设置为application/json。X-DashScope-Async
enable
启用异步调用
Authorization
Bearer sk-xxx(请将sk-xxx替换为阿里云百炼API Key)
身份验证凭证
Content-Type
application/json
声明请求体为JSON格式
-
配置请求体 (Body)
- 点击 Body 标签页,选中 raw 单选框,然后在右侧的格式下拉菜单中选择JSON,将cURL示例中的
-d后面的 JSON 内容粘贴到输入框。
- 点击 Body 标签页,选中 raw 单选框,然后在右侧的格式下拉菜单中选择JSON,将cURL示例中的
- (可选)点击页面右侧的
Beautify,可以格式化JSON格式,使其更易阅读。
- 点击Send发送请求,并获取
task_id。有效期 24 小时,过期后无法查询,请及时获取结果。
步骤2:根据task_id查询结果
获取到 task_id 后,需要通过查询接口来获取最终结果。
- 华北2(北京):
https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis - 新加坡:
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis,请将WorkspaceId替换为真实的获取Workspace ID - 美国(弗吉尼亚):
https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis
-
在 Postman 中配置查询请求:
- 新建一个HTTP请求。
- 配置请求方法为GET 。
- 根据地域,填入查询URL,将URL中的
{task_id}替换为在步骤1中获取的真实 task_id。 - 在Headers标签页中,添加 Authorization 键,其值与步骤1中使用的 API Key 相同。
- 点击Send发送请求。
- 检查返回结果。重复发送此请求(轮询),直到 task_status 变为 SUCCEEDED,获取图像的URL。图像URL有效期为24小时,请及时下载。
方式二:使用cURL发送请求
熟悉命令行的开发者可使用cURL快速测试API。
前提条件
在执行cURL命令之前,您需要:
- 已开通模型服务并获取API Key。
-
确保您的系统中已安装 cURL,并配置API Key到环境变量,方便后续直接引用
$DASHSCOPE_API_KEY变量。检查是否已安装cURL
运行以下命令,检查 cURL 是否已安装。如果看到类似如下输出,说明cURL已安装:如果没有安装,可能会给出以下类似提示:- Windows:
'curl' 不是内部或外部命令,也不是可运行的程序或批处理文件。 - Linux/macOS:
command not found: curl。
- Windows:
步骤1:创建任务
-
在终端执行以下命令:
以下为北京地域的base_url,不同地域需配置对应的 base_url。
- 成功请求后将返回
task_id。有效期 24 小时,过期后无法查询。请及时获取结果。
步骤2:根据task_id查询结果
-
将以下命令中的
{task_id}替换为步骤 1 中获取的任务 ID,复制命令到终端并执行。以下为北京地域的base_url,不同地域需配置对应的 base_url。
-
当任务处理完成(
task_status为SUCCEEDED)时,响应中将包含图像URL。图像URL有效期为24小时,请及时下载。由于模型处理时间较长(十几秒到几分钟不等),您可能需要轮询本接口。建议每隔3-5秒查询一次,直到
task_status不为RUNNING。