Skip to main content
GPT Image 2.5 是 OpenAI 的图像生成与编辑模型,通过 Upmore API 以两个等价模型名提供:gpt-image-2.5-flare 与 gpt-image-2.5-sunburst。两者参数、限制、返回结构完全一致,任选其一即可。 它由两个端点覆盖:

参数怎么传

两个端点用的是同一套参数,区别只在端点和请求编码方式。 图生图端点有两种可互换的传法,按你手上有什么选:
  • 手上有图片字节(本地文件,或从别的接口拿到的文件)→ 用 multipart/form-data 上传文件。
  • 手上有 URL(TOS、R2 等对象存储、CDN 链接,或内联 base64)→ 用 application/json 配 images[].image_url。

核心能力

  • 文生图 — 根据自然语言提示词生成图像
  • 图生图 — 用提示词编辑已有图片,可上传文件、也可传 URL
  • 多张输入图 — 单次编辑最多 16 张参考图
  • 蒙版编辑 — 通过蒙版把修改限制在指定区域
  • 灵活分辨率 — 任意尺寸,最高 4K;不传 size 时由模型自行选择分辨率
  • 透明背景 — background: "transparent",适合产出抠图素材
  • 批量生成 — 通过 n 单次最多生成 10 张
  • 流式预览 — 渲染过程中即可拿到中间帧

输出规格

文生图

图生图

上传文件

把图 POST 到 /v1/images/edits,格式为 multipart/form-data:原图放在 image 文件字段,指令放在 prompt 表单字段,其余参数(size、quality、n 等)都作为普通表单字段、以字符串值传递。
multipart 里的 image 必须是真实文件。传 URL 字符串会被拒:Invalid type for 'image': expected one of an array of files or file, but got a string instead. 要用 URL 请改用下面的 JSON 形式。

传 URL

改用 application/json,把图片放进 images —— 一个对象数组,每个对象带 image_url。图片已经在某处可访问时(TOS、R2、CDN,或内联 data: URL)就用这种形式。
image_url 接受哪些值:
上游 schema 里还有 image_url 的替代项 file_id,但 Upmore 未开放文件上传接口,实际只能使用 image_url。

多张参考图

单次请求最多 16 张输入图。multipart 用 image[] 重复文件字段,JSON 往 images 里多加几个对象。
每张输入图都会按自身分辨率计入 usage.input_tokens_details.image_tokens —— 1024×1024 的图约为 1,024 个 token。传 16 张就按 16 张计费。

蒙版编辑

传 mask 可把修改限制在指定区域。蒙版必须是带 alpha 通道的 PNG,且与原图像素尺寸完全一致:透明像素表示允许模型重绘的区域,不透明区域保持不变。
蒙版尺寸与原图不一致会报 Invalid mask image format - mask size does not match image size;没有 alpha 通道会报 Invalid mask image format - mask image missing alpha channel。

流式输出

设置 stream: true 后返回 Server-Sent Events:先推送最多 partial_images 个预览帧,最后必定以 completed 事件给出成品图。如果不传 partial_images,或图片在预览帧生成完之前就已完成,你可能只会收到 completed 事件。

参数说明

文生图(/v1/images/generations)

图生图(/v1/images/edits)

文生图的参数全部适用,另加:
不支持 response_format 与 input_fidelity。图像数据始终以 base64 形式返回在 data[].b64_json 中;output_format 不接受 webp。

响应结构

图生图时,usage.input_tokens_details.image_tokens 会计入源图,因此相同尺寸与质量下比文生图更贵。

限制与错误码

不满足约束的请求会立即返回 HTTP 400,并给出明确原因:
上游还会对提示词与图片的组合做安全审查。被拒时返回 Your request was rejected by the safety system… 并附带一个 Azure request ID;换一组输入重试通常即可通过,若持续被拒,该 ID 是提交 Azure 支持工单所需的信息。

API 参考

查看可交互的 API Playground。