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-all",
"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
}
}GPT-Image-2-All 生图
对话式 API 参考
gpt-image-2-all 对话式端点 — 一个端点同时支持文生图与带参考图改图,方便直接传入在线图片 URL,支持多轮迭代。
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-all",
"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历史消息继续追问 → 多轮迭代改图
🖥️ 浏览器 Playground 限制(响应含 base64 时)本端点默认返回 R2 CDN URL(
data[0].url),Playground 显示正常。少数情况下如果返回的是 base64(data[0].b64_json),或你在 image_url 里传入了大 base64 输入图,响应字符串可能达数 MB,浏览器 Playground 可能弹出 请求时发生错误: unable to complete request ——实际请求已经成功,只是浏览器无法显示这么长的内容。推荐做法:遇到此提示时,直接复制下方”代码示例”到本地运行,程序可从 data[0].url 或 data[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-all",
"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-all",
"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-all",
"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-all",
"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-all",
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);
Node.js(带参考图改图)
import fs from "node:fs";
const API_KEY = "sk-your-api-key";
const imgB64 = fs.readFileSync("./photo.png").toString("base64");
const dataUrl = `data:image/png;base64,${imgB64}`;
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-all",
messages: [
{
role: "user",
content: [
{ type: "text", text: "把这张图改成水彩画风" },
{ type: "image_url", image_url: { url: dataUrl } }
]
}
]
})
});
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 解析。参数说明速查
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填 gpt-image-2-all |
messages | array | 是 | 对话消息数组;支持 system / user / assistant 三种 role |
messages[].content | string | array | 是 | 纯文本字符串(文生图)或多模态数组(带图改图) |
stream | boolean | 否 | 是否流式。本模型为一次性出图,建议保持 false |
content 为数组时):
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | enum | 是 | text 或 image_url |
text | string | 条件 | 当 type=text 时必填 |
image_url.url | string | 条件 | 当 type=image_url 时必填。支持 https://... 或 data:image/png;base64,... |
详细的字段说明与可选值请查看右侧 Playground。下拉 “Example” 可在 文生图 / 带参考图改图 / 多轮迭代 之间切换。
响应格式
对话式端点的响应格式为{data: [{url|b64_json}], created, usage} ——data[0] 中只会出现 url 或 b64_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_json。b64_json 已带 data:image/png;base64, 前缀,可直接作为 <img src> 使用。对话式端点的优势
同端点双能力
不需要在 generations / edits 两个端点之间切换,统一走一个端点
方便传入在线 URL
image_url 直接接受 CDN 图片地址或 base64 data URL,无需 multipart 上传天然多轮迭代
保留
assistant 历史消息即可继续精调,逻辑与 ChatGPT 一致SDK 生态最完整
OpenAI 官方 SDK、LangChain、各类 Chat 前端都能直接对接
如果你的代码需要同时兼容官转与官逆,建议改用
/v1/images/generations 与 /v1/images/edits(OpenAI Images API 标准格式),同一套代码即可切换通道。相关资源
模型概览
能力说明、定价、最佳实践
文生图 API(/v1/images/generations)
OpenAI Images API 兼容端点
图片编辑 API(/v1/images/edits)
multipart/form-data 上传参考图改图
在线出图
imagen.apiyi.com 在线测试
授权
在 API易控制台获取的 API Key
请求体
application/json
此页面对您有帮助吗?
⌘I