YunYi API 进入控制台 →
DEVELOPER DOCUMENTATION

统一 API,接入海量模型

YunYi API 提供兼容 OpenAI、Claude 和 Gemini 的统一接口。使用一个 API Key,即可在你的应用中切换不同模型。

快速开始

所有 OpenAI 兼容请求都使用以下地址作为 Base URL:

BASE URLhttps://ai.yunyi.pw/v1

安装官方 OpenAI SDK 后,将 base_url 指向 YunYi API:

Python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-key",
    base_url="https://ai.yunyi.pw/v1"
)

response = client.chat.completions.create(
    model="你的模型名称",
    messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)

鉴权

在请求头中使用 Bearer Token 传递 API Key。请将密钥保存在服务端环境变量中,不要写入前端代码。

Authorization: Bearer sk-your-key
Content-Type: application/json

Chat Completions

POST/v1/chat/completions

适用于多轮对话、文本生成和常见的 OpenAI SDK 工作流。

cURL
curl https://ai.yunyi.pw/v1/chat/completions \
  -H 'Authorization: Bearer sk-your-key' \
  -H 'Content-Type: application/json' \
  -d '{"model":"你的模型名称","messages":[{"role":"user","content":"你好"}]}'

请求参数

参数 类型 必填 说明
model string 控制台中可用的模型名称。
messages array 对话消息数组。
stream boolean 设为 true 时返回 SSE 流。
temperature number 控制输出随机性。

Responses API

POST/v1/responses

用于支持 Responses API 的模型和工具调用工作流。

curl https://ai.yunyi.pw/v1/responses \
  -H 'Authorization: Bearer sk-your-key' \
  -H 'Content-Type: application/json' \
  -d '{"model":"你的模型名称","input":"用一句话介绍人工智能"}'

Claude 兼容接口

POST/v1/messages

可使用 Anthropic SDK 或直接发送兼容 Messages API 的请求。

curl https://ai.yunyi.pw/v1/messages \
  -H 'x-api-key: sk-your-key' \
  -H 'anthropic-version: 2023-06-01' \
  -H 'Content-Type: application/json' \
  -d '{"model":"你的模型名称","max_tokens":1024,"messages":[{"role":"user","content":"你好"}]}'

Google 生图

POST/v1/chat/completions

四个 Gemini 生图模型统一使用 OpenAI 兼容的 Chat Completions 协议,只需替换 model 名称即可。鉴权使用 Authorization: Bearer 请求头。

模型别名上游模型名称用途
nano-banana-progemini-3-pro-image生图与图像编辑
nano-banana-pro-oreviewgemini-3-pro-image-preview预览版生图与图像编辑
nano-banana-2gemini-3.1-flash-image生图与图像编辑
nano-banana-2-previewgemini-3.1-flash-image-preview预览版生图与图像编辑
统一协议Base URL 为 https://ai.yunyi.pw/v1,完整接口地址为 /v1/chat/completions。请求和响应格式遵循 OpenAI Chat Completions 规范。

文生图

将提示词作为 user 消息发送,图片会在响应的 choices[0].message.content 中以 Markdown 图片和 Base64 Data URL 返回。

curl --location --request POST 'https://ai.yunyi.pw/v1/chat/completions' \
  --header 'Authorization: Bearer sk-your-key' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "model": "nano-banana-pro",
    "stream": false,
    "messages": [{"role": "user", "content": "生成一个小猫"}]
  }'

图生图

将文本指令和 Base64 图片以 OpenAI 多模态消息格式放入同一条 user 消息中。

curl --location --request POST 'https://ai.yunyi.pw/v1/chat/completions' \
  --header 'Authorization: Bearer sk-your-key' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "model": "nano-banana-2",
    "stream": false,
    "messages": [{"role": "user", "content": [
      {"type": "text", "text": "请将这张图片改成水彩画风格,保留主体构图。"},
      {"type": "image_url", "image_url": {"url": "data:image/png;base64,"}}
    ]}]
  }'

请求参数

参数类型必填说明
modelstring填写上方任一模型别名。
messagesarray文生图使用文本 content;图生图使用 text 与 image_url 内容数组。
streamboolean是否启用流式响应。
image_url.urlstring图生图必填格式为 data:<mime_type>;base64,<image_base64>

响应示例

{
  "model": "nano-banana-pro",
  "choices": [{"message": {"role": "assistant", "content": "![image](data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...)"}}]
}

GPT Image 文生图

POST/v1/images/generations

使用 OpenAI Images API 协议,根据中文提示词生成图片。返回结果默认包含 Base64 编码的 PNG 数据。

curl --location --request POST 'https://ai.yunyi.pw/v1/images/generations' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer sk-your-key' \
  --data-raw '{
    "model": "gpt-image-2",
    "prompt": "一只白色小猫坐在窗边,电影感光影",
    "size": "1024x1024"
  }'

请求参数

参数 类型 必填 说明
model string 固定填写 gpt-image-2
prompt string 图片生成提示词,支持中文。
size string 图片尺寸,例如 1024x1024

响应示例

{
  "created": 1788504564,
  "data": [{
    "revised_prompt": "一只白色小猫坐在窗边,电影感光影",
    "b64_json": "iVBORw0KGgoAAAANSUhEUg..."
  }],
  "usage": {
    "input_tokens": 15,
    "output_tokens": 1056,
    "total_tokens": 1071
  }
}

GPT Image 图生图

POST/v1/images/edits

使用 OpenAI Images API 协议,根据提示词编辑一张或多张参考图片。请求采用 multipart/form-data 格式。

curl --location --request POST 'https://ai.yunyi.pw/v1/images/edits' \
  --header 'Authorization: Bearer sk-your-key' \
  --form 'model="gpt-image-2"' \
  --form 'prompt="把250改为300"' \
  --form 'image=@"./source-1.png"' \
  --form 'image=@"./source-2.png"'

表单参数

参数 类型 必填 说明
model string 固定填写 gpt-image-2
prompt string 描述希望对参考图进行的修改,支持中文。
image file 参考图片,可重复传入多张图片。

响应示例

{
  "created": 1788505112,
  "data": [{
    "revised_prompt": "把250改为300",
    "b64_json": "iVBORw0KGgoAAAANSUhEUg..."
  }],
  "usage": {
    "input_tokens": 15,
    "output_tokens": 1056,
    "total_tokens": 1071
  }
}

流式响应

设置 stream: true 后,服务端会以 text/event-stream 返回数据。每个事件以 data: 开头,结束事件为 [DONE]

{
  "model": "你的模型名称",
  "messages": [{"role": "user", "content": "写一首诗"}],
  "stream": true
}

错误码

状态码 含义 处理建议
400 请求参数错误 检查 JSON、模型名称和必填字段。
401 鉴权失败 检查 API Key 和请求头格式。
404 接口或模型不存在 确认 Base URL 和模型名称。
429 请求过于频繁 降低请求频率,或稍后重试。
500 上游服务异常 稍后重试;持续发生时联系管理员。

模型与计费

可用模型、上下文长度、速率限制和价格以控制台实时配置为准。模型名称请从控制台或模型列表接口获取。

提示请定期轮换 API Key,并为生产环境设置独立的密钥和用量限制。