异步图片生成
适用于生成时间较长的图片任务。提交后异步处理,通过任务 ID 查询状态和下载结果。
前提条件
- 在「控制台 → 异步图片」开启功能
- 使用开启异步图片功能时绑定的 API Key
端点
https://api.123.com/v1/images/async
创建任务
请求
POST /v1/images/async
Authorization: Bearer sk-xxxx
Content-Type: application/json
{
"prompt": "一只猫坐在窗台上",
"model": "dall-e-3",
"n": 1,
"size": "1024x1024"
}
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| prompt | string | 是 | 图片描述 |
| model | string | 否 | 模型名称 |
| n | int | 否 | 生成数量,默认 1 |
| size | string | 否 | 图片尺寸,如 1024x1024 |
响应
{
"task_id": "img_abc123",
"status": "pending"
}
查询任务状态
GET /v1/images/async/img_abc123
Authorization: Bearer sk-xxxx
响应
{
"task_id": "img_abc123",
"status": "completed",
"image_url": "https://..."
}
状态说明
| 状态 | 含义 |
|---|---|
| pending | 排队中 |
| processing | 生成中 |
| completed | 已完成 |
| failed | 生成失败 |
下载结果
任务完成后,通过以下地址下载(需鉴权):
GET /v1/images/async/img_abc123/content
Authorization: Bearer sk-xxxx
返回 302 重定向到图片的实际存储地址。
频率限制
- 每用户每分钟最多创建 10 个任务
- 任务完成后图片下载链接有效期 5 分钟
curl 示例
# 创建任务
curl -X POST https://api.123.com/v1/images/async \
-H "Authorization: Bearer sk-xxxx" \
-H "Content-Type: application/json" \
-d '{"prompt":"一只猫坐在窗台上","model":"dall-e-3","size":"1024x1024"}'
# 查询状态
curl https://api.123.com/v1/images/async/img_abc123 \
-H "Authorization: Bearer sk-xxxx"
# 下载图片
curl -L https://api.123.com/v1/images/async/img_abc123/content \
-H "Authorization: Bearer sk-xxxx" -o result.png