异步生图接入说明

先提交任务拿到 task_id,再用同一 API Key 轮询结果。

流程

  1. POST /v1/images/generations/async(请求体与同步生图相同,不要开 stream)
  2. 收到 HTTP 202 与 task_id,保存后继续业务
  3. 每隔 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,按业务决定是否重提

输出尺寸 size

请求体可传 size 指定返回图的像素。模型原生约 1K;当目标尺寸大于原生图时,服务端用 Lanczos 插值放大并居中裁切到目标像素(非 AI 超分,不是原生 4K 超清)。

写法目标像素
1K / 1024x10241024×1024(已达或更大则不缩小)
2K / 2048x20482048×2048
4K / 4096x40964096×4096
3840x2160 等显式 WxH按所写宽高
缺省 / auto / 非法不放大,保持模型原生像素

同步 /v1/images/generations、异步任务轮询结果,以及 edits 路径均适用。