各家大模型 API 计费规则与计费单位对比
不同厂商的计费规则细节差异很大:有的按千 token 计,有的按百万 token 计;有的区分”缓存 token”,有的对推理过程单独收费。搞清楚这些差异,才能准确预估账单、避免意外开销。
我见过一个真实的乌龙:某团队按一张旧价格表估算某月账单,实际扣费出来翻了好几倍——查了半天才发现,那张表里有的模型价格早就切成百万 token 计价了,团队照着千 token 的老口径去乘,算出来的数字自然对不上。这种坑几乎每个自己搭网关、自己核账单的团队都摔过,问题往往不出在厂商多收了钱,而出在你对着价格表算的那一步就已经算错了。这篇把容易踩的几个细节摊开讲清楚,免得你重复交这份学费。
声明:以下为截至 2026-06 的定性对比,仅供参考,以各厂商官方定价页面为准。
计费单位:千 token vs 百万 token
历史上 API 按**每 1k token(千 token)计费,近年来随着价格下降,行业正在向每 1M token(百万 token)**迁移,同样的价格数字含义完全不同——看价格表时务必注意单位:
| 厂商类型 | 计费单位 | 备注 |
|---|---|---|
| OpenAI | 每 1M token | 已全面迁移至百万 token 计费 |
| Anthropic | 每 1M token | 同上 |
| Google Gemini | 每 1M token | 同上 |
| 阿里云百炼(Qwen) | 每 1M token | 部分旧接口仍为 1k token |
| DeepSeek | 每 1M token | 同上 |
| 百度千帆 | 每 1k token / 每 1M token | 视模型而定,需确认 |
| 月之暗面(Kimi) | 每 1M token | 同上 |
核实方法: 在价格表中找到”单位”或”pricing unit”字段,或通过 价格对比表 统一查看。
单位看错的代价有多大,算一笔账就明白:假如价格页写的是”输入 $0.5 / 1M token”,你误当成”$0.5 / 1k token”来估算月度成本,算出来的预估费用会比实际账单低整整 1000 倍——反过来如果你把 1k 的单价当成 1M 来估,又会白白吓自己一跳,以为要付一大笔钱。阿里云百炼这类同时存在新旧接口的厂商尤其要小心:旧版模型接口可能还停留在千 token 计价,新版模型已经切到百万 token,同一个账号下调两种接口,价格表上的数字位数完全不在一个量级,混着看很容易看串。核对方法很简单:拿一次真实调用的 token 用量,手动按价格表算一遍理论成本,跟账单对一下,对不上大概率是单位读错了,而不是厂商悄悄涨价。
输入/输出分开计费:行业标准
几乎所有主流 API 均采用输入 token 和输出 token 分开定价的模式,输出单价通常为输入的 3–5 倍(详见 输入价与输出价为什么不同)。
这个倍率差会直接影响你的成本优化优先级。举个具体计算:假设输入单价 $1/1M token、输出单价 $4/1M token,一次调用输入 2000 token、输出 2000 token,总成本 = 2000×1/1,000,000 + 2000×4/1,000,000 = $0.002 + $0.008 = $0.01,输出部分占了整单账单的 80%。这也是为什么”把生成 500 字长文改成生成 100 字摘要”往往比”精简 prompt 本身”省钱效果更明显——很多人下意识去压缩输入,却忽略了让模型少说几句话,省下的钱通常更多。做成本优化时,先看输出长度能不能收窄,再回头抠输入。
特殊计费项:各家差异最大的地方
| 计费项 | OpenAI | Anthropic | 国内主流厂商 |
|---|---|---|---|
| Prompt Caching(缓存命中) | 支持,缓存读取约 50% 折扣(自动) | 支持,需显式标记,约 10% 折扣 | 部分支持,各家规则不同 |
| Batch API(批量折扣) | 支持,约 50% 折扣 | 支持 Message Batches | 部分厂商提供 |
| 推理思考 token | o 系列输出含思考 token,按输出价计 | Extended Thinking 单独标注 | DeepSeek-R1 有 reasoning_tokens |
| Embedding 调用 | 单独定价 | 不提供 Embedding API | 阿里/百度各有独立 Embedding 价格 |
| 图像/多模态输入 | 按图像分辨率换算 token | 按图像大小估算 | 各家规则不同 |
表格背后每一项都有值得展开的坑:
- Prompt Caching:本质是复用 KV Cache 的中间计算结果,前提是输入前缀要逐字节一致,哪怕多一个空格都会失效。OpenAI 是自动触发的(满足最小长度门槛就生效,不需要你写代码申请),Anthropic 需要在请求里显式打
cache_control标记,漏标就等于白白放弃了这项折扣,账单不会告诉你哪里本可以更便宜。 - Batch API:便宜的代价是慢——批量任务通常异步提交,几小时到 24 小时内才返回结果,适合离线打标、批量摘要这类不要求实时响应的任务。拿它跑在线客服,用户等到超时都收不到回复。
- 推理思考 token:像 o 系列、DeepSeek-R1 这类推理模型,内部会先生成一段”思考过程”再给出最终答案,这段思考过程即使不展示给用户,也是按输出单价全额计费的。同样一个问题,推理模型的账单可能是普通模型的好几倍,选型时得把这部分隐藏成本算进去,不能只看回答本身的字数长短。
- Embedding 调用:定价体系和对话模型完全独立,单价通常便宜得多(只做一次前向编码,不需要自回归逐 token 生成),但调用频次往往是对话模型的几十倍——每次 RAG 检索前都要先把文档切块过一遍 embedding,量大了照样是一笔不小的开销,不能因为单价低就完全忽略。
- 图像/多模态输入:不同厂商换算方式不同,大体思路都是按图像分辨率折算成等效 token 数。同一张图,分辨率越高、被切分的图块越多,消耗的 token 也越多,压缩图片分辨率是控制这块成本最直接、最立竿见影的手段。
免费额度与试用策略
| 厂商 | 免费额度情况 |
|---|---|
| DeepSeek | 新用户有一定免费 token 额度 |
| 阿里云百炼 | 部分模型有限时免费额度 |
| 百度千帆 | 部分场景提供试用 token |
| 月之暗面(Kimi) | 新用户有免费额度 |
| OpenAI | 无常规免费额度,需付费 |
| Anthropic | 无常规免费额度,需付费 |
免费额度政策随时可能调整,建议查阅官方最新公告。
免费额度通常还带着几个容易被忽略的隐藏限制:有效期(比如注册后一段时间内用不完就作废,不是永久生效)、并发限制(免费额度下 QPS 往往被压得很低,拿它跑生产环境的真实流量根本跑不动)、模型限制(大多只开放某个特定的轻量版本,不包含旗舰模型,你测试时用得爽,真上线换成付费模型体验和成本都会变)。把免费额度当作”试驾”而不是”生产资源”来规划,才不会在额度耗尽的那天手忙脚乱地紧急切换。
容易忽略的隐性计费
1. System Prompt 每轮都计入输入
System prompt 不是”只写一次”,每次调用都会被计入输入 token,如果 system prompt 很长且未启用缓存,这是最大的隐性成本之一。
2. 工具调用(Function Calling)的 schema 占 token
定义工具时传入的 JSON Schema 会被计入输入 token。工具越多、描述越详细,每次调用的固定成本越高。
3. 错误请求不一定退费
部分厂商对已处理但因格式问题返回错误的请求仍会计费,需要在代码层面做格式校验,减少因错误触发的无效消耗。
4. 重试和超时导致的重复计费
如果你的客户端在请求超时或遇到网络抖动时做了自动重试,而没有做幂等控制,很可能出现这种情况:模型其实已经处理完并返回了 token 消耗,只是响应包在网络上丢了,你的客户端没收到就发起了重试——这一单实际上被计费了两次甚至更多次,而你完全看不出来,因为每次请求单独看都是”正常处理”。规避办法:优先用厂商提供的幂等 key(部分 API 支持在请求头带上幂等标识),没有原生支持的话,在业务层给每个请求生成唯一 ID 并做结果缓存,重试前先判断是网络问题还是服务端确实没处理完。
自己动手核一遍账单
厂商仪表盘上的汇总数字看着方便,但出问题时定位不到具体是哪次调用多花了钱。建议自己按下面的步骤核一遍账单构成:
- 挑一次线上真实调用,从日志里翻出对应的
usage字段,记下prompt_tokens和completion_tokens(如果有cached_tokens或reasoning_tokens也一并记下)。 - 对照官方价格表,先确认输入价、输出价的计费单位是 1k 还是 1M,再把两个 token 数分别乘以对应单价算出理论成本。
- 把算出来的理论成本和账单里这次调用对应的实际扣费做比对——如果对不上,大概率是漏看了某个特殊计费项,比如缓存折扣没生效、多模态输入被单独按图像计费、或者命中了 reasoning token。
- 把这套核算逻辑写成一个小脚本固化下来,每天抽样跑一次,而不是等到月底账单出来才发现异常。
你应该看到什么: 抽样核对出来的理论成本和实际扣费,误差应该控制在 5% 以内(误差主要来自缓存命中率的波动,命中率越不稳定误差越大)。如果差距超过 20%,说明账单里藏着你还没识别出来的计费项,回头把上面那张特殊计费项表格再过一遍,大概率能找到源头。
常见问题
同一厂商不同模型计费规则相同吗?
不一定。同一厂商旗下的旗舰模型、轻量模型、推理模型往往有不同的单价和计费规则(如推理模型有思考 token 额外计费)。切换模型时必须重新核对价格表。
企业合同价和按量付费价差多少?
差距因厂商和用量而异,一般在 10%–30% 不等,超大用量客户可谈更高折扣。企业合同通常还附带 SLA 保障和专属支持。
如何精确追踪每次调用的实际计费 token 数?
所有主流 API 的响应中都会包含 usage 字段,记录 prompt_tokens、completion_tokens(以及可能的 cache_read_input_tokens 等),建议在日志中记录这些字段,定期汇总分析账单来源。
延伸阅读:
- 计费原理总览:大模型 token 计费完全指南
- 输入输出价差:输入价与输出价为什么不同
- 预付后付选择:预付费 vs 后付费怎么选
- 超额处理策略:超额与限额处理
- 实时价格对比:价格对比表
- 更多成本话题:token 成本专题