跳到主要内容

OpenRouter API 配置指南:free 后缀模型与统一路由接入

OpenRouter 注册取 Key、Base URL 填写、带 free 后缀免费模型的使用方式与限流规则,附客户端接入与 curl / Python / Node.js 示例。

一、简介与适用场景

OpenRouter 是海外最大的模型路由聚合站:用一个 Key、一套 OpenAI 协议,就能访问数百个来自不同厂商的模型,包括 GPT、Claude、Gemini、DeepSeek、Llama、Qwen 等等。它真正解决的痛点是「换模型不用换代码」——想对比两个模型的效果,只需改一个字符串。

对预算敏感的用户,它还提供了一批带 :free 后缀的免费模型。这些额度由 OpenRouter 与上游合作方共同承担,能力覆盖到 DeepSeek R1、Llama 3.3 70B 这样的一线开源模型,做原型验证完全够用。

适合看这篇的情况:需要横向评测多个模型、想用一个 Key 管住所有供应商、或者想零成本试用海外一线开源模型。注意它是海外服务,国内直连通常不稳定。

二、注册与获取 Key

  1. 打开 OpenRouter,用 Google 或 GitHub 账号登录,无需手机号。
  2. 点击「Create Key」,可以给 Key 设置一个消费上限,防止意外超支。
  3. 复制 sk-or-v1- 开头的字符串,同样只显示一次。
  4. 免费模型到此即可使用;但账户里有少量余额时,免费档的每日请求上限会显著提高,这是官方明确的规则,值得为此充值几美元。

三、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:

  1. 打开「设置 → 模型服务 → OpenRouter」。
  2. API 密钥填 sk-or-v1- 字符串。
  3. API 地址保持默认 https://openrouter.ai/api/v1。
  4. 点「管理」拉取模型列表,在搜索框里输入 free 就能筛出所有免费模型。
  5. 首次测试建议选 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);

六、常见错误排查

错误码现象原因解决方案
401No auth credentials foundKey 无效或被删除到设置页重新生成 Key
402提示需要付费用了付费模型但账户余额为零充值,或在模型 id 后补 :free
429Rate limit exceeded触发免费档的每分钟或每日上限等待重置;充值少量余额可提高上限
404No endpoints found模型 id 拼错,或该模型暂无可用上游到模型页复制准确 id,或换一个模型
502上游返回错误免费模型的上游提供方临时故障换一个同级免费模型重试
内容被截断回复没说完就停了免费档对单次输出长度有限制显式设置 max_tokens,或分段生成