Skip to content

GPT-Image-2 对接

GPT-Image-2 通过知梦 NewAPI 网关提供。应用直连 Base URL:

text
https://api.zmoapi.cn/v1

请求头:

http
Authorization: Bearer 你的知梦 API Key

真实模型名与路由

对外模型名统一为:

text
gpt-image-2

1K、2K、4K 和备用线路是知梦侧的 Key 分组与上游渠道路由,外部请求仍传 gpt-image-2。不要自行把模型名改成 gpt-image-2-2kgpt-image-2-4k

知梦 Key 所属分组请求里的 model
生图模型(1K)gpt-image-2
生图模型2Kgpt-image-2
生图模型4Kgpt-image-2
生图备用gpt-image-2

如果要接入自己的 NewAPI,渠道 Base URL 填 https://api.zmoapi.cn,不要带 /v1;模型映射默认留空。详见 NewAPI 渠道对接

先确认 Key 能看到模型

bash
curl https://api.zmoapi.cn/v1/models \
  -H "Authorization: Bearer 你的知梦 API Key"

响应中必须包含 gpt-image-2。如果没有,先检查这个 Key 的分组与模型权限,不要继续修改请求参数。

文生图

bash
curl https://api.zmoapi.cn/v1/images/generations \
  -H "Authorization: Bearer 你的知梦 API Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一张高级电商宣传海报,白底产品摄影,真实光影,高级排版",
    "size": "1024x1024",
    "quality": "auto",
    "n": 1
  }'

成功时读取:

json
{
  "data": [
    {
      "url": "https://..."
    }
  ]
}

部分上游可能返回 b64_json,调用方需要 Base64 解码并保存为图片。

图生图:上传文件

GPT-Image-2 图生图使用 /v1/images/edits。不要把本地路径写进 JSON,也不要给上传请求手工设置 Content-Type: application/json

bash
curl https://api.zmoapi.cn/v1/images/edits \
  -H "Authorization: Bearer 你的知梦 API Key" \
  -F "model=gpt-image-2" \
  -F "prompt=参考图片主体不变,改成高级商业海报风格,画面真实,细节清晰" \
  -F "size=1024x1024" \
  -F "quality=auto" \
  -F "n=1" \
  -F "image=@input.png"

多张参考图推荐使用官方兼容的 image[] 字段:

bash
curl https://api.zmoapi.cn/v1/images/edits \
  -H "Authorization: Bearer 你的知梦 API Key" \
  -F "model=gpt-image-2" \
  -F "prompt=参考图1作为人物,参考图2作为产品,生成一张电商主图" \
  -F "image[]=@person.png" \
  -F "image[]=@product.png" \
  -F "n=1"

JavaScript 示例

js
import fs from "node:fs";
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.ZMO_API_KEY,
  baseURL: "https://api.zmoapi.cn/v1",
  timeout: 600_000,
});

const result = await client.images.edit({
  model: "gpt-image-2",
  prompt: "参考图主体不变,生成高级电商海报",
  image: fs.createReadStream("./input.png"),
  size: "1024x1024",
  n: 1,
});

console.log(result.data[0].url ?? result.data[0].b64_json);

Python 示例

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["ZMO_API_KEY"],
    base_url="https://api.zmoapi.cn/v1",
    timeout=600.0,
)

with open("input.png", "rb") as image:
    result = client.images.edit(
        model="gpt-image-2",
        prompt="参考图主体不变,生成高级电商海报",
        image=image,
        size="1024x1024",
        n=1,
    )

print(result.data[0].url or result.data[0].b64_json)

图生图上传失败排查

  1. 确认接口是 /v1/images/edits,不是 /v1/images/generations
  2. 确认请求为 multipart/form-data;让 curl -F 或 SDK 自动生成 boundary。
  3. 单图优先使用 image,多图优先使用 image[]
  4. 确认模型名就是 gpt-image-2
  5. 先调用 /v1/models,确认当前 Key 所属分组已开放该模型。
  6. 客户端超时建议设为 600 秒以上。

知梦AI文档中心