外观
ChatGPT 生图 · OpenAI 官方协议
知梦 ChatGPT 生图按照 OpenAI Images API 官方协议接入。除 Base URL、API Key、知梦提供的模型 ID 与本站价格外,请求路径、请求结构与响应处理均按 OpenAI Images API 的方式使用。
REST Base URL:
https://api.zmoapi.cnOpenAI SDK
baseURL:https://api.zmoapi.cn/v1
1. 鉴权
http
Authorization: Bearer YOUR_API_KEYJSON 请求:
http
Content-Type: application/json文件编辑请求使用 multipart/form-data,由 curl / SDK 自动生成 boundary,不要手工写固定 boundary。
2. 当前模型与价格
| 模型 | 知梦模型 ID | 档位 | 价格 |
|---|---|---|---|
| GPT Image 2 | gpt-image-2 | 1K | ¥0.025 / 张 |
| GPT Image 2 | gpt-image-2-2k | 2K | ¥0.1 / 张 |
| GPT Image 2 | gpt-image-2-4k | 4K | ¥0.1 / 张 |
| GPT Image 2.5 Flare | gpt-image-2.5-flare | 1K | ¥0.025 / 张 |
| GPT Image 2.5 Flare | gpt-image-2.5-flare-2k | 2K | ¥0.25 / 张 |
| GPT Image 2.5 Flare | gpt-image-2.5-flare-4k | 4K | ¥0.25 / 张 |
| GPT Image 2.5 Sunburst | gpt-image-2.5-sunburst | 1K | ¥0.025 / 张 |
| GPT Image 2.5 Sunburst | gpt-image-2.5-sunburst-2k | 2K | ¥0.25 / 张 |
| GPT Image 2.5 Sunburst | gpt-image-2.5-sunburst-4k | 4K | ¥0.25 / 张 |
| GPT Image 2 Ext | gpt-image-2-ext | 2K / 4K 超分,非原生 | ¥0.035 / 张 |
| GPT Image 2.5 Ext(默认 Sunburst) | gpt-image-2.5-ext | 2K / 4K 超分,非原生 | ¥0.035 / 张 |
| GPT Image 2.5 Flare AZ | gpt-image-2.5-flare-az | 原生尺寸 / Token 计费 | 标准输入 ¥15 / 输出 ¥90 每百万 Token;分档见下 |
| GPT Image 2.5 Sunburst AZ | gpt-image-2.5-sunburst-az | 原生尺寸 / Token 计费 | 标准输入 ¥15 / 输出 ¥90 每百万 Token;分档见下 |
Ext 使用官方 Images 请求结构,通过 size 指定超分输出尺寸,不追加分辨率后缀,也不增加专用超分字段。查看 Ext 超分完整示例 →
模型后缀与 size
实际输出尺寸由 OpenAI Images API 的 size 参数决定。知梦提供的 1K / 2K / 4K 模型后缀仅用于计费档位和路由区分,不会自动修改 size。开发者应根据实际需求选择对应 size。
3. 官方 Images API 路径
文生图
http
POST /v1/images/generations图片编辑 / 参考图
http
POST /v1/images/edits知梦 ChatGPT 生图不另外创造私有生图路径。
4. 30 秒文生图
cURL
bash
curl 'https://api.zmoapi.cn/v1/images/generations' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "gpt-image-2",
"prompt": "一只橘猫坐在窗边,午后阳光穿过百叶窗,写实摄影",
"size": "1024x1024",
"quality": "medium",
"output_format": "png",
"background": "auto",
"n": 1
}'OpenAI GPT Image 系列的 Image API 返回图片数据时,客户端按 response_format 读取:
text
省略 / b64_json → data[0].b64_json
url → data[0].urlb64_json 为 Base64 图片数据;url 为可直接下载的图片地址,考虑到网速问题,优选返回 url。
命令行直接保存 PNG:
bash
curl -s 'https://api.zmoapi.cn/v1/images/generations' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "gpt-image-2",
"prompt": "一只橘猫坐在窗边,午后阳光穿过百叶窗,写实摄影",
"size": "1024x1024",
"quality": "medium",
"output_format": "png",
"background": "auto",
"n": 1
}' \
| jq -r '.data[0].b64_json' \
| base64 --decode > image.png5. JavaScript(OpenAI SDK)
js
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.ZHM_API_KEY,
baseURL: "https://api.zmoapi.cn/v1",
});
const result = await client.images.generate({
model: "gpt-image-2",
prompt: "一只橘猫坐在窗边,午后阳光穿过百叶窗,写实摄影",
size: "1024x1024",
quality: "medium",
output_format: "png",
background: "auto",
n: 1,
});
const imageBase64 = result.data[0].b64_json;
fs.writeFileSync("image.png", Buffer.from(imageBase64, "base64"));6. Python(OpenAI SDK)
python
import base64
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.zmoapi.cn/v1",
)
result = client.images.generate(
model="gpt-image-2",
prompt="一只橘猫坐在窗边,午后阳光穿过百叶窗,写实摄影",
size="1024x1024",
quality="medium",
output_format="png",
background="auto",
n=1,
)
image_bytes = base64.b64decode(result.data[0].b64_json)
with open("image.png", "wb") as f:
f.write(image_bytes)7. 常用生成参数
以下字段按 OpenAI Images API 的调用习惯组织。具体模型是否支持某个取值,以该模型当前线上能力为准,不要把其他图片模型的专属参数强行套到 GPT Image。
| 字段 | 类型 | 说明 |
|---|---|---|
model | string | 必填,使用知梦提供的模型 ID |
prompt | string | 必填,描述要生成的图片 |
n | integer | 生成数量;通常建议先使用 1 |
size | string | 实际输出尺寸,例如 1024x1024。知梦 1K / 2K / 4K 模型后缀只用于计费和路由,不会自动修改 size |
quality | string | 图像质量档位;GPT Image 2 常用 low / medium / high,也可让模型使用默认行为 |
response_format | string | url / b64_json,适用于按张计费的 1K 模型(gpt-image-2、gpt-image-2.5-flare、gpt-image-2.5-sunburst)。url 返回图片地址,b64_json 返回不带 Data URI 前缀的 Base64;考虑到网速问题,优选返回 url |
output_format | string | png / jpeg / webp |
output_compression | integer | JPEG / WebP 压缩质量;PNG 不需要该字段 |
background | string | auto / opaque / transparent;透明背景必须搭配 PNG 或 WebP |
user | string | 可选,调用方业务用户标识 |
模型档位与 size
知梦用不同模型 ID 区分当前售卖档位,例如 4K 计费应使用 gpt-image-2-4k 或 gpt-image-2.5-sunburst-4k。实际输出尺寸仍由 size 决定,切换模型后缀不会自动修改 size。
8. 输出格式与背景
PNG
json
{
"output_format": "png"
}JPEG
json
{
"output_format": "jpeg",
"output_compression": 90
}WebP
json
{
"output_format": "webp",
"output_compression": 90
}背景模式
OpenAI 当前 Images API 的 background 支持三种策略:
| 值 | 说明 |
|---|---|
auto | 自动,由模型根据提示词选择背景策略 |
opaque | 强制不透明背景 |
transparent | 输出透明背景 |
透明背景使用:
json
{
"background": "transparent",
"output_format": "png"
}也可以将 output_format 设为 webp。透明背景不要使用 JPEG,因为 JPEG 不支持 Alpha 透明通道。
做商品抠图 / 透明素材
如果目标就是得到透明底素材,建议同时在提示词里明确“主体完整、背景透明、不要阴影底板”等要求,并显式传 background: "transparent"。不要只依赖提示词描述“透明背景”。
按张计费的 1K 模型(gpt-image-2、gpt-image-2.5-flare、gpt-image-2.5-sunburst)支持用 response_format 选择 url 或 b64_json 返回,读取时对应 data[].url 与 data[].b64_json。Ext 超分与 AZ 官 Key 渠道不支持该字段,仍按 Base64 处理,不要照搬 Gemini / Banana 的 candidates[] / inlineData 结构。
9. 图片编辑 / 参考图
图片编辑使用:
http
POST /v1/images/edits公网 URL 参考图(JSON)
AZ 渠道例外: gpt-image-2.5-flare-az 与 gpt-image-2.5-sunburst-az 的编辑只接受 multipart image[] 文件上传,URL 须先下载。以下 JSON 示例不适用于 AZ,请使用 AZ 图片编辑示例。
OpenAI 当前 Images Edit 官方协议支持直接在 JSON 请求中提交公网 URL。字段不是 Banana 的字符串数组,也不是 xAI 的 { "type": "image_url", "url": "..." },而是:
json
"images": [
{ "image_url": "https://example.com/reference.png" }
]完整示例:
bash
curl 'https://api.zmoapi.cn/v1/images/edits' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "gpt-image-2",
"prompt": "保留主体外观与构图,将背景改成现代展厅",
"images": [
{ "image_url": "https://example.com/reference.png" }
],
"size": "1024x1024",
"quality": "medium",
"output_format": "png",
"background": "auto"
}'多张 URL 参考图继续向 images 数组添加对象,最多 16 张:
json
{
"images": [
{ "image_url": "https://example.com/person.png" },
{ "image_url": "https://example.com/clothing.png" },
{ "image_url": "https://example.com/background.jpg" }
]
}image_url 必须是完整公网 URL;官方也允许填写完整的 Base64 Data URL(例如 data:image/png;base64,...)。URL 应直接返回图片文件,不能依赖登录 Cookie,也不要填写网页分享地址。详见 OpenAI Create image edit 官方接口。
本地文件参考图(multipart)
bash
curl 'https://api.zmoapi.cn/v1/images/edits' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'model=gpt-image-2' \
-F 'prompt=保留主体外观与构图,将背景改成现代展厅' \
-F 'image[]=@./reference.png' \
-F 'size=1024x1024' \
-F 'quality=medium' \
-F 'output_format=png'结果同样从:
text
data[0].b64_json读取。
10. 多张本地参考图
OpenAI 图片编辑接口可以通过重复的 image[] 字段传入多张图片:
bash
curl 'https://api.zmoapi.cn/v1/images/edits' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'model=gpt-image-2' \
-F 'prompt=第一张作为人物参考,第二张作为服装参考,第三张作为背景参考,生成一张统一风格海报' \
-F 'image[]=@./person.png' \
-F 'image[]=@./clothing.png' \
-F 'image[]=@./background.jpg' \
-F 'size=1024x1024' \
-F 'quality=medium' \
-F 'output_format=png'参考图顺序会影响模型理解,建议在提示词中明确写清“第一张 / 第二张 / 第三张”的用途。
11. Mask 局部编辑
需要局部编辑时,可在编辑接口提交 mask:
bash
curl 'https://api.zmoapi.cn/v1/images/edits' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'model=gpt-image-2' \
-F 'image[]=@./source.png' \
-F 'mask=@./mask.png' \
-F 'prompt=只修改需要重绘的区域,加入一盏暖色台灯' \
-F 'output_format=png'Mask 的尺寸应与被编辑的目标图片对应。客户端不要自行假设任何“黑色必改 / 白色必改”的语义,按 OpenAI 当前 Images Edit 规范准备带透明信息的遮罩文件。
12. 参考图保真度
对于 GPT Image 2,不要为了兼容其他图片模型而自行拼接无依据的私有字段。按照 OpenAI 当前 GPT Image 2 的 Images API 行为提交图片输入即可。
如果你的代码原先为其他 GPT Image 模型使用过 input_fidelity,不要未经验证就将其写死到 gpt-image-2 请求中。
13. 错误处理
常见状态:
| HTTP | 典型原因 | 建议 |
|---|---|---|
| 400 | JSON、尺寸、质量、编辑图片或其他参数不合法 | 查看返回 error.message |
| 401 | API Key 缺失或错误 | 检查 Authorization: Bearer ... |
| 403 | 当前 Key 无模型权限 | 检查模型与令牌权限 |
| 404 | 路径或模型 ID 错误 | 检查 Base URL 与模型名 |
| 429 | 额度、并发或限流 | 降低并发并稍后再试 |
| 500 / 502 / 503 | 服务或上游暂时异常 | 保存错误体和请求信息后再处理 |
创建请求不要无条件自动重试
网络超时或连接断开不能证明上游没有收到生图请求。为了避免重复生成和重复计费,不要对 POST /v1/images/generations 或 /v1/images/edits 做无条件立即重试。
14. GPT Image 2 与 GPT Image 2.5
GPT Image 2
text
gpt-image-2 1K ¥0.025 / 张
gpt-image-2-2k 2K ¥0.1 / 张
gpt-image-2-4k 4K ¥0.1 / 张GPT Image 2.5
目前两个系列:
text
GPT Image 2.5 Flare
GPT Image 2.5 Sunbursttext
gpt-image-2.5-flare 1K ¥0.025 / 张
gpt-image-2.5-flare-2k 2K ¥0.25 / 张
gpt-image-2.5-flare-4k 4K ¥0.25 / 张
gpt-image-2.5-sunburst 1K ¥0.025 / 张
gpt-image-2.5-sunburst-2k 2K ¥0.25 / 张
gpt-image-2.5-sunburst-4k 4K ¥0.25 / 张15. 相关页面
GPT Image 2.5 AZ:官 Key / Token 计费
gpt-image-2.5-flare-az 与 gpt-image-2.5-sunburst-az 使用 Images 接口,文生图为 JSON,参考图编辑为 multipart image[] 文件上传,按实际 Token 计费。以下为人民币 CNY / 百万 Token,两款相同;不与上面的按张价格混用。
| quality | 输入 / 百万 Token | 输出 / 百万 Token |
|---|---|---|
| 省略 / auto / low / medium / high | ¥15 | ¥90 |
| xhigh | ¥18.75 | ¥112.5 |
| max | ¥22.5 | ¥135 |
基础费用 = 输入 Token / 1000000 × 输入单价 + 输出 Token / 1000000 × 输出单价。实际账单还受账户适用倍率等配置影响;auto 按标准档收费,不根据最终返回 quality 改档。使用同一模型 ID 和官方 size,不追加分辨率后缀。