Guide · 使用教程
OpenRouter 多模型 API 教程:2026 年统一接入、路由与成本控制指南
从最小请求到生产路由,完整讲解 OpenRouter 的密钥保护、OpenAI SDK 兼容接入、模型回退、提供商与隐私约束、错误重试、额度监控和成本控制。
先说结论
OpenRouter 适合需要在一个应用中测试、切换或组合多个大模型的开发者。它提供统一的聊天补全接口,并兼容常见的 OpenAI SDK 调用方式。你可以先接入一个模型,再通过有序模型列表配置自动回退;也可以约束提供商、数据收集策略和零数据保留要求。
它不是“无限免费的模型 API”,也不是所有模型提供商的隐私与稳定性担保人。OpenRouter 负责统一路由和结算,实际请求仍会交给选定的模型提供商处理。生产环境必须同时评估模型费用、平台购点费用、速率限制、提供商政策、失败回退和日志中的敏感信息。
本文从最小请求开始,依次实现 Node.js 接入、OpenAI SDK 兼容调用、模型回退、提供商约束、错误处理、成本控制和上线检查。所有示例只读取环境变量 OPENROUTER_API_KEY,不要把真实密钥写进代码、前端或 Git 仓库。
OpenRouter 解决什么问题
直接对接多个模型厂商时,团队通常要分别处理不同 API 地址、认证方式、模型名称、定价单位、速率限制、区域可用性和故障机制。OpenRouter 把这些差异收敛到一个统一入口。原型阶段可以快速更换 model;生产应用可以提供有序候选,让服务在首选模型限速、下线或错误时继续尝试下一项。
系统也因此多了一层依赖。最终可用性由 OpenRouter、选定提供商、目标模型和自身应用共同决定。统一接口不代表统一 SLA,也不代表所有模型具有相同的隐私规则。
第一步:创建并保护 API Key
在 OpenRouter 控制台创建 API Key。官方认证文档支持为 Key 设置可选额度上限,这对测试环境和团队分发很重要。创建后不要把完整密钥粘贴到工单、聊天记录或截图中。
在本地 shell 中设置:
export OPENROUTER_API_KEY="your-key-here"
生产环境应使用部署平台的 Secret Manager、Kubernetes Secret 或云厂商密钥服务。不要把 Key 放进前端环境变量,因为浏览器中的密钥最终会暴露给用户;也不要提交包含真实值的 .env 文件。仓库只保留:
OPENROUTER_API_KEY=
开发、预发布和生产最好使用不同 Key,并设置不同额度。发生泄露时只需吊销受影响的 Key。
第二步:用 fetch 发送最小请求
聊天补全端点是 https://openrouter.ai/api/v1/chat/completions。Node.js 18+ 示例:
apiKey = process..;
(!apiKey) {
();
}
response = (
,
{
: ,
: {
: ,
: ,
: ,
:
},
: .({
: ,
: [
{
: ,
:
}
]
})
}
);
body = response.();
(!response.) {
(
);
}
.(body.[]..);
.(, body.);
常见问题
- OpenRouter 是什么?
- OpenRouter 是多模型 API 路由平台,用统一的聊天补全接口连接不同模型与提供商,并支持模型回退、提供商选择和集中结算。
- OpenRouter API 是否免费?
- 官方提供多款免费模型和有限的每日请求,适合学习与原型;生产使用通常需要充值并按最终模型计费,具体额度与价格以官方页面为准。
- 可以直接用 OpenAI SDK 调用 OpenRouter 吗?
- 可以。把 SDK 的 baseURL 设置为 https://openrouter.ai/api/v1,并使用 OPENROUTER_API_KEY;但仍要验证各模型对参数、工具调用和结构化输出的支持。
- OpenRouter 模型回退怎样计费?
- 回退列表按顺序尝试,最终由成功处理请求的模型计费。应记录响应中的实际模型、token 用量和价格,不能只按首选模型估算。
- OpenRouter 会保存提示词和响应吗?
- 官方说明默认不保存提示词和响应内容,除非用户选择相关日志或改进计划,但会保存请求元数据;实际模型提供商仍可能有自己的数据政策。
- 生产环境使用 OpenRouter 最重要的安全措施是什么?
- 密钥只放服务端 Secret,按环境拆分并设置额度;限制敏感数据,检查实际提供商政策,配置数据收集或 ZDR 约束,并避免在日志中记录完整提示词和响应。