📖 API 文档
🚀 快速开始
Model API Relay 提供 OpenAI 兼容的 API 接口,你可以直接使用现有的 OpenAI SDK 或任何兼容 OpenAI 格式的工具来调用。
1. 获取 API Key
登录后在 个人中心 查看你的 API Key。
2. 调用 API
curl https://apio.m1f.cn/v1/chat/completions \
-H "Authorization: Bearer sk-你的API密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "你好!"}],
"stream": true
}'
📡 API 端点
聊天补全 (Chat Completions)
POST /v1/chat/completions
完全兼容 OpenAI Chat Completions API。支持所有参数:
model- 模型名称(支持自动路由到对应通道)messages- 消息列表temperature- 温度 (0-2)max_tokens- 最大生成 token 数stream- 是否启用流式响应 (SSE)tools- 工具调用(Function Calling)
Anthropic Messages (原生)
POST /v1/messages
直接使用 Anthropic 格式调用 Claude 模型。
模型列表
GET /v1/models
获取所有可用的模型列表。
🔄 格式自动转换
API Relay 的核心功能之一是自动在 OpenAI 和 Anthropic 格式之间转换:
OpenAI → Anthropic
当使用 OpenAI 格式调用但模型名为 Claude 系列时,系统会自动将请求转换为 Anthropic Messages API 格式,并将响应转换回 OpenAI 格式。
Anthropic → OpenAI
当使用 Anthropic 格式调用 OpenAI 模型时,系统会自动转换。
示例:使用 OpenAI SDK 调用 Claude
from openai import OpenAI
client = OpenAI(
api_key="sk-你的密钥",
base_url="https://apio.m1f.cn"
)
response = client.chat.completions.create(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "你好!"}]
)
print(response.choices[0].message.content)
🐍 Python 示例
from openai import OpenAI
client = OpenAI(
api_key="sk-你的密钥",
base_url="https://apio.m1f.cn"
)
# 流式调用
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "讲个笑话"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
📜 JavaScript 示例
const response = await fetch("https://apio.m1f.cn/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer sk-你的密钥",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "gpt-4o",
messages: [{ role: "user", content: "你好" }],
stream: true
})
});
const reader = response.body.getReader();
// 处理 SSE 流...
💰 配额与计费
每个用户都有配额限制,配额以 token 数量计算。可以在 个人钱包 查看余额和使用情况。
- 每次 API 调用会根据消耗的 token 数量扣除费用
- 费用标准依据各上游 API 的定价
- 配额不足时 API 调用将被拒绝
⚠️ 错误码
| HTTP 状态码 | 说明 |
|---|---|
| 400 | 请求格式错误 |
| 401 | API Key 无效或缺失 |
| 402 | 配额不足 |
| 403 | 模型未授权 |
| 429 | 请求频率超限 |
| 503 | 无可用通道 |
💬 Web 聊天界面
除了 API 调用外,我们还提供了一个 ChatGPT 风格的 Web 聊天界面:
- 实时流式响应(SSE)
- Markdown 渲染与代码高亮
- 对话历史管理与搜索
- 多模型切换
- 深色/浅色主题切换
- 对话置顶、重命名、删除