Documentation Index
Fetch the complete documentation index at: https://docs.apiyi.com/llms.txt
Use this file to discover all available pages before exploring further.
gpt-image-2-all API 接入文档
APIYI.com · 2026-04
gpt-image-2-all 是 APIYI 平台上线的一款 GPT 图像生成官逆模型。定价 $0.03/张,按次计费,约 30 秒出图,支持 文生图 / 多图编辑 / 自然语言改图,文字还原度高、内容限制少。
本文介绍如何通过 APIYI 的 HTTP API 调用这个模型。
一、模型概览
| 维度 | 参数 |
|---|
| 模型名 | gpt-image-2-all |
| 性质 | 官方逆向(官逆) |
| 定价 | $0.03 / 张,按次计费 |
| 速度 | 约 30 秒 |
| 输出分辨率 | 无显式 size 参数,由模型自适应 |
| 默认响应格式 | url(R2 CDN 加速链接),可自定义改为 b64_json |
| 中文提示词 | ✅ 支持 |
| 支持能力 | 文生图、单图编辑、多图融合编辑、自然语言改图 |
二、认证
所有请求使用 Bearer Token 鉴权:
Authorization: Bearer <你的 APIYI 令牌>
令牌在 APIYI 控制台创建。本模型兼容所有常规类型的令牌。
三、端点一览
| 端点 | 用途 | Content-Type |
|---|
POST https://api.apiyi.com/v1/images/generations | 文生图 | application/json |
POST https://api.apiyi.com/v1/images/edits | 图片编辑(单图/多图) | multipart/form-data |
POST https://api.apiyi.com/v1/chat/completions | 对话式(支持多轮 + 参考图) | application/json |
你也可以把 api.apiyi.com 替换为 b.apiyi.com / vip.apiyi.com 等平台提供的其他网关域名,响应行为一致。
四、文生图 /v1/images/generations
4.1 请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|
model | string | 是 | 固定填 gpt-image-2-all |
prompt | string | 是 | 提示词,尺寸/比例/风格请在此描述 |
response_format | enum | 否 | url(默认,返回 R2 CDN 链接)或 b64_json |
⚠️ 本模型 不接受 size、n、quality、aspect_ratio 等字段。尺寸请写进 prompt。
4.2 请求示例
curl -X POST 'https://api.apiyi.com/v1/images/generations' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <你的令牌>' \
-d '{
"prompt": "模型:gpt-image-2-all/给我生成一张一位女士直播截图在卖api",
"model": "gpt-image-2-all"
}'
想要指定比例或分辨率,直接写进 prompt,例如:
横版 16:9 电影画幅,黄昏时的海边老灯塔
竖版 9:16 手机壁纸,赛博朋克城市雨夜
1024×1024 方形 LOGO,极简猫咪线条
4.3 响应示例
url 模式(默认,R2 CDN 全球加速):
{
"data": [
{
"url": "https://r2cdn.copilotbase.com/r2cdn2/00aaa9fb-756c-4119-a4a0-4a44fc75152b.png"
}
]
}
b64_json 模式(需显式 "response_format": "b64_json"):
{
"data": [
{
"b64_json": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
]
}
⚠️ 兼容性提示:b64_json 字段本身已经包含 data:image/png;base64, 前缀,可直接赋给 HTML <img src> 或写入文件;无需再手动拼接 data:image/...;base64,。与部分旧版 OpenAI 兼容模型不同,请留意。
五、图片编辑 /v1/images/edits
用于「基于一张或多张参考图改图 / 融合生成」。必须使用 multipart/form-data。
5.1 请求字段
| 字段 | 类型 | 必填 | 说明 |
|---|
model | text | 是 | gpt-image-2-all |
prompt | text | 是 | 改图/融合的自然语言描述 |
image[] | file | 是 | 参考图,可重复多次(数组字段) |
response_format | text | 否 | url(默认)或 b64_json |
5.2 单图编辑
curl -X POST 'https://api.apiyi.com/v1/images/edits' \
-H 'Authorization: Bearer <你的令牌>' \
-F 'model=gpt-image-2-all' \
-F 'prompt=把背景换成海边黄昏' \
-F 'response_format=url' \
-F 'image[]=@./photo.png'
5.3 多图融合
curl -X POST 'https://api.apiyi.com/v1/images/edits' \
-H 'Authorization: Bearer <你的令牌>' \
-F 'model=gpt-image-2-all' \
-F 'prompt=把图1的人物放进图2的场景,参考图3的画风' \
-F 'response_format=b64_json' \
-F 'image[]=@./ref1.png' \
-F 'image[]=@./ref2.png' \
-F 'image[]=@./ref3.png'
响应格式与 /v1/images/generations 相同。
六、对话式端点 /v1/chat/completions
与 OpenAI Vision 一致的消息格式,适合 多轮改图 / 聊天式 UI。
6.1 纯文本生成
curl -X POST 'https://api.apiyi.com/v1/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <你的令牌>' \
-d '{
"model": "gpt-image-2-all",
"messages": [
{ "role": "user", "content": "横版 16:9,赛博朋克雨夜街景,霓虹招牌写着 Hello World" }
]
}'
6.2 携带参考图
curl -X POST 'https://api.apiyi.com/v1/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <你的令牌>' \
-d '{
"model": "gpt-image-2-all",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "把这张图改成水彩画风" },
{ "type": "image_url", "image_url": { "url": "https://example.com/photo.png" } }
]
}
]
}'
image_url.url 支持两种形式:
- HTTPS URL:
https://...
- Data URL:
data:image/png;base64,....
七、代码示例
7.1 Python
文生图:
import requests
resp = requests.post(
"https://api.apiyi.com/v1/images/generations",
headers={"Authorization": "Bearer <你的令牌>"},
json={
"model": "gpt-image-2-all",
"prompt": "横版 16:9 日落海边的老灯塔",
"response_format": "url"
},
timeout=300 # 保守值,吸收长尾 + 图片上传/下载耗时
)
image_url = resp.json()["data"][0]["url"]
print(image_url)
图片编辑:
import requests
with open("photo.png", "rb") as f1, open("style.png", "rb") as f2:
resp = requests.post(
"https://api.apiyi.com/v1/images/edits",
headers={"Authorization": "Bearer <你的令牌>"},
data={
"model": "gpt-image-2-all",
"prompt": "把图1的人物换成图2的画风",
"response_format": "b64_json"
},
files=[
("image[]", ("ref1.png", f1, "image/png")),
("image[]", ("ref2.png", f2, "image/png"))
],
timeout=300 # 保守值,吸收长尾 + 图片上传/下载耗时
)
b64 = resp.json()["data"][0]["b64_json"]
# b64 已含 "data:image/png;base64," 前缀,可直接用于 <img src>
import fs from 'node:fs';
const form = new FormData();
form.append('model', 'gpt-image-2-all');
form.append('prompt', '把背景换成太空');
form.append('response_format', 'url');
form.append('image[]', new Blob([fs.readFileSync('./photo.png')]), 'photo.png');
const resp = await fetch('https://api.apiyi.com/v1/images/edits', {
method: 'POST',
headers: { 'Authorization': 'Bearer <你的令牌>' },
body: form
});
const data = await resp.json();
console.log(data.data[0].url);
7.3 浏览器 JavaScript
// 文生图
const resp = await fetch('https://api.apiyi.com/v1/images/generations', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer <你的令牌>'
},
body: JSON.stringify({
model: 'gpt-image-2-all',
prompt: '1024x1024 方形 LOGO,极简猫咪线条',
response_format: 'b64_json'
})
});
const { data } = await resp.json();
document.getElementById('result').src = data[0].b64_json;
编辑(上传 File 对象):
// input type="file" multiple
const files = document.getElementById('fileInput').files;
const form = new FormData();
form.append('model', 'gpt-image-2-all');
form.append('prompt', '把这几张图融合成一张海报');
form.append('response_format', 'url');
for (const f of files) form.append('image[]', f);
const resp = await fetch('https://api.apiyi.com/v1/images/edits', {
method: 'POST',
headers: { 'Authorization': 'Bearer <你的令牌>' },
body: form
});
const { data } = await resp.json();
document.getElementById('result').src = data[0].url;
7.4 OpenAI SDK(chat 端点)
from openai import OpenAI
client = OpenAI(
api_key="<你的令牌>",
base_url="https://api.apiyi.com/v1"
)
resp = client.chat.completions.create(
model="gpt-image-2-all",
messages=[{
"role": "user",
"content": "生成一张横版 16:9 的国画风格水墨山水"
}]
)
print(resp.choices[0].message.content)
八、尺寸与比例控制建议
本模型没有 size 参数,尺寸通过 prompt 描述。以下写法经验证较稳定:
| 需求 | 推荐写法 |
|---|
| 方形 | 1024×1024 方图 / 1:1 方形构图 |
| 横版 | 横版 16:9 / 宽屏 16:9 电影画幅 |
| 竖版 | 竖版 9:16 / 手机海报 9:16 |
| 超宽横幅 | 横幅 21:9 超宽银幕 |
| 经典印刷 | 4:3 标准画幅 / 3:2 经典画幅 |
技巧:在 prompt 开头 描述尺寸/构图,模型遵循度更高。
九、错误码与重试
模型走 APIYI 标准错误体系,常见:
| 状态码 | 含义 | 建议 |
|---|
401 | 令牌无效 | 检查 Bearer Token |
429 | 限流/额度不足 | 指数退避重试 |
5xx | 网关/后端临时错误 | 重试 1–2 次 |
超时 | 官逆高峰偶发 + 图片上传/下载长尾 | 客户端设置 ≥ 300s 超时(保守值) |
建议客户端:
- 请求超时 300 秒 起步(保守值;官方典型 30s,但叠加图片上传 / 下载、官逆高峰长尾后波动大)
- 对 5xx 与超时做 指数退避重试(建议 2–3 次)
- 记录
request-id(响应头)方便排查
十、最佳实践
- 尺寸写在 prompt 开头:模型遵循度更高。
- 文字/招牌类场景:该模型文字还原度是主要卖点,大胆使用中英文标注。
- 多图融合:
image[] 顺序有意义,在 prompt 里可用「图1/图2/图3」指代。
- 响应格式选择:
- Web 应用直接渲染 →
b64_json,少一次跨域请求
- 服务端中转存储 →
url,省带宽
- 超时配置:SDK 默认超时通常不足,请手动设为 300 秒(保守值,吸收图片上传 / 下载长尾)。
- 不要传无用字段:
size、n、quality、aspect_ratio 不会生效,传了可能触发参数校验错误。
十一、常见问题 FAQ
Q1:能同时生成多张图吗?
A:本模型单次返回 1 张。如需 N 张,请客户端并行调用 N 次。
Q2:b64_json 前缀要不要自己加 data:image/png;base64,?
A:不要。本模型返回的 b64_json 字段已经带前缀,直接用即可。如果你的代码沿用了”先拼前缀”的老逻辑,会产出损坏的 data URL,请先做 startsWith('data:') 检测。
Q3:为什么提示词里写了 1024x1024 还是拿到别的尺寸?
A:自适应模型对尺寸描述是”参考”不是”强制”。提升遵循度的写法:把尺寸/画幅词放在 prompt 最前面,并配合画幅风格词(如 电影画幅、手机海报、方形构图)。
Q4:参考图最大多大?格式要求?
A:推荐 单张 ≤ 10MB,格式 png / jpg / webp。过大的图可能触发网关限制。
Q5:能流式返回吗?
A:本模型为一次性出图,不支持 stream 输出。如果对响应延迟敏感,建议客户端显示”生成中”进度提示,并合理配置 300s 超时(保守值)。
Q6:能用 OpenAI 的官方 SDK 直连吗?
A:可以,把 base_url 指向 https://api.apiyi.com/v1,api_key 设为你的 APIYI 令牌即可。但 client.images.generate() 方法默认带 size/n 参数,本模型不接受 size——建议:
- 使用
client.chat.completions.create()(见 §7.4),或
- 直接用
requests / fetch 发原生 HTTP 请求(见 §7.1 / §7.2)
十二、技术支持
附:变更日志
- 2026-04 首次发布
gpt-image-2-all 模型,定价 $0.03/张。