GPT Image 2 与 Gemini 图片生成 API|ApiPorter

通过 OpenAI 兼容 Images API 使用 GPT Image 2,或通过 Gemini 原生 API 使用 Nano Banana 系列模型。

本页包含两套彼此独立的图片生成协议:GPT Image 2 使用 OpenAI 兼容 Images API,Gemini 图片模型使用原生 generateContent。两者共用 ApiPorter API Key,但请求与响应格式不能混用。

gpt-image-2 使用 OpenAI 兼容的 /v1/images/generations 与 /v1/images/edits 协议。

gemini-3-pro-image 与 gemini-3.1-flash-image 使用 Gemini 原生 generateContent 协议。

复制示例前请先选择模型系列;不要向 GPT 端点发送 Gemini 字段,也不要向 Gemini 端点发送 GPT Images 字段。

1. GPT Image 2 — OpenAI 兼容 Images API

通过 gpt-image-2 生成 PNG,或基于公网 URL、本地上传的参考图进行编辑。每个请求返回一张图片,支持 medium / high 画质、签名 URL 或 base64 输出,以及可选 SSE。

选择入口和模式

  • 普通同步 JSON 请求使用 https://www.apiporter.com/v1。
  • 长时间请求继续使用 https://www.apiporter.com/v1,并设置 stream=true。

请在提交前选定请求模式,不要在请求进行中跨域重定向 POST。

同步请求

curl https://www.apiporter.com/v1/images/generations \
  -H "Authorization: Bearer YOUR_APIPORTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "黎明时安静的湖畔木屋,电影感自然光",
    "n": 1,
    "quality": "medium",
    "size": "1024x1024",
    "response_format": "url",
    "output_format": "png"
  }'

URL 响应包含一个一小时后过期的 ApiPorter 私有签名链接:

{"created":1710000000,"data":[{"url":"https://example.com/v1/images/assets/.../content?expires=...&signature=..."}]}

将 response_format 设为 b64_json,可直接获得验证后的 PNG,而不持久化 API 输出对象。

计费以请求中的实际画质和尺寸为准,最终费用会记录在用量日志中。

编辑参考图

向 POST /v1/images/edits 传入一个或多个公网可访问的 HTTP(S) 图片 URL;images 数组每一项只包含一个 image_url。

curl https://www.apiporter.com/v1/images/edits \
  -H "Authorization: Bearer YOUR_APIPORTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "把背景改成干净的白色摄影棚",
    "images": [{"image_url": "https://example.cn/input.png"}],
    "size": "2048x2048",
    "response_format": "url"
  }'

也可以通过 multipart/form-data 上传一个本地 PNG、JPEG 或 WebP 文件:

curl https://www.apiporter.com/v1/images/edits \
  -H "Authorization: Bearer YOUR_APIPORTER_API_KEY" \
  -F "model=gpt-image-2" \
  -F "prompt=把背景改成干净的白色摄影棚" \
  -F "image=@/path/to/input.png" \
  -F "size=2048x2048" \
  -F "response_format=url"

multipart 请求必须且只能包含一个 PNG、JPEG 或 WebP 文件,总请求体不得超过 20 MiB。参考图 URL 在上游读取期间必须保持可访问;ApiPorter 不会把参考图输入保存为输出资产。

流式请求

curl -N https://www.apiporter.com/v1/images/generations \
  -H "Authorization: Bearer YOUR_APIPORTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-image-2","prompt":"一只白猫在雨中的霓虹街道上奔跑","n":1,"quality":"high","size":"1024x1024","response_format":"url","stream":true}'

SSE 注释只是传输保活,不代表模型已经输出。收到 image_generation.completed 和 data: [DONE] 后结束。

支持字段

  • model:必填,目前只能是 gpt-image-2。
  • prompt:必填,最多 32,000 个 Unicode 字符。
  • n:可选,目前只能是 1。
  • quality:默认 medium,也可以使用 high。
  • size:WIDTHxHEIGHT,宽高均为 16 的倍数,最大边 3840 px,宽高比不超过 3:1,总像素范围为 0.66–8.29 MP。
  • response_format:默认 url,也可以使用 b64_json。
  • output_format:目前只支持 png。
  • stream:可选布尔值。
  • images:JSON 编辑接口必填,每项包含公网 HTTP(S) image_url。
  • image:multipart 编辑输入,必须且只能上传一个 PNG、JPEG 或 WebP 文件。

图片生成请求不接受参考图。编辑接口支持公网 URL 或一个 multipart 本地文件;多个上传文件、data/base64 输入、mask、input_fidelity、变体、局部图及未知字段都会被拒绝。校验或上游失败会返回错误,不会伪装成成功图片。

请使用普通 ApiPorter API Key;启用模型限制时,必须包含 gpt-image-2。

2. Gemini 图片 — Gemini 原生 API

Nano Banana Pro 与 Nano Banana 2 使用 Gemini 原生请求和响应格式,不使用 /v1/images/generations。

端点与长请求模式

  • 同步:POST https://www.apiporter.com/v1beta/models/{model}:generateContent
  • 生图推荐:POST https://www.apiporter.com/v1beta/models/{model}:streamGenerateContent?alt=sse

Gemini 原生请求请使用 ApiPorter 主域名;耗时较长的生图任务优先使用流式端点。

流式请求

以下示例使用 Nano Banana 2;把 URL 中的模型替换为 gemini-3-pro-image 即可使用 Nano Banana Pro。

curl -N "https://www.apiporter.com/v1beta/models/gemini-3.1-flash-image:streamGenerateContent?alt=sse" \
  -H "x-goog-api-key: YOUR_APIPORTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{"text": "Create a clean blue circle centered on a white background. No text."}]
    }],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"],
      "imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
    }
  }'

响应格式

每个 SSE data 事件都是 Gemini 原生 JSON,也可能包含文本 part。图片 base64 位于 candidates[].content.parts[].inlineData.data,MIME 类型位于 inlineData.mimeType;收到 finishReason=STOP 或连接关闭后结束,Gemini 不会出现 GPT 的 image_generation.completed 事件。

模型、分辨率与预估价格

模型分辨率预估每张价格
Nano Banana Pro1K / 2KUS$0.06720
Nano Banana Pro4KUS$0.12000
Nano Banana 20.5KUS$0.02241
Nano Banana 21KUS$0.03360
Nano Banana 22KUS$0.05040
Nano Banana 24KUS$0.07560

imageSize 中的 K 必须大写。以上为单张图片预估价格,最终费用会记录在用量日志中。

通过 x-goog-api-key 传入普通 ApiPorter API Key。该密钥必须包含 Gemini 图片分组;启用模型限制时,还必须包含所选 Gemini 图片模型。