API 与错误码
端点与鉴权
两套协议共五个端点、鉴权头、流式响应的行为与断流处置。
接入地址
https://router.xisu.ai/v1
端点
对客网关提供两套协议,同一把密钥、同一个余额。
OpenAI 兼容(绝大多数场景走这套)
| 端点 | 用途 |
|---|---|
POST /v1/chat/completions |
对话补全 |
POST /v1/embeddings |
文本向量 |
GET /v1/models |
你这把密钥能调的模型列表 |
Anthropic 原生(Anthropic SDK、Claude Code 直接可用)
| 端点 | 用途 |
|---|---|
POST /v1/messages |
对话补全,请求与响应都不翻译 |
POST /v1/messages/count_tokens |
数 token,不计费 |
两套的差别、以及什么时候该走哪一套,见「Anthropic 原生端点」。
其余 OpenAI 端点(图片生成、语音、文件、微调、Assistants 等)本平台不提供,
计价也没有「按图片」「按音频分钟」这类维度。(带图片的输入是另一回事 ——
走 /v1/messages 时原样透传。)
鉴权
标准 Bearer:
Authorization: Bearer YOUR_API_KEY
密钥在控制台创建,明文只在创建时显示一次。
如果这把密钥配了 IP 白名单,从名单外的地址调用会返回 401 invalid_api_key ——
和「密钥无效」是同一个码。这是有意的:给一个专用错误码等于告诉持有泄露密钥的人
「这把 key 是好的,你只是网络不对」。所以排查 401 时,先确认来源 IP,
不要急着重建密钥。
流式
传 "stream": true 即可,返回标准 SSE,以 data: [DONE] 收尾。
这是 OpenAI 兼容那一套的形状 —— /v1/messages 走的是原生 Anthropic 事件流,
没有 [DONE],见「Anthropic 原生端点」。
- 流式响应的用量在最后一个数据块里。中途断开时那一块拿不到, 但已经产生的 token 照常计费 —— 网关按实际生成量记账,不按你收到多少。
- 长时间无输出通常是上游在排队,不是断了。按你客户端的超时设置处理即可。
- 断流后重试请新开一个请求,不要试图续传,没有这个语义。
SDK 兼容性
任何兼容 OpenAI 的 SDK 换 base_url 即可,代码不用改。
已经跑通的:官方 openai Python / Node SDK、以及绝大多数支持自定义接口地址的桌面客户端与命令行编码工具。
具体客户端怎么配,见「用现成的 SDK 与客户端接入」。