一、简介与适用场景
OpenRouter 是海外最大的模型路由聚合站:用一个 Key、一套 OpenAI 协议,就能访问数百个来自不同厂商的模型,包括 GPT、Claude、Gemini、DeepSeek、Llama、Qwen 等等。它真正解决的痛点是「换模型不用换代码」——想对比两个模型的效果,只需改一个字符串。
对预算敏感的用户,它还提供了一批带 :free 后缀的免费模型。这些额度由 OpenRouter 与上游合作方共同承担,能力覆盖到 DeepSeek R1、Llama 3.3 70B 这样的一线开源模型,做原型验证完全够用。
适合看这篇的情况:需要横向评测多个模型、想用一个 Key 管住所有供应商、或者想零成本试用海外一线开源模型。注意它是海外服务,国内直连通常不稳定。
二、注册与获取 Key
- 打开 OpenRouter,用 Google 或 GitHub 账号登录,无需手机号。
- 点击「Create Key」,可以给 Key 设置一个消费上限,防止意外超支。
- 复制
sk-or-v1-开头的字符串,同样只显示一次。 - 免费模型到此即可使用;但账户里有少量余额时,免费档的每日请求上限会显著提高,这是官方明确的规则,值得为此充值几美元。
三、Base URL 与鉴权
- Base URL:
https://openrouter.ai/api/v1 - 鉴权方式:
Authorization: Bearer sk-or-v1-xxxx - 对话端点:
/chat/completions
模型 id 采用 厂商/模型名 的形式,免费版本在末尾加 :free,例如 deepseek/deepseek-r1:free。漏掉 :free 后缀就会走付费通道扣余额,这是最容易造成「怎么莫名其妙扣钱了」的地方,务必看清楚。
另外 OpenRouter 支持两个可选请求头:HTTP-Referer 和 X-Title,用于在官方排行榜上标识你的应用。不填不影响调用。
四、客户端接入示例
Cherry Studio、LobeChat 等都内置了 OpenRouter:
- 打开「设置 → 模型服务 → OpenRouter」。
- API 密钥填
sk-or-v1-字符串。 - API 地址保持默认
https://openrouter.ai/api/v1。 - 点「管理」拉取模型列表,在搜索框里输入
free就能筛出所有免费模型。 - 首次测试建议选
deepseek/deepseek-chat-v3-0324:free,稳定性相对较好。
五、代码示例
curl:
curl https://openrouter.ai/api/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-d '{
"model": "deepseek/deepseek-r1:free",
"messages": [{"role": "user", "content": "用一句话解释什么是 API"}]
}'
Python:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["OPENROUTER_API_KEY"],
base_url="https://openrouter.ai/api/v1",
)
resp = client.chat.completions.create(
model="deepseek/deepseek-r1:free",
messages=[{"role": "user", "content": "用一句话解释什么是 API"}],
extra_headers={"X-Title": "My Demo App"},
)
print(resp.choices[0].message.content)
Node.js:
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.OPENROUTER_API_KEY,
baseURL: 'https://openrouter.ai/api/v1',
defaultHeaders: { 'X-Title': 'My Demo App' },
});
const resp = await client.chat.completions.create({
model: 'meta-llama/llama-3.3-70b-instruct:free',
messages: [{ role: 'user', content: '用一句话解释什么是 API' }],
});
console.log(resp.choices[0].message.content);
六、常见错误排查
| 错误码 | 现象 | 原因 | 解决方案 |
|---|---|---|---|
| 401 | No auth credentials found | Key 无效或被删除 | 到设置页重新生成 Key |
| 402 | 提示需要付费 | 用了付费模型但账户余额为零 | 充值,或在模型 id 后补 :free |
| 429 | Rate limit exceeded | 触发免费档的每分钟或每日上限 | 等待重置;充值少量余额可提高上限 |
| 404 | No endpoints found | 模型 id 拼错,或该模型暂无可用上游 | 到模型页复制准确 id,或换一个模型 |
| 502 | 上游返回错误 | 免费模型的上游提供方临时故障 | 换一个同级免费模型重试 |
| 内容被截断 | 回复没说完就停了 | 免费档对单次输出长度有限制 | 显式设置 max_tokens,或分段生成 |