异步图片生成

异步图片生成

适用于生成时间较长的图片任务。提交后异步处理,通过任务 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