跳转到主要内容
RouterLink 提供三套 API。挑你正在用的 SDK 或工具对应的那一套即可:
接口Base URL适用场景
OpenAI 兼容https://router-link.world3.ai/v1OpenAI SDK、LangChain,任何说 OpenAI Chat Completions 协议的工具
Anthropic 兼容https://router-link.world3.ai/api/anthropicAnthropic 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 自有错误码:
HTTPerror.type含义
400routerlink_invalid_request请求体或参数不合法
401routerlink_unauthorizedAPI key 缺失或无效
403routerlink_forbiddenkey 已禁用、账号被冻结,或该模型未开通
404routerlink_not_found路径或资源不存在
429routerlink_budget_exceeded单 key 月度预算撞顶 —— 提额或加积分
429routerlink_rate_limited单 key 限流
502routerlink_upstream_error上游厂商返回错误
503routerlink_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

需要帮助?