跳转到主要内容
POST
/
v1
/
chat
/
completions
curl --request POST \
  --url https://api.apiyi.com/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "gpt-image-2-vip",
  "messages": [
    {
      "role": "user",
      "content": "横版 16:9 电影画幅,黄昏时的海边老灯塔,写实风格"
    }
  ]
}
'
{
  "data": [
    {
      "url": "https://r2cdn.copilotbase.com/r2cdn2/0e82148a-bec0-4b42-bbca-117c6b42581b.png"
    }
  ],
  "created": 1778037331,
  "usage": {
    "input_tokens": 30,
    "output_tokens": 2074,
    "total_tokens": 2104
  }
}

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.

对话式端点特点一个端点同时支持文生图与带参考图改图,方便直接传入在线图片 URL(CDN 链接或 base64 data URL)作为参考图,并能天然做多轮迭代。右侧 Playground 填入 API Key 后,直接从下拉选择 example(文生图 / 带参考图改图 / 多轮迭代)即可。如果你希望同一套代码兼容官转和官逆,建议使用 /v1/images/generations/v1/images/edits(OpenAI Images API 标准格式)。
选择模式
  • 仅输入文本 messages文生图
  • messages 中加入 image_url(URL 或 base64 data URL)→ 带参考图改图
  • 保留 assistant 历史消息继续追问 → 多轮迭代改图
gpt-image-2-all 的区别:调用方式完全一致,把 model 换成 gpt-image-2-vip 即可;本端点额外支持顶层 size 字段锁尺寸(30 档常见尺寸,与 /v1/images/generations 一致)。size 字段为可选:传入则严格锁定输出尺寸;不传则由 prompt 描述决定(行为与 -all 一致)。
🖥️ 浏览器 Playground 限制(响应含 base64 时)本端点默认返回 R2 CDN URLdata[0].url),Playground 显示正常。少数情况下如果返回的是 base64(data[0].b64_json),或你在 image_url 里传入了大 base64 输入图,响应字符串可能达数 MB,浏览器 Playground 可能弹出 请求时发生错误: unable to complete request ——实际请求已经成功,只是浏览器无法显示这么长的内容。推荐做法:遇到此提示时,直接复制下方”代码示例”到本地运行,程序可从 data[0].urldata[0].b64_json 中拿到结果(两者只会出现其一,不会同时返回)。

代码示例

Python(文生图)

import requests

API_KEY = "sk-your-api-key"

response = requests.post(
    "https://api.apiyi.com/v1/chat/completions",
    headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
    json={
        "model": "gpt-image-2-vip",
        "size": "2048x1152",  # 可选;不传则由 prompt 描述决定
        "messages": [
            {"role": "user", "content": "横版 16:9 电影画幅,黄昏时的海边老灯塔,写实风格"}
        ]
    },
    timeout=300  # 保守值,吸收长尾 + 图片上传/下载耗时
).json()

# 默认返回 url;如显式切到 b64_json 模式则取 response["data"][0]["b64_json"]
print(response["data"][0]["url"])

Python(带参考图改图)

import requests
import base64

API_KEY = "sk-your-api-key"

# 可用 HTTPS URL,也可以用 base64 data URL
with open("photo.png", "rb") as f:
    data_url = "data:image/png;base64," + base64.b64encode(f.read()).decode()

response = requests.post(
    "https://api.apiyi.com/v1/chat/completions",
    headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
    json={
        "model": "gpt-image-2-vip",
        "size": "2048x2048",  # 可选;不传则由 prompt 描述决定
        "messages": [
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": "把这张图改成水彩画风"},
                    {"type": "image_url", "image_url": {"url": data_url}}
                ]
            }
        ]
    },
    timeout=300
).json()

# 默认返回 url;如显式切到 b64_json 模式则取 response["data"][0]["b64_json"]
print(response["data"][0]["url"])

cURL(文生图)

curl -X POST "https://api.apiyi.com/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2-vip",
    "size": "2048x1152",
    "messages": [
      {"role": "user", "content": "横版 16:9,赛博朋克雨夜街景,霓虹招牌写着 Hello World"}
    ]
  }'

cURL(带参考图改图)

curl -X POST "https://api.apiyi.com/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2-vip",
    "messages": [
      {
        "role": "user",
        "content": [
          { "type": "text", "text": "把这张图改成水彩画风" },
          { "type": "image_url", "image_url": { "url": "https://example.com/photo.png" } }
        ]
      }
    ]
  }'

Node.js(文生图)

const API_KEY = "sk-your-api-key";

const response = await fetch("https://api.apiyi.com/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "gpt-image-2-vip",
    messages: [
      { role: "user", content: "1024x1024 方形 LOGO,极简猫咪线条" }
    ]
  })
});

const data = await response.json();
// 默认返回 url;如显式切到 b64_json 模式则取 data.data[0].b64_json
console.log(data.data[0].url);
关于 OpenAI SDK:本端点请求格式与 OpenAI Chat Completions 兼容,但响应格式{data: [{url|b64_json}], created, usage},不含 choices 字段。直接用 client.chat.completions.create(...) 解析时会失败,请改用上面的 requests / fetch 直接拿到原始 JSON 解析。

参数说明速查

参数类型必填说明
modelstring固定填 gpt-image-2-vip
messagesarray对话消息数组;支持 system / user / assistant 三种 role
messages[].contentstring | array纯文本字符串(文生图)或多模态数组(带图改图)
sizestring输出尺寸(30 档),如 2048x11523840x2160。不传则由 prompt 描述决定。完整档位见模型概览
streamboolean是否流式。本模型为一次性出图,建议保持 false
多模态 content 片段content 为数组时):
字段类型必填说明
typeenumtextimage_url
textstring条件type=text 时必填
image_url.urlstring条件type=image_url 时必填。支持 https://...data:image/png;base64,...
详细的字段说明与可选值请查看右侧 Playground。下拉 “Example” 可在 文生图 / 带参考图改图 / 多轮迭代 之间切换。

响应格式

对话式端点的响应格式为 {data: [{url|b64_json}], created, usage} ——data[0]只会出现 urlb64_json 之一,不会同时返回。本端点默认返回 url 默认 url 输出
{
  "data": [
    {
      "url": "https://r2cdn.copilotbase.com/r2cdn2/0e82148a-bec0-4b42-bbca-117c6b42581b.png"
    }
  ],
  "created": 1778037331,
  "usage": {
    "input_tokens": 30,
    "output_tokens": 2074,
    "total_tokens": 2104
  }
}
b64_json 输出(少数情况):
{
  "data": [
    {
      "b64_json": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
    }
  ],
  "created": 1778037127,
  "usage": {
    "input_tokens": 98,
    "output_tokens": 1185,
    "total_tokens": 1283
  }
}
解析建议:先取 data[0].url,若为空再取 data[0].b64_jsonb64_json 已带 data:image/png;base64, 前缀,可直接作为 <img src> 使用。

对话式端点的优势

同端点双能力

不需要在 generations / edits 两个端点之间切换,统一走一个端点

方便传入在线 URL

image_url 直接接受 CDN 图片地址或 base64 data URL,无需 multipart 上传

天然多轮迭代

保留 assistant 历史消息即可继续精调,逻辑与 ChatGPT 一致

SDK 生态最完整

OpenAI 官方 SDK、LangChain、各类 Chat 前端都能直接对接
严格锁尺寸:传入顶层 size 字段(30 档常见尺寸,如 2048x11523840x2160)即可锁定输出。需要 OpenAI Images API 标准格式时,仍可改走 文生图接口/v1/images/generations)。

相关资源

模型概览(含完整 size 表)

30 档 size 完整对照表、定价、技术规格

文生图 API(/v1/images/generations)

OpenAI Images API 兼容端点,传 size 锁定输出尺寸

图片编辑 API(/v1/images/edits)

multipart/form-data 上传参考图改图

姐妹模型 gpt-image-2-all

不需要锁尺寸时调用方式一致,出图更快

授权

Authorization
string
header
必填

在 API易控制台获取的 API Key

请求体

application/json
model
enum<string>
默认值:gpt-image-2-vip
必填

模型名称,固定为 gpt-image-2-vip

可用选项:
gpt-image-2-vip
messages
object[]
必填

对话消息数组。支持多轮对话与多模态内容。

size
enum<string>

输出尺寸,可选字段。可传 auto 让模型自动决定(vip 在同一提示词下倾向收敛到一个相对固定的尺寸;带参考图改图时会跟随 prompt 里点名要修改的那张图的尺寸比例——多图场景下不一定是第一张),或从 30 档常见尺寸里选(10 比例 × 1K Fast / 2K Recommended / 4K Detail)严格锁尺寸。不传则由 prompt 描述决定。 写法:宽x高(半角小写 x),如 2048x13603840x2160。所有档位统一价 $0.03/张。

可用选项:
auto,
1280x1280,
848x1280,
1280x848,
960x1280,
1280x960,
1024x1280,
1280x1024,
720x1280,
1280x720,
1280x544,
2048x2048,
1360x2048,
2048x1360,
1536x2048,
2048x1536,
1632x2048,
2048x1632,
1152x2048,
2048x1152,
2048x864,
2880x2880,
2336x3520,
3520x2336,
2480x3312,
3312x2480,
2560x3216,
3216x2560,
2160x3840,
3840x2160,
3840x1632
示例:

"2048x1152"

stream
boolean
默认值:false

是否流式返回。本模型为一次性出图,建议保持 false。Playground 不支持流式预览。

temperature
number
默认值:1

采样温度(对生图影响较小,保持默认即可)

必填范围: 0 <= x <= 2

响应

成功生成图片。响应默认返回 R2 CDN URL(data[0].url),不会同时返回 b64_json

对话式端点的响应格式。data[0]只会出现 urlb64_json 之一,本端点默认返回 url

data
object[]

生成结果数组(本模型单次返回 1 张)

created
integer

创建时间戳(Unix 秒)

usage
object

Token 用量统计