重要:优先使用异步生成接口

图片 Edit 接口不推荐调用。GPT Image 2 的 1K、2K、4K 档位均支持同步和异步生成,耗时较长时优先使用异步接口。
新接入统一推荐 POST /v1/images/generations/jobs。POST /v1/images/edits 不推荐调用。参考图改图也请使用异步生成接口的 JSON image 或 images 数组,可传 URL 或 Base64。
gpt-image-2、gpt-image-2-2K 和 gpt-image-2-4K 都可以调用 /v1/images/generations;同步请求会在服务内部等待异步任务完成。批量并发或客户端超时较短时,请使用 /v1/images/generations/jobs。
图片生成优先使用异步任务:
创建任务后保存任务 ID,再轮询查询结果。页面、移动端、Serverless、批量并发和参考图改图场景都建议使用这种方式,避免客户端长时间等待单个同步请求。 同步兼容调用使用:
URL 参考图创作、换装、合成或改图,推荐使用异步任务 JSON 接口,把公网图片 URL 放到 image 数组。 multipart 图片 Edit 接口仅用于兼容旧客户端,不推荐新接入:
gemini-3.1-flash-image-preview 和 gemini-3-pro-image-preview 也使用本页的图片生成接口。推荐通过 /v1/images/generations/jobs 创建任务,顶层传 aspect_ratio、image_size 和可选的参考图 image URL 数组;具体示例见 Gemini 图像生成。 seedream-5.0 走本页的 OpenAI Images 接口,但 size 填画面比例、resolution 选 1k 或 2k。见 Seedream 5.0。

文生图

参考图创作

如果使用远程图片 URL,优先把 OSS 或 CDN 图片 URL 放到异步任务 JSON 的 image 数组里。多张网络 URL 做参考图创作、换装、合成或改图时,推荐使用 /v1/images/generations/jobs 创建任务并轮询结果。
大图建议先通过 OSS/CDN 图片处理 resize 到合适分辨率,例如长边 1024,并确保 URL 在请求期间不会过期。

Base64 参考图

异步 JSON 请求支持直接传本地图片的 Base64,不需要先单独上传。服务会流式解码并上传到临时 COS 存储,再使用参考图 URL 调用渠道。
这里的占位符必须替换为真实图片编码。单图只保留一个数组元素;images 也支持 image_url 对象数组。URL 和 Base64 可以混传,顺序保留,重复图片不合并。一次请求不要同时使用 image、image[] 和 images。 Base64 支持 PNG、JPEG、WebP、GIF,Data URL 前缀应与实际格式一致,也接受无前缀的标准 Base64。默认每张解码后最多 10 MiB,每次最多上传 14 张 Base64 图片、合计 64 MiB;模型和渠道可能有更小的参考图数量限制。 Base64 是输入参考图格式,不是输出格式;上面的 response_format: "url" 仍然返回图片 URL。多张参考图也不表示生成多张结果。完整的单图、多图 curl 示例见 GPT Image 2 文档。

结果读取

图片接口可能返回:
  • 图片 URL。
  • b64_json。
  • 异步任务 ID。
接入时不要只写死一个字段路径。需要长期访问的结果应保存到自己的对象存储。

推荐轮询流程

图片生成、参考图创作和改图任务首推“创建任务 + 轮询结果”。不要让页面、移动端或 Serverless 函数一直等待同步图片请求返回。
  1. 调用 POST /v1/images/generations/jobs 创建任务。
  2. 保存返回的 id、创建时间、请求参数摘要和当前状态。
  3. 每隔 2-3 秒调用 GET /v1/images/generations/jobs/{job_id} 查询一次。
  4. 查询到 queued 或 running 时继续等待,并在页面展示处理中状态。
  5. 查询到 succeeded 时读取 data 数组,展示图片,并把需要长期访问的图片保存到对象存储。
  6. 查询到 failed 时读取 error.message,把任务标记为失败,并允许用户修改 prompt 或参考图后重新提交。
轮询建议设置最长等待时间,例如 3-5 分钟。超过后不要丢弃任务 ID,可以把页面状态显示为“仍在处理中”,稍后继续用同一个任务 ID 查询。用户刷新页面或稍后回来时,也应从你保存的任务 ID 恢复进度。
返回示例:
前端或后端轮询时只在终态停止:succeeded、failed。如果网络请求临时失败,可以等待下一轮继续查询;不要立刻重复创建新任务,避免同一张图被重复生成。

接口选择

gemini-3.1-flash-image-preview 和 gemini-3-pro-image-preview 推荐使用 POST /v1/images/generations/jobs,保存任务 ID 后轮询结果;需要同步等待时使用 POST /v1/images/generations。这两个接口使用 prompt、顶层 aspect_ratio 和 image_size,成功后从 data 读取图片。参见 Gemini 图像生成。