跳转到主要内容
🎉 限时免费 — MiniMax: MiniMax M3 Free 现在体验 🔥

GPT Image(gpt-image-2 / gpt-image-1.5)图像生成 / 编辑(OpenAI Images 原生协议)

模型接口缺省档输出 token(1024x1024 + quality: auto,实测)
gpt-image-2generations / edits196
gpt-image-1.5generations / edits4444
接口能力请求体必填字段
POST /v1/images/generations文生图JSONmodel、prompt
POST /v1/images/edits图生图 / 蒙版编辑(多参考图)multipart/form-datamodel、prompt、image[]

两个模型参数集相同、走同一组接口,仅 model 字段不同;输出 token 数与单价各不相同(见「计费口径」)。

ModelGo 按 OpenAI Images API 的官方路径与请求/响应格式原样接收 gpt-image-2 / gpt-image-1.5 请求,网关负责路由到供应商并计费;由哪家供应商渲染对调用方不可见。图像同步返回,无需轮询。

使用 OpenAI 官方 SDK 时,把 base_url 指向 https://api.modelgo.com/v1、api_key 换成 ModelGo API Key 即可。

1. 创建图像

文生图

POST https://api.modelgo.com/v1/images/generations

bash
curl https://api.modelgo.com/v1/images/generations \
  -H "Authorization: Bearer $MODELGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一只毛茸茸的橘猫坐在阳光下的窗台上,胶片质感",
    "size": "1536x1024",
    "quality": "high",
    "output_format": "png"
  }'

图生图 / 蒙版编辑

POST https://api.modelgo.com/v1/images/edits(multipart/form-data)

bash
curl https://api.modelgo.com/v1/images/edits \
  -H "Authorization: Bearer $MODELGO_API_KEY" \
  -F "model=gpt-image-2" \
  -F "prompt=把背景换成霓虹夜景,保留猫的姿态" \
  -F "image[]=@./cat.png" \
  -F "mask=@./mask.png" \
  -F "size=1024x1024" \
  -F "quality=medium" \
  -F "input_fidelity=high"
  • image[] 可重复出现,一次传入多张参考图。
  • mask 可选,PNG,尺寸必须与第一张 image[] 一致;透明区域为需要重绘的区域。

响应

json
{
  "created": 1757318400,
  "data": [{"b64_json": "iVBORw0KGgoAAAANSUhEUgAA..."}],
  "usage": {
    "input_tokens": 17,
    "input_tokens_details": {"text_tokens": 17, "image_tokens": 0},
    "output_tokens": 5488,
    "output_tokens_details": {"image_tokens": 5488, "text_tokens": 0},
    "total_tokens": 5505
  }
}

图像始终以 data[].b64_json(base64)返回。保存到文件:

bash
curl -s https://api.modelgo.com/v1/images/generations \
  -H "Authorization: Bearer $MODELGO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model":"gpt-image-2","prompt":"a red ball on a wooden table"}' \
  | python3 -c 'import sys,json,base64; open("out.png","wb").write(base64.b64decode(json.load(sys.stdin)["data"][0]["b64_json"]))'

2. 参数说明

字段类型适用说明
modelstring全部gpt-image-2 / gpt-image-1.5
promptstring全部必填。画面内容描述;edits 中描述要如何修改
image[]fileedits必填。一张或多张参考图(png / jpeg / webp)
maskfileedits可选。PNG 蒙版,尺寸与图像一致,透明区域为重绘区
input_fidelitystringedits对参考图的保真度,low / high
nint全部生成张数,缺省 1
sizestring全部1024x1024 / 1536x1024 / 1024x1536 / auto,缺省 auto。更大尺寸取决于供应商是否提供
qualitystring全部low / medium / high / auto,缺省 auto。直接决定输出 token 数
output_formatstring全部png / jpeg / webp
output_compressionint全部0–100,仅对 jpeg / webp 生效
backgroundstring全部opaque / transparent / auto
moderationstring全部内容审核强度,透传
  • response_format 不适用于 gpt-image 系列。 网关会在转发前剥离该字段,不报错;图像始终以 b64_json 返回,不提供 url 形态。
  • size / quality 不在上表内、缺 prompt → HTTP 400,不计费。
  • 按可交付档位选路。 网关只把请求交给能按所声明 size / quality 交付的供应商;若当前无供应商能出该档位,返回 400,不产生费用。

输出 token 参考(实测)

模型sizequalityoutput_tokens_details.image_tokens
gpt-image-21024x1024auto(缺省)196
gpt-image-21536x1024high5488
gpt-image-1.51024x1024auto(缺省)4444

输出 token 由模型、尺寸与质量档共同决定:gpt-image-2 的 high 档比缺省档高一个数量级以上;同为缺省档,gpt-image-1.5 的输出 token 是 gpt-image-2 的 20 倍以上。两个模型的 token 数与单价都不同,换模型前请核算成本。

3. 完整示例(Python,OpenAI 官方 SDK)

python
import base64, os
from openai import OpenAI

client = OpenAI(api_key=os.environ["MODELGO_API_KEY"], base_url="https://api.modelgo.com/v1")

# 文生图
r = client.images.generate(model="gpt-image-2", prompt="一只橘猫坐在窗台上,胶片质感",
                           size="1536x1024", quality="high", output_format="png")
open("cat.png", "wb").write(base64.b64decode(r.data[0].b64_json))
print(r.usage.output_tokens_details.image_tokens)

# 图生图(蒙版编辑)
with open("cat.png", "rb") as img, open("mask.png", "rb") as mask:
    e = client.images.edit(model="gpt-image-2", prompt="把背景换成霓虹夜景",
                           image=[img], mask=mask, size="1024x1024", quality="medium")
open("cat-neon.png", "wb").write(base64.b64decode(e.data[0].b64_json))

4. 计费口径

  • 按 token 计费,三个价目:文本输入(input)、图像输入(image_input)、图像输出(image_output),单位为每百万 token。输出中的图像部分按 image_output 单价计。
  • gpt-image-2 与 gpt-image-1.5 各有独立价卡,且同一档位的输出 token 数差异显著(缺省档 196 对 4444),同一请求在两个模型上的费用不可互推。
  • 请求时预授权冻结,响应返回后按 usage 中的实际 token 结算:input_tokens_details.text_tokens → input,input_tokens_details.image_tokens → image_input,output_tokens_details.image_tokens → image_output。
  • 请求被拒(400)或生成失败不计费,预授权自动释放。
  • 各价目以控制台「模型列表」中的价格为准。

常见错误

现象原因处理
返回 400size / quality 不在参数表内;缺 prompt;edits 缺 image[] 或 mask 尺寸与图像不一致;当前无供应商能出所请求档位按参数表修正或换档位
传了 response_format: "url" 仍返回 b64_jsongpt-image 系列不支持该字段,网关静默剥离从 data[].b64_json 解码保存
返回 429触发速率限制退避重试;如需更高配额联系平台
返回 401API Key 无效或未带 Authorization 头核对 Key