OpenRouter:一个 API 调用几乎所有主流大模型

写这篇博客的原因是:现在各家的 Token Plan 老是在变化,我老是得给我的 OpenClaw 和其他 Agent 切换提供商。所以我想找一个一劳永逸的 API 来支持我的 OpenClaw。所以我就看到了 OpenRouter。 你可以把它理解成一个统一的大模型 API 网关 + 路由器。正常情况下,OpenAI、Claude、Gemini、DeepSeek、Qwen 等模型都有自己的 API、Key 和计费方式。 使用 OpenRouter 后,只需要一套 API: 再通过修改模型名称切换模型: 因此你的应用不需要针对每家模型重新开发一套接口。OpenRouter 目前接入了数百个模型

写这篇博客的原因是:现在各家的 Token Plan 老是在变化,我老是得给我的 OpenClaw 和其他 Agent 切换提供商。所以我想找一个一劳永逸的 API 来支持我的 OpenClaw。所以我就看到了 OpenRouter

你可以把它理解成一个统一的大模型 API 网关 + 路由器。正常情况下,OpenAI、Claude、Gemini、DeepSeek、Qwen 等模型都有自己的 API、Key 和计费方式。

使用 OpenRouter 后,只需要一套 API:

https://openrouter.ai/api/v1

再通过修改模型名称切换模型:

openai/xxx
anthropic/xxx
google/xxx
deepseek/xxx

因此你的应用不需要针对每家模型重新开发一套接口。OpenRouter 目前接入了数百个模型和 80+ Provider。

基本调用

OpenRouter 兼容 OpenAI API,因此原本使用 OpenAI SDK 的程序通常只需要修改 base_url 和 API Key:

from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="OPENROUTER_API_KEY"
)

response = client.chat.completions.create(
    model="你的模型",
    messages=[
        {"role": "user", "content": "你好"}
    ]
)

这也是为什么 OpenClaw、Hermes、nanobot、AstrBot 以及各种 Agent 和支持 OpenAI Compatible API 的软件通常都可以直接接 OpenRouter。

一个模型可能有很多 Provider

OpenRouter 不只是“模型超市”。

例如同一个开源模型,可能同时由 DeepInfra、Together、官方厂商等多个 Provider 提供:

你的应用
   ↓
OpenRouter
   ↓
某个模型
   ↓
Provider A
Provider B
Provider C

OpenRouter 会根据价格、可用性等因素选择实际执行请求的 Provider。如果一个 Provider 出现限流或故障,还可以自动切换到其他 Provider。

因此:

模型决定“用谁的大脑”,Provider 决定“在哪台服务器上跑”。

可以优先价格,也可以优先速度

OpenRouter 提供两个很实用的模型后缀。

想尽可能便宜:

模型名:floor

OpenRouter 会优先选择价格最低的 Provider。

想尽可能快:

模型名:nitro

OpenRouter 会优先选择吞吐速度更高的 Provider。

因此同一个模型可以按照用途选择:

普通调用
model

省钱
model:floor

追求速度
model:nitro

支持自动故障转移

除了 Provider 之间切换,还可以配置模型级 Fallback:

主模型
   ↓ 失败
备用模型 A
   ↓ 失败
备用模型 B

例如 Claude 限流后自动尝试 GPT,再失败则尝试其他模型。OpenRouter 会负责整个切换过程。

这对于长期运行的 Bot、Agent 和线上服务非常有用。

免费模型

OpenRouter 上有一批模型带:

:free

例如:

某个模型:free

这些 Endpoint 的 Token 单价是:

$0

也可以直接使用:

openrouter/free

让 OpenRouter 自动从当前可用的免费模型中选择。

区别在于:

xxx:free
-> 模型固定
-> 行为更加稳定
-> 更适合 Agent

openrouter/free
-> 自动选择免费模型
-> 最省事
-> 更适合聊天或备用

$10 Credits 规则

OpenRouter 免费模型还有一个很实用的机制:

未购买 $10 Credits
-> 50 次免费请求 / 天

累计购买至少 $10 Credits
-> 1000 次免费请求 / 天

每分钟
-> 20 次

这里的 $10 不是会员费,而是正常的 API Credits。

也就是说:

购买 $10 Credits
        ↓
获得 1000 次/天免费模型额度
        +
$10 本身仍然可以调用付费模型

免费额度按照请求次数计算,而不是按照 Token 数计算。

因此个人使用可以采用:

平时
-> :free 模型
-> $0

复杂任务
-> 便宜的付费模型

极难任务
-> GPT / Claude 等高端模型

这样 $10 Credits 可以用很长时间。

OpenRouter 还能统一管理成本

不同模型的输入和输出价格都可以直接在 OpenRouter 查看。

例如一个 Agent 可以设计成:

简单聊天
-> 便宜模型

Tool Calling
-> Agent 能力强的模型

复杂 Coding
-> 更强模型

困难推理
-> GPT / Claude

而所有费用都从同一个 OpenRouter 账户结算,不需要分别向多个厂商充值。

OpenRouter 的 Activity 页面还可以查看模型使用量和成本,并支持预算与消费控制。

支持 BYOK

如果本身已经有 OpenAI、Google 或其他 Provider 的 API Key,也可以使用 BYOK(Bring Your Own Key)

结构变成:

自己的 Provider API Key
        ↓
OpenRouter
        ↓
统一路由 / Fallback / 管理
        ↓
模型

这样仍然可以利用 OpenRouter 的统一接口和路由能力,同时使用自己的 Provider 账户。

OpenRouter 适合什么?

它尤其适合:

AI Agent
OpenClaw / AstrBot
Tool Calling
MCP
Coding Agent
聊天机器人
模型评测
多模型应用
个人 AI 项目

如果一个项目永远只调用一家厂商的一个模型,那么直接使用官方 API 就够了。

但只要项目需要:

多模型
+ 自动切换
+ Provider Fallback
+ 成本控制
+ 免费模型
+ 一个 API Key

OpenRouter 就会非常方便。

简单来说:

OpenRouter 不是一个大模型,而是位于你的应用和各家大模型之间的一层统一 API、模型路由、Provider 路由、计费和故障转移服务。

对于个人开发者,比较实用的方案就是:

购买 $10 Credits -> 平时使用 :free 模型 -> 每天最多 1000 次免费请求 -> 复杂任务再调用便宜的付费模型 -> 真正困难的问题最后才交给 GPT 或 Claude。