异步生图接入说明
先提交任务拿到 task_id,再用同一 API Key 轮询结果。
流程
POST /v1/images/generations/async(请求体与同步生图相同,不要开stream)- 收到 HTTP
202与task_id,保存后继续业务 - 每隔 3–5 秒
GET /v1/images/tasks/{task_id},直到completed或failed
提交任务
- 方法
- POST
- 路径
/v1/images/generations/async- 鉴权
Authorization: Bearer $API_KEY- Base URL
https://agent1.oraimg.com/v1
图生图用 POST /v1/images/edits/async,字段与同步 edits 一致。
curl -i "$BASE_URL/images/generations/async" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-flare",
"prompt": "极简白色陶瓷花瓶产品摄影",
"n": 1,
"size": "1024x1024"
}'
若 $BASE_URL 已含 /v1,路径写 /images/generations/async。
受理响应 · HTTP 202
{
"id": "imgtask_0123456789abcdef",
"task_id": "imgtask_0123456789abcdef",
"object": "image.generation.task",
"status": "processing",
"created_at": 1761610000,
"expires_at": 1761696400,
"poll_url": "/v1/images/tasks/imgtask_0123456789abcdef"
}
请持久化 task_id。202 只表示已受理,不等于出图成功。
轮询任务
- 方法
- GET
- 路径
/v1/images/tasks/{task_id}- 鉴权
- 必须用提交任务时的同一 API Key
进行中:
{
"id": "imgtask_0123456789abcdef",
"task_id": "imgtask_0123456789abcdef",
"object": "image.generation.task",
"status": "processing",
"created_at": 1761610000,
"expires_at": 1761696400
}
成功时 status 为 completed,图片在 result.data[].url(或 image_url):
{
"task_id": "imgtask_0123456789abcdef",
"status": "completed",
"http_status": 200,
"image_url": "https://…",
"result": {
"created": 1761610120,
"data": [{ "url": "https://…" }]
},
"completed_at": 1761610120,
"expires_at": 1761696520
}
失败时 status 为 failed,读取 error.message。
状态说明
| status | 含义 | 处理 |
|---|---|---|
processing | 排队或生成中 | 继续轮询 |
completed | 成功 | 保存 data[].url / image_url |
failed | 失败 | 记录 error,按业务决定是否重提 |
- 轮询间隔:优先遵循
Retry-After;默认每 3–5 秒一次 - 单任务最长约 30 分钟;结果约保留 24 小时
- 换 Key 查询会 404
输出尺寸 size
请求体可传 size 指定返回图的像素。模型原生约 1K;当目标尺寸大于原生图时,服务端用 Lanczos 插值放大并居中裁切到目标像素(非 AI 超分,不是原生 4K 超清)。
| 写法 | 目标像素 |
|---|---|
1K / 1024x1024 | 1024×1024(已达或更大则不缩小) |
2K / 2048x2048 | 2048×2048 |
4K / 4096x4096 | 4096×4096 |
3840x2160 等显式 WxH | 按所写宽高 |
缺省 / auto / 非法 | 不放大,保持模型原生像素 |
同步 /v1/images/generations、异步任务轮询结果,以及 edits 路径均适用。