GPT Image 2 图片生成¶
兼容 OpenAI 图片生成接口标准,可直接使用 OpenAI SDK 或任何兼容客户端调用。
可用模型:
gpt-image-2— 高质量图片生成与编辑
鉴权¶
所有请求需在 Header 中携带 API Key:
接口列表¶
| 方法 | 地址 | 说明 |
|---|---|---|
| POST | /v1/images/generations |
图片生成 |
| POST | /v1/images/edits |
图片编辑(需传参考图) |
图片生成¶
请求格式为 application/json。
请求参数¶
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型编码,如 gpt-image-2 |
| prompt | string | 是 | 生成提示词 |
| n | number | 否 | 输出数量,默认 1 |
| size | string | 否 | 输出尺寸,支持分辨率格式或 auto(默认) |
| quality | string | 否 | 画质档位:low、medium、high、auto(默认) |
请求示例¶
import requests
import base64
resp = requests.post(
"http://64.186.253.16:35832/v1/images/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "gpt-image-2",
"prompt": "一只赛博朋克风格的猫",
"size": "1536x1024",
"quality": "high",
},
timeout=600,
)
# 解码 base64 并保存
b64 = resp.json()["data"][0]["b64_json"]
with open("output.png", "wb") as f:
f.write(base64.b64decode(b64))
图片编辑¶
请求格式为 multipart/form-data。
请求参数¶
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型编码,如 gpt-image-2 |
| prompt | string | 是 | 编辑提示词 |
| image | file | 是 | 参考图文件,支持多张 |
| mask | file | 否 | 遮罩图文件,需包含 alpha 通道 |
| size | string | 否 | 输出尺寸,支持分辨率格式或 auto(默认) |
| quality | string | 否 | 画质档位:low、medium、high、auto(默认) |
请求示例¶
import requests
import base64
resp = requests.post(
"http://64.186.253.16:35832/v1/images/edits",
headers={"Authorization": "Bearer YOUR_API_KEY"},
data={
"model": "gpt-image-2",
"prompt": "把背景改成星空",
"size": "1024x1024",
"quality": "high",
},
files=[
("image", ("ref1.png", open("ref1.png", "rb"), "image/png")),
("image", ("ref2.png", open("ref2.png", "rb"), "image/png")),
],
timeout=600,
)
# 解码 base64 并保存
b64 = resp.json()["data"][0]["b64_json"]
with open("edit_output.png", "wb") as f:
f.write(base64.b64decode(b64))
遮罩编辑示例¶
使用 mask 参数指定需要编辑的区域(基于提示词引导,模型会参考遮罩但不一定精确贴合边界):
curl -X POST http://64.186.253.16:35832/v1/images/edits \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "model=gpt-image-2" \
-F "prompt=在泳池中放一只火烈鸟充气玩具" \
-F "image=@/path/to/lounge.png" \
-F "mask=@/path/to/mask.png" \
-F "quality=high"
遮罩要求
遮罩图需与编辑图尺寸和格式一致(小于 50MB),且必须包含 alpha 通道。提供多张参考图时,遮罩应用于第一张图。
尺寸参数(size)¶
支持两种格式:
auto(默认):由模型自动决定最佳尺寸- 分辨率格式:如
1024x1024、1536x1024、2048x2048、3840x2160等,支持任意自定义分辨率,只需满足下方约束条件
常用尺寸¶
| 尺寸 | 说明 |
|---|---|
| 1024x1024 | 正方形 |
| 1536x1024 | 横版 |
| 1024x1536 | 竖版 |
| 2048x2048 | 2K 正方形 |
| 2048x1152 | 2K 横版 |
| 3840x2160 | 4K 横版 |
| 2160x3840 | 4K 竖版 |
| auto | 默认,模型自动选择 |
尺寸约束¶
- 最大边长 ≤ 3840px
- 两边均须为 16px 的倍数
- 长短边比例不超过 3:1
- 总像素数范围:655,360 ~ 8,294,400
实验性功能
超过 2560x1440(约 3,686,400 像素)的输出为实验性功能。正方形图片通常生成最快。
响应格式¶
/v1/images/generations 和 /v1/images/edits¶
{
"created": 1745000000,
"data": [
{
"b64_json": "/9j/4AAQSkZJRg...",
"revised_prompt": "优化后的提示词"
}
]
}
错误响应¶
| HTTP 状态码 | 说明 |
|---|---|
| 400 | 请求参数错误 |
| 401 | 鉴权失败 |
| 402 | 余额不足 |
| 403 | 内容安全策略拦截 |
| 429 | 请求频率超限 |
| 502 | 上游服务异常 |
注意事项¶
gpt-image-2始终以高保真度处理输入图片,编辑请求的输入 token 消耗可能较高
代码示例¶
使用 OpenAI SDK¶
from openai import OpenAI
import base64
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="http://64.186.253.16:35832/v1",
)
# 图片生成
result = client.images.generate(
model="gpt-image-2",
prompt="一只赛博朋克风格的猫",
size="1024x1024",
quality="high",
)
# 解码 base64 并保存
image_bytes = base64.b64decode(result.data[0].b64_json)
with open("output.png", "wb") as f:
f.write(image_bytes)