RouterLink 提供三套 API。挑你正在用的 SDK 或工具对应的那一套即可:
| 接口 | Base URL | 适用场景 |
|---|
| OpenAI 兼容 | https://router-link.world3.ai/v1 | OpenAI SDK、LangChain,任何说 OpenAI Chat Completions 协议的工具 |
| Anthropic 兼容 | https://router-link.world3.ai/api/anthropic | Anthropic SDK、Claude Code,任何说 /v1/messages 的工具 |
| RouterLink 原生 | https://router-link.world3.ai/api/v1 | 账户、计费、key 管理 |
Beta 环境 base URL 是 https://router-link-beta.world3.ai,路径相同,积分余额单独。
所有 endpoint 都用 bearer token。从 Console 拿一把 key,放在 Authorization header:
Authorization: Bearer rl-...
Anthropic 兼容接口的 SDK 会用 x-api-key,两种 header 都接受。
OpenAI 兼容
Chat Completions
POST /v1/chat/completions
完全兼容 OpenAI 的 Chat Completions API。流式、tool use、视觉、JSON mode、structured outputs 用法都一致。
from openai import OpenAI
client = OpenAI(
base_url="https://router-link.world3.ai/v1",
api_key="<你的-routerlink-key>",
)
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "给我一首俳句,流式输出。"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")
跨厂商路由
同一个 endpoint 可以用任何上游厂商的模型名 —— RouterLink 自动派发:
{ "model": "gpt-4o" } // OpenAI
{ "model": "claude-sonnet-4-6" } // Anthropic
{ "model": "gemini-2.5-pro" } // Google
实时模型清单可以调 GET /v1/models,或在 Console 的 Models 页查看。
其他 endpoint
POST /v1/embeddings —— 文本向量化
POST /v1/images/generations —— 图像生成
POST /v1/audio/transcriptions —— 语音转文字
POST /v1/audio/speech —— 文字转语音
Anthropic 兼容
/api/anthropic 下原生暴露 /v1/messages 与 /v1/messages/count_tokens:
import anthropic
client = anthropic.Anthropic(
base_url="https://router-link.world3.ai/api/anthropic",
api_key="<你的-routerlink-key>",
)
msg = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "你好!"}],
)
支持的特性:流式、tool use、prompt caching(cache_control)、extended thinking、视觉,以及 Files API(/v1/files)。
流式响应
两套接口都支持 Server-Sent Events。OpenAI 兼容那侧设 stream: true,Anthropic 那侧用 SDK 的流式客户端。SSE event 名与上游厂商完全一致 —— 你现有的 parser 直接复用。
错误的 schema 跟随上游厂商,RouterLink 会在 error.type 字段里塞一个稳定的 RouterLink 自有错误码:
| HTTP | error.type | 含义 |
|---|
400 | routerlink_invalid_request | 请求体或参数不合法 |
401 | routerlink_unauthorized | API key 缺失或无效 |
403 | routerlink_forbidden | key 已禁用、账号被冻结,或该模型未开通 |
404 | routerlink_not_found | 路径或资源不存在 |
429 | routerlink_budget_exceeded | 单 key 月度预算撞顶 —— 提额或加积分 |
429 | routerlink_rate_limited | 单 key 限流 |
502 | routerlink_upstream_error | 上游厂商返回错误 |
503 | routerlink_upstream_unavailable | 上游厂商不可达 |
限流与预算
每把 API key 有两道独立护栏:
- 限流 —— 每分钟请求上限,单 key 配置。撞顶返回
429 routerlink_rate_limited,带 Retry-After header
- 月度预算 —— 自然月内消费 USD 硬上限。撞顶返回
429 routerlink_budget_exceeded。70 / 90 / 100% 触发邮件告警
两者都在 Console 的 API Keys → 编辑 里设。
Webhooks
即将支持 —— 订阅计费事件、预算告警、key 生命周期变更。状态见 routerlink.ai 路线图。
SDK 与集成
- OpenAI SDK —— Python、Node、Go、.NET 都不用改业务代码,覆盖一下
base_url 即可
- Anthropic SDK —— Python、TypeScript,把
base_url 设成 /api/anthropic 路径
- LangChain / LlamaIndex —— 用 OpenAI provider 配上我们的 base URL
- Claude Code —— 见 专门指南
- AI SDK (Vercel) —— 用
@ai-sdk/openai-compatible + 我们的 base URL
需要帮助?