Router API
Router API
连接
export BASE_URL="https://api.zairouter.com"
export API_KEY="sk-Xvs..."除 GET /x-pricing 外,请求均需包含:
Authorization: Bearer sk-Xvs...模型接口
Router 保持主流 SDK 的请求与响应格式,通常只需替换 base_url 和 api_key。
OpenAI 兼容
| 能力 | 正式路径 |
|---|---|
| Chat Completions | POST /v1/chat/completions |
| Responses | POST /v1/responses |
| Responses 压缩 | POST /v1/responses/compact |
| Embeddings | POST /v1/embeddings |
| 图片生成与编辑 | POST /v1/images/generations、POST /v1/images/edits |
| 图片变体 | POST /v1/images/variations |
| 视频生成 | POST /v1/videos/generations |
| 音频转录与翻译 | POST /v1/audio/transcriptions、POST /v1/audio/translations |
| Moderations | POST /v1/moderations |
| Files 与 Threads | /v1/files、/v1/threads |
| Realtime | GET /v1/realtime(WebSocket) |
| Realtime 临时密钥 | POST /v1/realtime/client_secrets |
| 模型列表 | GET /v1/models |
Responses 的查询、取消和子资源沿用 /v1/responses/{id} 形式。兼容别名 /chat/completions、/responses、/embeddings、/models 继续可用,新接入建议使用 /v1/*。
Anthropic 兼容
| 能力 | 正式路径 |
|---|---|
| Messages | POST /v1/messages |
| Token 计数 | POST /v1/messages/count_tokens |
Gemini 原生格式
支持 Gemini SDK 使用的模型路径:
POST /v1beta/models/{model}:generateContent
POST /v1beta/models/{model}:streamGenerateContent?alt=sseChat Completions 示例
curl "$BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5-nano",
"messages": [{"role": "user", "content": "只回复 OK"}],
"stream": false
}'流式输出只需设置 "stream": true,并按 SSE 逐行读取 data: 事件。
OpenAI SDK
from openai import OpenAI
client = OpenAI(base_url="https://api.zairouter.com/v1", api_key="sk-Xvs...")
response = client.responses.create(model="gpt-5-nano", input="只回复 OK")
print(response.output_text)查询接口
| 方法与路径 | 说明 | 认证 |
|---|---|---|
GET /v1/models | 当前账号可用模型 | API Key |
GET /x-pricing | 公开价格目录 | 可选 |
GET /dashboard/status | 账号状态、余额与管理能力 | API Key |
GET /dashboard/info | 账号配置与限额 | API Key |
携带 API Key 查询 /x-pricing 时,响应会包含当前账号的最终价格;不携带时返回公开价格。
用量查询的参数、响应结构和示例见用量统计 API。
常见状态码
| 状态码 | 含义 |
|---|---|
400 | 请求体、模型或参数无效 |
401 | API Key 缺失或无效 |
403 | 账号、模型、IP 或接口权限受限 |
413 | 请求体超过允许大小 |
429 | 请求、Token 或额度达到限制 |
502 / 503 | 上游暂时不可用,可按退避策略重试 |
重试建议
- 只对
429、502、503和网络错误进行有限重试。 - 使用指数退避并加入随机抖动。
- 图片、视频等非幂等生成请求不要自动重复提交。
- 请求失败时记录 HTTP 状态码和响应体,避免记录完整 API Key。