跳转到主要内容

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 请求参数

参数类型必填说明
modelstring固定填 gpt-image-2-all
promptstring提示词,尺寸/比例/风格请在此描述
response_formatenumurl(默认,返回 R2 CDN 链接)或 b64_json
⚠️ 本模型 不接受 sizenqualityaspect_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 请求字段

字段类型必填说明
modeltextgpt-image-2-all
prompttext改图/融合的自然语言描述
image[]file参考图,可重复多次(数组字段)
response_formattexturl(默认)或 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>

7.2 Node.js(原生 fetch + FormData)

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(响应头)方便排查

十、最佳实践

  1. 尺寸写在 prompt 开头:模型遵循度更高。
  2. 文字/招牌类场景:该模型文字还原度是主要卖点,大胆使用中英文标注。
  3. 多图融合image[] 顺序有意义,在 prompt 里可用「图1/图2/图3」指代。
  4. 响应格式选择
    • Web 应用直接渲染 → b64_json,少一次跨域请求
    • 服务端中转存储 → url,省带宽
  5. 超时配置:SDK 默认超时通常不足,请手动设为 300 秒(保守值,吸收图片上传 / 下载长尾)。
  6. 不要传无用字段sizenqualityaspect_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/v1api_key 设为你的 APIYI 令牌即可。但 client.images.generate() 方法默认带 size/n 参数,本模型不接受 size——建议:
  • 使用 client.chat.completions.create()(见 §7.4),或
  • 直接用 requests / fetch 发原生 HTTP 请求(见 §7.1 / §7.2)

十二、技术支持

  • 控制台:https://api.apiyi.com
  • 文档反馈 / 问题排查:联系 APIYI 客服,附带请求 request-id

附:变更日志

  • 2026-04 首次发布 gpt-image-2-all 模型,定价 $0.03/张。