跳转至

GPT Image 2 图片生成

兼容 OpenAI 图片生成接口标准,可直接使用 OpenAI SDK 或任何兼容客户端调用。

可用模型:

  • gpt-image-2 — 高质量图片生成与编辑

鉴权

所有请求需在 Header 中携带 API Key:

Authorization: Bearer YOUR_API_KEY

接口列表

方法 地址 说明
POST /v1/images/generations 图片生成
POST /v1/images/edits 图片编辑(需传参考图)

图片生成

POST /v1/images/generations

请求格式为 application/json

请求参数

参数 类型 必填 说明
model string 模型编码,如 gpt-image-2
prompt string 生成提示词
n number 输出数量,默认 1
size string 输出尺寸,支持分辨率格式或 auto(默认)
quality string 画质档位:lowmediumhighauto(默认)

请求示例

curl -X POST http://64.186.253.16:35832/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一只站在城市霓虹幕墙前的机械狐狸,电影感光影,细节丰富",
    "size": "1536x1024",
    "quality": "high"
  }'
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))

图片编辑

POST /v1/images/edits

请求格式为 multipart/form-data

请求参数

参数 类型 必填 说明
model string 模型编码,如 gpt-image-2
prompt string 编辑提示词
image file 参考图文件,支持多张
mask file 遮罩图文件,需包含 alpha 通道
size string 输出尺寸,支持分辨率格式或 auto(默认)
quality string 画质档位:lowmediumhighauto(默认)

请求示例

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/source1.png" \
  -F "image=@/path/to/source2.png" \
  -F "size=1024x1024" \
  -F "quality=high"
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(默认):由模型自动决定最佳尺寸
  • 分辨率格式:如 1024x10241536x10242048x20483840x2160 等,支持任意自定义分辨率,只需满足下方约束条件

常用尺寸

尺寸 说明
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": "优化后的提示词"
    }
  ]
}

错误响应

{
  "error": {
    "message": "错误描述"
  }
}
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)