重要:优先使用异步生成接口
图片 Edit 接口不推荐调用。GPT Image 2 的 1K、2K、4K 档位均支持同步和异步生成,耗时较长时优先使用异步接口。
新接入统一推荐POST /v1/images/generations/jobs。POST /v1/images/edits不推荐调用。参考图改图也请使用异步生成接口的 JSONimage或images数组,可传 URL 或 Base64。
图片生成优先使用异步任务:gpt-image-2、gpt-image-2-2K和gpt-image-2-4K都可以调用/v1/images/generations;同步请求会在服务内部等待异步任务完成。批量并发或客户端超时较短时,请使用/v1/images/generations/jobs。
image 数组。
multipart 图片 Edit 接口仅用于兼容旧客户端,不推荐新接入:
gemini-3.1-flash-image-preview和gemini-3-pro-image-preview也使用本页的图片生成接口。推荐通过/v1/images/generations/jobs创建任务,顶层传aspect_ratio、image_size和可选的参考图imageURL 数组;具体示例见 Gemini 图像生成。seedream-5.0走本页的 OpenAI Images 接口,但size填画面比例、resolution选1k或2k。见 Seedream 5.0。
文生图
参考图创作
如果使用远程图片 URL,优先把 OSS 或 CDN 图片 URL 放到异步任务 JSON 的image 数组里。多张网络 URL 做参考图创作、换装、合成或改图时,推荐使用 /v1/images/generations/jobs 创建任务并轮询结果。
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 函数一直等待同步图片请求返回。- 调用
POST /v1/images/generations/jobs创建任务。 - 保存返回的
id、创建时间、请求参数摘要和当前状态。 - 每隔
2-3秒调用GET /v1/images/generations/jobs/{job_id}查询一次。 - 查询到
queued或running时继续等待,并在页面展示处理中状态。 - 查询到
succeeded时读取data数组,展示图片,并把需要长期访问的图片保存到对象存储。 - 查询到
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 图像生成。