GPT Image
gpt-image 系列的生成与编辑(OpenAI 图片接口格式)
GPT Image 系列兼容 OpenAI 图片接口格式,适合已经使用 OpenAI SDK 或 /v1/images/* 路径的项目。当前提供三个模型:gpt-image-2、gpt-image-2.5-sunburst 和 gpt-image-2.5-flare。
接口选择
需要同步返回 base64 或 URL 时使用本页接口。需要提交后轮询、批量生成或后台处理时,使用 异步图片任务。
模型
| 模型 | 定位 | 适合场景 |
|---|---|---|
gpt-image-2.5-sunburst | 注重细节和编辑精度,生成耗时更长 | 商业海报、精细产品图、需要保持视觉一致性的反复编辑 |
gpt-image-2.5-flare | 兼顾画质与速度,适合大多数应用 | 日常出图、批量生成、创意原型 |
gpt-image-2 | 上一代图片生成与编辑模型 | 继续使用现有模型的已接入项目 |
模型定位参考 OpenAI 官方介绍。官方称 Flare 相比 gpt-image-2 画质更好、延迟降低约 50%;实际请求耗时取决于图片尺寸、质量和渠道负载。
三个模型使用相同的接口和请求结构,但 quality 的可选值不同:两个 2.5 模型额外支持 xhigh 和 max。切换回 gpt-image-2 时,请同时将这两个档位改为 low、medium、high 或 auto。
接口概览
| 能力 | 方法 | 路径 | 请求格式 |
|---|---|---|---|
| 图片生成 | POST | /v1/images/generations | application/json |
| 图片编辑 | POST | /v1/images/edits | multipart/form-data |
所有请求都使用:
Authorization: Bearer $API_KEY图片生成
请求体
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | gpt-image-2、gpt-image-2.5-sunburst 或 gpt-image-2.5-flare |
prompt | string | 是 | 图片描述 |
n | integer | 否 | 生成数量,默认 1 |
size | string | 否 | auto 或分辨率,例如 1024x1024 |
quality | string | 否 | 默认 auto;所有模型支持 low、medium、high、auto,两个 2.5 模型额外支持 xhigh、max;见下方 quality 参数 |
background | string | 否 | 不传时使用默认背景处理;传 transparent 时请求透明背景(预览) |
response_format | string | 否 | b64_json 或 url |
curl https://cdn.12ai.org/v1/images/generations \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "一张干净的 SaaS 产品宣传图,浅色背景,真实设备展示",
"size": "1536x1024",
"quality": "high",
"response_format": "url"
}'使用 gpt-image-2.5-flare 时,可以将 quality 提高到 xhigh,也可以保留原来的 high:
curl https://cdn.12ai.org/v1/images/generations \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-flare",
"prompt": "一张干净的 SaaS 产品宣传图,浅色背景,真实设备展示",
"size": "1536x1024",
"quality": "xhigh",
"response_format": "url"
}'需要生成透明背景图片时,在 JSON 请求体中传入 background: "transparent":
curl https://cdn.12ai.org/v1/images/generations \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "一只放在桌面上的白色陶瓷杯,产品主体完整,透明背景",
"background": "transparent",
"size": "1024x1024",
"quality": "high",
"response_format": "url"
}'图片编辑
下面以 gpt-image-2.5-sunburst 的 max 档位为例。三个模型均可使用此编辑接口,但 xhigh 和 max 仅适用于两个 2.5 模型。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | gpt-image-2、gpt-image-2.5-sunburst 或 gpt-image-2.5-flare |
prompt | string | 是 | 编辑说明 |
image[] | file[] | 是 | 一张或多张参考图;多张图片时重复传入 image[] 字段 |
mask | file | 否 | 遮罩图,需要 alpha 通道 |
n | integer | 否 | 输出数量,默认 1 |
size | string | 否 | auto 或分辨率 |
quality | string | 否 | 默认 auto;所有模型支持 low、medium、high、auto,两个 2.5 模型额外支持 xhigh、max;见下方 quality 参数 |
background | string | 否 | 不传时使用默认背景处理;传 transparent 时请求透明背景(预览) |
response_format | string | 否 | b64_json 或 url |
curl https://cdn.12ai.org/v1/images/edits \
-H "Authorization: Bearer $API_KEY" \
-F "model=gpt-image-2.5-sunburst" \
-F "prompt=保留主体,把背景改成明亮的现代办公室" \
-F "image[]=@input.png" \
-F "size=1024x1024" \
-F "quality=max" \
-F "response_format=url"需要透明背景时,传入 background=transparent:
curl https://cdn.12ai.org/v1/images/edits \
-H "Authorization: Bearer $API_KEY" \
-F "model=gpt-image-2" \
-F "prompt=保留主体,移除原背景,输出透明背景图片" \
-F "image[]=@./source.png;type=image/png" \
-F "background=transparent" \
-F "size=1024x1024" \
-F "quality=high" \
-F "response_format=url"多张参考图需要重复传入 image[] 字段:
-F "image[]=@reference-1.png" \
-F "image[]=@reference-2.png"遮罩要求
mask 需要与第一张编辑图尺寸一致,并包含 alpha 通道。多张参考图时,遮罩只应用于第一张图。
quality 参数
图片生成和编辑使用相同的 quality 档位,默认均为 auto:
| 模型 | 支持的 quality |
|---|---|
gpt-image-2 | low、medium、high、auto |
gpt-image-2.5-sunburst | low、medium、high、xhigh、max、auto |
gpt-image-2.5-flare | low、medium、high、xhigh、max、auto |
auto 由模型根据提示词自动选择;xhigh 和 max 是高于 high 的质量档位,max 为最高档。草稿可用 low,成品可比较较高档位的细节、耗时与成本后选择。quality 控制生成质量,输出分辨率由 size 单独指定。
档位定义见 OpenAI 图片生成指南及 Sunburst、Flare 模型文档。
size 参数
size 支持 auto(默认,由模型决定)或自定义分辨率。自定义分辨率需要满足:最大边长不超过 3840px,两边均为 16px 的倍数,长短边比例不超过 3:1,总像素在 655,360 到 8,294,400 之间。
推荐使用以下分辨率,其他分辨率可能耗时更长,甚至超时:
| 比例 | 1K | 2K | 4K |
|---|---|---|---|
1:1 | 1248x1248 | 2048x2048 | 2880x2880 |
5:4 | 1440x1152 | 2240x1792 | 3200x2560 |
4:3 | 1472x1104 | 2304x1728 | 3264x2448 |
3:2 | 1536x1024 | 2496x1664 | 3504x2336 |
16:9 | 1792x1008 | 2560x1440 | 3840x2160 |
2:1 | 1792x896 | 2880x1440 | 3840x1920 |
21:9 | 1904x816 | 3024x1296 | 3696x1584 |
4:5 | 1152x1440 | 1792x2240 | 2560x3200 |
3:4 | 1104x1472 | 1728x2304 | 2448x3264 |
2:3 | 1024x1536 | 1664x2496 | 2336x3504 |
1:2 | 896x1792 | 1440x2880 | 1920x3840 |
9:16 | 1008x1792 | 1440x2560 | 2160x3840 |
响应格式
response_format=b64_json 时返回 base64:
{
"created": 1760000000,
"data": [
{
"b64_json": "<BASE64_IMAGE_DATA>",
"revised_prompt": "优化后的提示词"
}
]
}response_format=url 时返回图片 URL:
{
"created": 1760000000,
"data": [
{
"url": "https://img.example.com/images/example.png",
"revised_prompt": "优化后的提示词"
}
]
}Python 示例
from openai import OpenAI
client = OpenAI(
api_key="sk-xxx",
base_url="https://cdn.12ai.org/v1",
)
result = client.images.generate(
model="gpt-image-2",
prompt="一张干净的 SaaS 产品宣传图,浅色背景,真实设备展示",
size="1536x1024",
quality="high",
response_format="url",
)
print(result.data[0].url)常见错误
| 状态码 | 说明 |
|---|---|
400 | 请求参数错误,常见于 size、quality 或文件格式不正确 |
401 | API Key 缺失或无效 |
402 | 余额不足 |
403 | 内容安全策略拦截 |
429 | 请求频率过高 |
502 | 上游服务异常,可稍后重试 |
