很多人第一次用 OpenRouter 是冲着免费模型去的,跑通一次之后开始往项目里放,结果某天请求集体失败,或者账单里冒出意料之外的费用,才发现免费和付费是混在一起的。这篇把免费额度的几种来源、怎么在站内查到当下数字、以及被限流时按什么顺序排查讲一遍,看完你能自己判断这活该不该放在免费层跑。
很多人第一次用 OpenRouter 是冲着免费模型去的,跑通一次之后开始往项目里放,结果某天请求集体失败,或者账单里冒出意料之外的费用,才发现免费和付费是混在一起的。这篇把免费额度的几种来源、怎么在站内查到当下数字、以及被限流时按什么顺序排查讲一遍。
看完你能自己判断这活该不该放在免费层跑。全文不给固定数字,因为这类额度经常调整,写死的值一两天就过期,需要时按文中路径去站内核对当刻的情况。
OpenRouter 的「免费」其实有好几层,别混着算
最常见的误解是把免费模型当成无限量。它只是单价为零,请求频率、单次 token 数、每天总量仍然有上限,只是这些上限不体现在账单上,而是体现在报错里。所以在动手之前,先想清楚你用的是哪一层免费。
- 免费模型:单价为零的那类模型,按次调用不收钱,但仍受频率和每日总量约束,超了就是直接报错,不会悄悄转成付费
- 试用位:厂商放出来的限时免费入口,随时可能提价或下线,适合验证效果,不适合当长期依赖
- 账户赠送与活动额度:充值或活动送的余额,有有效期,耗尽顺序和新旧规则要去 /plans 看当时的说明
- 自带 key(BYOK):用你自己的上游 key 走 OpenRouter,计费和限流口径按上游算,不在同一套规则里
什么情况不适用:如果你要做对外提供、有稳定性和响应时间要求的服务,免费层基本都不合适。模型随时可能下架或缩容,限流也没有提前通知,把它写进承诺里迟早出事。具体某个模型的单价和上下文长度,到 /models 看当时列出的值。
额度还剩多少、上限是多少,去哪看
这件事没有捷径,必须在登录状态下看后台当刻的数字。站内的页面能帮你确认「有哪些免费位、成本大概什么水平」,但具体到你的账户还剩多少、当天用了多少,只有控制台的用量页是准的。
| 你想确认的事 | 站内去哪看 |
|---|---|
| 当前在架模型与免费位 | /openrouter 的榜单与入口页 |
| 模型单价、上下文长度 | /models 的模型资料库 |
| 官方计费口径与厂商差异 | /official-api 与 /official-api/providers |
| 聚合平台之间的价差与变动 | /sites 配合 /price-watch |
| 自己按任务估算成本 | /tools/model-cost-calculator |
控制台的用量页通常只给聚合数字,想按模型、按项目拆开看,得自己在代码里记日志。日志至少要包含时间、模型名、输入输出 token 数、状态码这四项,不然出问题时无法定位。带 :free 后缀的模型和完全免费的模型不是一回事,前者多为厂商的试用位,随时可能变,名单去 /openrouter 对一遍。
被限流了,按这个顺序排查
免费的报错最容易让人误判,因为错误信息往往只给一个状态码。先分类再动手,能省掉一大半无用功。
- 第一步:分状态码429 是请求太密,方向是降并发、加退避;402 或 403 是额度或权限问题,方向是查余额、查模型是否还可用。两者处理方式相反,别混着改。
- 第二步:换一个免费模型试如果换模型就好,说明是那个模型临时下线或缩容,不是你的账号出问题。免费位变动频繁,这步能最快把范围缩小。
- 第三步:检查重试逻辑失败后立刻重发会持续撞限流,越重试越糟。改成带退避的重试,并把同一轮里可以合并的请求合并,具体做法参考站内讲重试成本的那几篇。
- 第四步:查 key 是否被多人共用多人或多个客户端共用同一个 key,会共享同一份免费额度,很容易互相挤掉。给每个使用者发独立 key 再观察一轮。
- 第五步:看额度是不是当天已经用完如果连最简单的请求都失败,去控制台用量页确认当天的累计消耗,再看 /plans 里关于额度重置规则的说明。
先分类错误码,再动手改,不然你是在用改代码的方式解决额度问题。
排查的顺序不要跳:状态码分类永远排在最前面,因为后面所有动作都取决于它是频率问题还是额度问题。这一步做错,后面改什么都没用。
什么时候该从免费层挪到付费
不需要一有压力就付费,也不要为了省那点钱把项目卡死。判断是否该挪,看的是任务性质,不是金额大小。
- 任务开始有明确的交付时间要求,免费层的排队和限流会直接拖慢进度
- 单次请求的上下文经常顶到模型上限,说明任务规模已经超出免费位的适配范围
- 你需要固定的模型行为而不是「有什么用什么」,因为免费位随时可能换模型
- 团队里多人协作,共享免费额度已经开始互相干扰,沟通成本高于付费成本
挪之前先算一笔账:把免费层实际跑的那类任务,按当前用量倒推付费要花多少。方法是用自己的日志配合 /tools/model-cost-calculator,不要用别人文章里的估算值,因为你的输入输出比例和别人完全不同。
不适用的情况要说清楚:纯个人试玩、临时脚本、学习性质的调用,继续待在免费层完全合理。这类场景对延迟和稳定性没有硬要求,付费买不到对应的收益。别为了显得「专业」而提前付费。
下一步先去 /models 对一遍你要用的模型当前是否在架、单价和上下文是多少,再回控制台核对当天用量,两处数字对上了再决定这活放免费层还是挪走。→常见问题
OpenRouter 的免费模型是永久免费吗?
不承诺。免费位通常由上游厂商决定放不放、放多久,随时可能下线、改名或缩容,也可能突然从零价变成收费。判断方法很简单:接之前先看站内模型库那一页的当前标注,接之后在你的代码里留一个模型名可配置的开关,一旦它变了,改一行就能切走。
免费额度用完后会自动扣钱吗?
取决于你的账户设置和余额情况,不同时期规则不一样,有的会直接失败返回错误,有的会落到付费模型上继续跑。稳妥做法是后台把自动充值关掉,余额只留一点点,并在自己的调用层加一层预算判断,超了就停,别等到月底看账单。
同一个 key 给多个项目用,会互相抢额度吗?
会。请求上限是按账号或 key 维度算的,几个服务同时打同一个 key,任何一个把配额跑满,其他都会跟着报错。建议按项目拆 key,把跑批量的和跑实时交互的分开,出问题时也能一眼看出是谁把额度吃掉的。