Appearance
OpenRouter API 使用 Bearer Token 进行认证。本页说明如何创建和使用 API key,包括直接调用 API 的 Authorization 头配置、通过 OpenAI SDK 集成的写法,以及 key 泄露时的紧急处理流程。OpenRouter 的 API key 比直接访问模型 API 的 key 权限更强——支持为 App 设置信用额度上限,也可用于 OAuth 流程。
OpenRouter API 认证
OpenRouter API 使用 Bearer Token 进行鉴权,与 curl 和 OpenAI SDK 完全兼容,无需额外适配。
使用 API Key
首先创建你的 key,给它起个名字,也可以设置信用额度上限(可选)。
直接调用 API:在请求头中设置 Authorization: Bearer <你的 API key>。
使用 OpenAI TypeScript SDK:将 api_base 设为 https://openrouter.ai/api/v1,apiKey 设为你的 key:
typescript
import { OpenRouter } from '@openrouter/sdk';
const openRouter = new OpenRouter({
apiKey: '<OPENROUTER_API_KEY>',
defaultHeaders: {
'HTTP-Referer': '<YOUR_SITE_URL>', // 可选,用于排行榜展示
'X-OpenRouter-Title': '<YOUR_SITE_NAME>', // 可选,用于排行榜展示
},
});
const completion = await openRouter.chat.send({
model: 'openai/gpt-5.2',
messages: [{ role: 'user', content: 'Say this is a test' }],
stream: false,
});
console.log(completion.choices[0].message);使用 curl 直接调用:
bash
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer <OPENROUTER_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o",
"messages": [{"role": "user", "content": "你好"}]
}'Key 泄露应急处理
API key 必须严格保密,绝不能提交到公开仓库。
OpenRouter 是 GitHub 的 secret scanning 合作伙伴,也有其他机制检测泄露的 key。一旦检测到 key 被泄露,你会收到邮件通知。
如果收到通知或怀疑 key 已泄露,立即:
- 访问 key 设置页面
- 删除被泄露的 key
- 创建新 key
最佳实践:使用环境变量存储 key,不要在代码库中硬编码。
typescript
// 正确:从环境变量读取
const apiKey = process.env.OPENROUTER_API_KEY;
if (!apiKey) throw new Error('OPENROUTER_API_KEY 未配置');常见问题
Q: OpenRouter 的 API key 和直接用模型 API 的 key 有什么区别?
A: OpenRouter API key 功能更强:支持为 App 设置信用额度上限、支持 OAuth 流程,还能统一管理跨多个提供商的用量。
Q: 忘了设置信用额度上限,app 会不会超支?
A: 可以在key 设置页面随时为 key 添加额度上限,超过上限的请求会返回 402 错误。
Q: 是否支持在浏览器端直接调用 API?
A: 技术上可以,但不建议——浏览器端 key 很容易被用户从 DevTools 里拿走。建议通过后端转发请求,或使用 OAuth 流程让用户自己付费。