跳转到主要内容
POST
/
v1
/
images
/
generations
文生图:根据文本描述生成图片
curl --request POST \
  --url https://api.apiyi.com/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "gpt-image-2-all",
  "prompt": "横版 16:9 电影画幅,黄昏时的海边老灯塔"
}
'
{
  "data": [
    {
      "b64_json": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
    }
  ],
  "created": 1778037127,
  "usage": {
    "input_tokens": 98,
    "output_tokens": 1185,
    "total_tokens": 1283
  }
}

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.

右侧的交互式 Playground 支持直接在线调试。请在 Authorization 中填入你的 API Key(格式:Bearer sk-xxx),输入 prompt 后一键发送即可。
场景说明:本页用于「文本生成图片」。只需输入提示词即可,无需上传任何图片。如需根据现有图片做编辑或融合,请使用 图片编辑接口
🖥️ 浏览器 Playground 限制(默认 b64_json 模式)本端点默认 response_format: "b64_json",响应会包含数 MB 的 base64 字符串,浏览器 Playground 可能弹出 请求时发生错误: unable to complete request ——实际请求已经成功,只是浏览器无法显示这么长的 base64。推荐做法
  • 只想在 Playground 里看图:显式传 "response_format": "url",响应是单条 R2 链接,浏览器渲染正常。
  • 想要 base64:复制下方”代码示例”到本地运行,代码会自动解码并把图片保存为本地文件。
⚠️ 参数支持情况
  • size字段不生效——传 auto 或具体尺寸都不会报错,但会被服务端静默忽略。最终尺寸完全由 prompt 决定:
    • prompt 写了尺寸/比例(如”横版 16:9”)→ 模型会遵循 prompt
    • prompt 没写尺寸 → 同一 prompt 多次调用会抽卡式出现多样化尺寸,适合看多种构图变体
    • 需要严格锁尺寸请改用 gpt-image-2-vip(支持 auto + 30 档锁定)
  • n / quality / aspect_ratio:❌ 不接受,传入可能触发参数校验错误。
尺寸与比例请直接写进 prompt,例如:
  • 横版 16:9 电影画幅,黄昏时的海边老灯塔
  • 竖版 9:16 手机壁纸,赛博朋克城市雨夜
  • 1024×1024 方形 LOGO,极简猫咪线条
建议把尺寸描述放在 prompt 最前面,模型遵循度更高。

代码示例

Python

import requests

API_KEY = "sk-your-api-key"

response = requests.post(
    "https://api.apiyi.com/v1/images/generations",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "model": "gpt-image-2-all",
        "prompt": "横版 16:9 日落海边的老灯塔,电影画幅,写实风格",
        "response_format": "url"
    },
    timeout=300  # 保守值,吸收长尾 + 图片下载耗时
).json()

image_url = response["data"][0]["url"]
print(image_url)
b64_json 模式(直接拿到可渲染的 data URL)
import requests

response = requests.post(
    "https://api.apiyi.com/v1/images/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "gpt-image-2-all",
        "prompt": "1024x1024 方形 LOGO,极简猫咪线条",
        "response_format": "b64_json"
    },
    timeout=300  # 保守值,吸收长尾 + 图片下载耗时
).json()

# 注意:b64_json 字段已经包含 "data:image/png;base64," 前缀,无需再拼接
data_url = response["data"][0]["b64_json"]

cURL

curl -X POST "https://api.apiyi.com/v1/images/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2-all",
    "prompt": "横版 16:9 电影画幅,黄昏时的海边老灯塔",
    "response_format": "url"
  }'

Node.js

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

const response = await fetch(
  "https://api.apiyi.com/v1/images/generations",
  {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${API_KEY}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "gpt-image-2-all",
      prompt: "1024x1024 方形 LOGO,极简猫咪线条",
      response_format: "b64_json"
    })
  }
);

const data = await response.json();
// b64_json 已含前缀,可直接用作 <img src>
document.getElementById("result").src = data.data[0].b64_json;

浏览器 JavaScript(Fetch)

const resp = await fetch('https://api.apiyi.com/v1/images/generations', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer sk-your-api-key'
    },
    body: JSON.stringify({
        model: 'gpt-image-2-all',
        prompt: '竖版 9:16 手机壁纸,赛博朋克城市雨夜',
        response_format: 'b64_json'
    })
});
const { data } = await resp.json();
document.getElementById('result').src = data[0].b64_json;

参数说明速查

参数类型必填说明
modelstring固定填 gpt-image-2-all
promptstring提示词,尺寸/比例/风格请写在此处(唯一控制尺寸的方式
response_formatstringb64_json(默认,返回 base64 data URL)或 url(返回 R2 CDN 链接)
本模型不支持 size 入参——即便传入也会被静默忽略,不会报错;如需用 size 字段锁定 30 档尺寸,请改用 gpt-image-2-vip
详细的参数约束和可选值请查看右侧 Playground 中的字段说明,response_format 字段支持下拉选择。

响应格式

data[0] 中只会出现 urlb64_json 之一(取决于 response_format),不会两者都返回。本端点默认返回 b64_json b64_json 模式(默认):
{
  "data": [
    {
      "b64_json": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
    }
  ],
  "created": 1778037127,
  "usage": {
    "input_tokens": 98,
    "output_tokens": 1185,
    "total_tokens": 1283
  }
}
url 模式(需显式 "response_format": "url",R2 CDN 全球加速):
{
  "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:image/png;base64, 前缀,可直接赋给 HTML <img src> 或写入文件;无需再手动拼接 data:image/...;base64,。与部分旧版 OpenAI 兼容模型不同,请留意。

授权

Authorization
string
header
必填

在 API易控制台获取的 API Key

请求体

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

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

可用选项:
gpt-image-2-all
prompt
string
必填

提示词。尺寸/比例/风格请写在此处,例如:横版 16:9 电影画幅,黄昏时的海边老灯塔

示例:

"横版 16:9 电影画幅,黄昏时的海边老灯塔"

response_format
enum<string>
默认值:b64_json

响应格式。b64_json 返回已含 data URL 前缀的 base64 字符串(默认);url 返回 R2 CDN 链接

可用选项:
b64_json,
url

响应

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

图片生成响应。data[0]只会出现 urlb64_json 之一(取决于 response_format,本端点默认 b64_json),不会两者都返回。

data
object[]

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

created
integer

创建时间戳(Unix 秒)

usage
object

Token 用量统计