OpenAI 图片生成 / 编辑
本页覆盖两种能力:- 文生图
POST /v1/images/generations - 图生图 / 编辑
POST /v1/images/edits
gpt-image-2-2026-04-21(在 Azure Foundry 上 2026-04-21 GA)。旧版 gpt-image-1 / gpt-image-1.5 仍可用但能力弱于 gpt-image-2,dall-e-3 已停止维护。
图片生成(文生图)
Content-Type 仅支持application/json。multipart/form-data 会被拒绝。
快速开始
只需替换<API-KEY> 为你的实际 API Key。
图片编辑(图生图)
基于一张或多张参考图 + 可选 mask + prompt,生成编辑后的图片。 两种 Content-Type 都支持,按需选择:multipart/form-data:传统 OpenAI 兼容写法,直接上传本地文件application/json:平台扩展写法,image/mask字段传 URL 或 base64 字符串(业务端接入更方便,不用 form-data 库)
方式 A:multipart/form-data
方式 B:application/json(推荐,接入更简单)
image 是字符串数组,每个元素可以是 http(s):// URL 或 base64 字符串(不要带 data:image/png;base64, 前缀)。mask 是单个字符串,同样规则。平台会自动下载 / 解码,再透传到底层模型。
方式 C:/v1/images/generations + image 字段(平台扩展)
和方式 B 效果完全等价,但 endpoint 是 /v1/images/generations。用途是让业务方用同一个 endpoint 覆盖”文生图 + 图生图”两种用法(参考 doubao-seedream 的接口风格):传 image 字段就是图生图,不传就是文生图。平台会在 provider 层自动把带 image 的 generations 请求转发到 edits 实现。
支持的参数
共用参数(generations / edits)
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 模型名。推荐 gpt-image-2-2026-04-21。也支持 gpt-image-1 / gpt-image-1.5 / gpt-image-1-mini |
prompt | string | 文字描述,必填。GPT image 系列上限 32000 字符(dall-e-3 为 4000,dall-e-2 为 1000) |
n | integer | 生成张数,1 ~ 10,默认 1(dall-e-3 仅支持 n=1) |
size | string | "auto" | 生成图片的尺寸,格式为 宽x高(WIDTHxHEIGHT)。gpt-image-2 / gpt-image-2-2026-04-21:支持任意分辨率,宽和高都必须是 16 的倍数,宽高比需在 1:3 ~ 3:1 之间,例如 1536x864。超过 2560x1440 的分辨率为实验性支持,最大支持到 3840x2160。同时还要满足模型当前的像素和单边限制(见下方尺寸约束)。GPT 图像模型标准尺寸: 1024x1024(方)、1536x1024(横)、1024x1536(纵)均受支持;auto 仅在允许自动选尺寸的模型上可用。dall-e-2: 256x256 / 512x512 / 1024x1024。dall-e-3: 1024x1024 / 1792x1024 / 1024x1792。不传则走模型默认。 |
quality | string | low / medium / high。gpt-image-2 不接受 auto,不传走服务端默认 |
output_format | string | 输出图片格式,GPT image 系列专属:png(默认)/ jpeg / webp,不传走默认 |
output_compression | integer | 输出压缩率 0 ~ 100,默认 100。仅 output_format 为 webp / jpeg 时生效,GPT image 系列专属 |
moderation | string | 内容审核强度,GPT image 系列专属:auto(默认)/ low |
response_format | string | b64_json(默认)或 url。后者会把图转存到云存储并返回签名 URL |
user | string | 业务方用户标识,便于审计 |
图片输入参数(edits 必用;generations 的方式 C 也支持 image)
| 参数 | 类型 | 说明 |
|---|---|---|
image | file / file[](form-data) string / string[](JSON,URL 或 base64) | 参考图。JSON 下多图就是数组;form-data 下同名字段重复即可多图。gpt-image-1/2 家族在 /v1/images/generations 也支持此字段(见方式 C) |
mask | file(form-data) string(JSON,URL 或 base64) | 可选 PNG mask(alpha 通道透明区域表示”编辑此处”),尺寸必须与 image 一致。仅 /v1/images/edits 支持,方式 C 不支持 |
data:image/png;base64, 前缀。
尺寸约束(gpt-image-2)
gpt-image-2 / gpt-image-2-2026-04-21 支持任意 宽x高 分辨率,但必须同时满足以下约束:
- 宽和高都必须是 16 的倍数
- 宽高比需在
1:3~3:1之间 - 单边 ≤ 3840px
- 像素总量在 655,360 ~ 8,294,400 之间(即 ≤ 3840×2160)
- 超过
2560x1440的分辨率为实验性支持,最大支持到3840x2160 - 常用值:
1024x1024(方)/1536x1024(横)/1024x1536(纵)/1536x864等 - 超出约束会被上游 400 拒绝
响应示例
- 当请求
response_format=b64_json(或不传),data[i]里会是b64_json字段 - 当请求
response_format=url,服务端会把图上传到云存储并返回签名 URL usage里output_tokens是按 token 计费的依据(不是按图片张数),参考 OpenAI 官方定价
常见问题
- quality 不要传
auto:gpt-image-2 的 Azure 部署不接受,会返 HTTP 500。显式传low / medium / high,或整个字段留空走服务端默认。 - 不支持
style参数:vivid / natural是dall-e-3专属;gpt-image-1/2 都不支持。 - 不支持
transparent背景(gpt-image-2):OpenAI 官方文档明确不支持透明背景。 - 输入图片限制(edits):推荐 PNG,单文件 < 20MB;多图场景时总量也有上限。
- 耗时预期:quality=low 约 20-30s,medium 约 60-80s,high 约 200s+。按 token 计费,high 耗费显著更高。
- 返回的 URL 有签名过期时间:如果业务侧需要长期保存,建议请求
response_format=b64_json自行落库,或下载 URL 对应图片另存。
应用场景
| 场景 | 推荐 | 提示 |
|---|---|---|
| 广告 / 社媒配图 | generations, quality=medium | 多次生成选最优 |
| 产品原型可视化 | generations, size=1024x1024 | 描述要具体(品类 / 风格 / 视角) |
| 抠图 / 背景替换 | edits + mask | mask 边缘要干净,alpha=0 为”替换处” |
| 风格转换 | edits(不带 mask) | prompt 指明目标风格 |
| 多参考图合成 | edits 多 image | 按数组顺序上传,主体图放第一个 |