大模型API价格对比怎么做:只看每百万token单价会算错的5个地方
做大模型API价格对比,不能只拿“每百万 token 多少钱”排个序。要把输入价和输出价分开,按你自己业务的输入输出比例算出“每次请求多少钱”,再把缓存、批处理、重试和 tokenizer 差异算进去。同一组模型,换一种负载,便宜和贵的顺序可能整个反过来。
下面先用一份可以复查的价格快照说明单价之间差多少,再讲最容易算错的 5 个地方,最后给一张能直接照着填的核对表。
现在的大模型 API 单价大概差多少?
我们用 cdnping 在 2026-10-17 抓取的 OpenRouter 公开模型目录做参照。这一天目录里共有 376 个模型;cdnping 重点跟踪其中 8 家厂商的 16 个最新模型(含同一模型的不同版本),下面看它们的目录价(美元 / 百万 token)。这里不写模型名,只看区间和比例,因为具体型号几周就会换一轮。
| 项目 | 快照中的范围 |
|---|---|
| 输入价 | 约 0.1 到 4 美元 / 百万 token |
| 输出价 | 约 0.47 到 12 美元 / 百万 token |
| 输出价 ÷ 输入价 | 16 个里有 15 个在 3 到 5 倍之间,1 个约 39 倍 |
| 上下文上限 | 多数在 100 万 token 左右,少数为 50 万和约 26 万 |
从表里能读出两件事。一是输入价最高和最低差了约 40 倍,选对档位比在同档里抠几分钱影响大。二是那个输出价约是输入价 39 倍的模型,输入价在快照里属于偏低的一档,输出价却接近最高档。只看输入价,它像是便宜货;只要你的任务输出多,它就不便宜了。
这些数字是 OpenRouter 的目录价,不一定等于各厂商官网的价格,也不包含各家的缓存、批处理等折扣。正式比价前请以官方价格页为准。实时的价格和可用率可以在 cdnping 的模型监测查看,调价记录在官网动态里逐行保留。
第 1 个坑:输入价和输出价为什么要分开算?
快照里 16 个模型全部对输入和输出分别定价,而且输出都比输入贵。只拿其中一个数比,或者把两者简单相加,都会失真。
正确的算法是按单次请求计算:
单次成本 = 输入 token 数 × 输入单价 / 1,000,000
+ 输出 token 数 × 输出单价 / 1,000,000
下面用快照里的三组真实价格点做示例(模型名隐去,记作 A、B、C),再假设两种典型负载。负载是示例,不是统计数据。
- A:输入 0.304,输出 11.936
- B:输入 4,输出 12
- C:输入 2,输出 10
| 每 1000 次请求的成本(美元) | A | B | C |
|---|---|---|---|
| 检索问答:输入 8000 / 输出 300 | 约 6.01 | 约 35.60 | 约 19.00 |
| 长文生成:输入 500 / 输出 3000 | 约 35.96 | 约 38.00 | 约 31.00 |
检索问答这类“读得多、写得少”的任务,A 只有 C 的三分之一左右;换成“读得少、写得多”的生成任务,A 反而比 C 贵。所以第一步不是查价格,而是先统计自己的请求里输入和输出各占多少。
第 2 个坑:输出价是输入价几倍,为什么要单独看?
输出输入价格比决定了模型对哪类任务“友好”。比值在 3 到 5 倍的模型,两类任务的成本排序比较稳定;比值很高的模型,成本对输出长度非常敏感。
有一类输出常被忽略:推理模型的思考过程。不少推理模型会把思考部分计入输出 token,界面上不一定显示,账单上却会体现。是否计费、怎么计,以各家官方文档为准。比较推理模型时,要用真实请求看一下返回的 usage 字段里输出 token 到底有多少,而不是按最终答案的长度估。
第 3 个坑:上下文上限和长上下文价格怎么影响成本?
上下文上限本身不收钱,但它决定了你需不需要额外的工程成本。快照里多数模型的上限在 100 万 token 左右,个别只有约 26 万。如果你的任务要塞进整个代码仓库或长文档,上限小的模型要切块、做检索,多出来的请求次数和重复输入都要算钱。
另外,有的厂商对超过某个长度的请求使用更高的单价。这类分段价格在汇总表里通常看不到,需要去官方价格页找“long context”或类似的说明。
第 4 个坑:缓存和批处理折扣该怎么算进去?
提示缓存(prompt caching)对重复前缀的输入按更低的价格计费,对系统提示很长、同一份文档反复问的场景影响很大。批处理接口则用更长的完成时间换折扣,适合离线任务。
这两项的折扣力度、最小缓存长度、缓存写入是否另收费,各家规则都不同,这里不列具体数字。算法上可以这样处理:
有效输入单价 = 命中缓存比例 × 缓存读取单价
+ (1 - 命中缓存比例) × 普通输入单价
+ 缓存写入的额外成本(按写入次数摊)
命中比例要用真实日志统计,别按理想值估。Claude 的缓存规则和常见误区可以看这篇:Claude API 提示缓存(prompt caching)怎么用才省钱。
第 5 个坑:同一段文字,为什么不同模型的 token 数不一样?
每个模型用自己的 tokenizer,同一段中文切出来的 token 数可能差不少。单价低一点的模型,如果同样的内容要多切出一截 token,省下的钱就被吃掉了。中文、代码、JSON 的差异尤其明显。
最直接的办法是拿你自己的真实样本去测。下面是一个通用的测法,适用于 OpenAI 兼容接口,把地址、密钥和模型名换成你要比的:
# 准备一段有代表性的真实输入,保存为 sample.txt
TEXT=$(python3 -c 'import json,sys;print(json.dumps(open("sample.txt").read()))')
curl -s "$BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"model\":\"$MODEL\",\"max_tokens\":1,\"messages\":[{\"role\":\"user\",\"content\":$TEXT}]}" \
| python3 -c 'import json,sys;print(json.load(sys.stdin)["usage"])'
max_tokens 设成 1,几乎只花输入的钱(个别推理模型对这个参数有最小值或改用别的参数名,报错时按其文档调整)。对每个候选模型跑一遍,记下 prompt_tokens,然后用“token 数 × 单价”比,而不是只比单价。账单上的 token 数和你本地估算对不上时,可以按AI API 账单对不上:token 计数口径与核对方法里的步骤逐项核对。
单价之外,还有哪些钱会算进账单?
失败和重试
请求失败后重试,前面已经发送的输入往往要再付一次。同一个模型在不同推理供应商上的可用率并不一样:在 cdnping 2026-10-17 的 OpenRouter 快照中,同一个模型的 36 条供应商线路,近 1 天可用率从约 88% 到 100% 不等。可用率低的那条线路,单价再低,也要乘上重试带来的放大系数。详细数据见同一模型换个 OpenRouter 供应商,可用率能差多少,API 入口本身的探测结果可以在 API 状态 页看。
量化版本
同一个模型名,不同供应商可能跑的是 fp8、fp4 等不同精度。便宜的那家如果用的是低精度版本,输出质量可能有差别,导致返工或多轮对话。怎么识别见模型变笨还是换了供应商:推理供应商与 fp8、fp4 模型量化。
计费单位不同
有的服务按 token 计价,有的按月订阅、按自定义额度单位计价。比如 AGI Plan(AGI Plan 是 cdnping 的商业合作方)用 CU 计量,1 CU 等于基准模型 1,000 个输出 token,按量付费时 1 元 = 500 CU,具体换算以 agiplan.dev/pricing 为准。比较这类服务时,同样要把它换算成“你的典型请求一次多少钱”,而不是拿套餐价和每百万 token 单价直接比。
能直接照着做的比价核对表
| 步骤 | 要做的事 | 产出 |
|---|---|---|
| 1 | 从日志里抽一周真实请求,统计平均输入、输出 token 和两者比例 | 你的负载画像 |
| 2 | 如果用推理模型,单独统计思考部分的输出 token | 实际输出长度 |
| 3 | 从官方价格页抄下候选模型的输入价、输出价、长上下文分段价 | 单价表(记下抄录日期) |
| 4 | 用上面的 curl 对同一批样本测 token 数 | 各模型的 token 系数 |
| 5 | 按“单次成本”公式算出每 1000 次请求的成本 | 基础成本 |
| 6 | 用真实日志估算缓存命中率,套入有效输入单价 | 折扣后成本 |
| 7 | 能离线跑的任务,按批处理价格另算一列 | 批处理成本 |
| 8 | 在 /models 查目标供应商的可用率,估算重试放大 | 含重试的成本 |
| 9 | 抽样对比输出质量,确认便宜的方案不会带来返工 | 质量结论 |
| 10 | 订阅 /changes 的 RSS,价格页变动时重算一次 | 持续有效的结论 |
做完这张表,常见的结论不是“选最便宜的模型”,而是按任务分档:检索、分类、格式化用便宜的,长链路推理和复杂修改用贵的。具体怎么拆可以参考多模型路由怎么做:按任务分流降低大模型成本,质量不明显下滑。
价格变了怎么知道?
搜索结果里常见的价格表不少停在几个月前,彼此数字也对不上:厂商调价后,转载的表很少有人跟着改。比起收藏一张表,更可靠的是盯住源头。cdnping 的官网动态监控多家官方价格页和更新日志,逐行记录增删;模型监测会自动记录 OpenRouter 上的上架、下架和调价。三条线路怎么配合使用,见大模型 API 价格变了怎么第一时间知道。
本文的价格快照来自 cdnping 2026-10-17 对 OpenRouter 公开 API 的抓取,cdnping 从这一天才开始采集,历史很短,单价请以官方价格页的最新数字为准。