Skip to content
GuidesJuly 12, 2026

一个 API 打到每个 LLM

一个兼容 OpenAI 的端点打到目录里每个模型——170+ 个模型用 provider/model 寻址,上游自动失败切换、路由预设和流式。把现有客户端指到 AnyRouter,换模型改字符串,不用重写。

「一个 API 打到每个 LLM」是什么意思?

AnyRouter 在它服务的每个模型前面放一个兼容 OpenAI 的 API——今天 170+ 个。你发的还是发给 OpenAI 的那套请求形状,model id 决定哪家供应商真正跑。没有按供应商的 SDK,没有第二套鉴权,没有定制错误处理:一个 base URL,一把 key,每个模型。

同一表面也说其他常见方言。Chat 在 /chat/completions(OpenAI 风格),Claude 客户端可以打 /messages(Anthropic 风格),较新的 OpenAI Responses API 在 /responses,embeddings 在 /embeddings。同一账号、同一把 key、同一份审计日志。

Model id 就是 provider/model 字符串

每个模型用 provider/model 寻址,换模型是改配置值,不是一个集成项目。把标准 OpenAI SDK 指到 AnyRouter,一个客户端就能扫完整份目录:

from openai import OpenAI

client = OpenAI(base_url="https://anyrouter.dev/api/v1", api_key="sk-ar-v1-...")

for model in ["openai/gpt-5.5", "anthropic/claude-opus-4-8", "google/gemini-2.5-pro", "z-ai/glm-5.2"]:
  resp = client.chat.completions.create(
      model=model,
      messages=[{"role": "user", "content": "Say hello"}],
      stream=True,
  )
  for chunk in resp:
      print(chunk.choices[0].delta.content or "", end="")
One client, one base URL — every model is a string.

流式和 OpenAI 一样——传 stream=True 读 delta。因为契约是标准 API,没有锁定:同一份代码随时可以指回任何供应商。

上游挂了会怎样?

一个 model id 可以由多家上游供应商伺候。主路上限流、报错或宕机时,AnyRouter 自动切到该模型下一个健康上游——一次 429 不再把 agent 卡在半路。你也可以用供应商偏好和保存的路由预设自己掌舵,让请求偏向更便宜的容量、钉死某家,或按选定顺序回退。

  • 自动失败切换——每个模型多家上游,不健康的隔离。
  • 供应商偏好——偏好、钉死或排序请求可用的上游。
  • 路由预设——路由策略存一次,按名复用。
  • 流式和工具——SSE delta 和 function calling 原样穿过。

从哪开始

在 /models 浏览完整目录,在 /playground 现场试任何模型,端点说明在 /docs。如果走你已经在付的 key,看下面的 BYOK——那些调用 $0 加价。

  • 自带供应商 key,$0 加价 — /blog/zh/byok-bring-your-own-keys。
  • 把 Claude Code、Codex 或 Cursor 指到同一端点 — /blog/zh/coding-agents-one-gateway。
  • 继续用 OpenAI SDK,只换 base URL — /blog/zh/openai-api-alternative。

一个兼容 OpenAI 的 API 罩住 170+ 个模型,带自动失败切换和流式。

免费开通

两分钟发第一笔请求

用自己的 key 免费开始,或充值按 token 计费。Go 每月 $4 额度 — $2/月,或捐一把 provider key 免费开通。

开始使用