计费公式
一次请求的费用,是四个计费项分别乘以各自单价后相加:
- 输入:没有命中缓存、也没有写入缓存的输入 token。
- 缓存写入:第一次把内容写入缓存的 token,分 5 分钟和 1 小时两档有效期。
- 缓存读取:缓存有效期内再次发送、命中缓存的 token,单价最低。
- 输出:模型生成的 token。
下面的算例使用 Claude Opus 5.5(claude-opus-5-5),单价为每百万 token:输入 ¥10.00、输出 ¥50.00、缓存读取 ¥0.50、缓存写入 5 分钟 ¥12.50(官方 $5)。算例中的 token 数是为演示假设的数字,不是实测数据。
算例一:首轮请求
Claude Code 的第一轮会把系统提示和项目上下文写入缓存。假设这一轮:输入 2,000、缓存写入(5 分钟)30,000、输出 1,500 token。
| 项目 | token | 单价 / 百万 | 费用 |
|---|---|---|---|
| 输入 | 2,000 | ¥10.00 | ¥0.0200 |
| 缓存写入 5 分钟 | 30,000 | ¥12.50 | ¥0.3750 |
| 输出 | 1,500 | ¥50.00 | ¥0.0750 |
| 合计 | ¥0.4700 |
算例二:缓存命中后的下一轮
下一轮在缓存有效期内发起,前面 30,000 token 的上下文命中缓存。假设这一轮:输入 800、缓存写入 2,500、缓存读取 30,000、输出 1,200。
| 项目 | token | 单价 / 百万 | 费用 |
|---|---|---|---|
| 输入 | 800 | ¥10.00 | ¥0.0080 |
| 缓存写入 5 分钟 | 2,500 | ¥12.50 | ¥0.0313 |
| 缓存读取 | 30,000 | ¥0.50 | ¥0.0150 |
| 输出 | 1,200 | ¥50.00 | ¥0.0600 |
| 合计 | ¥0.1142 |
没有缓存会怎样
同样是算例二的请求,如果上下文都按普通输入计价(输入共 33,300 token),费用是 ¥0.3930,是有缓存时 ¥0.1142 的约 3.4 倍。缓存读取的单价只有普通输入的 5%,这就是长会话里缓存最省钱的原因。缓存是否命中取决于客户端怎么组织提示,Claude Code 默认会使用,所以我们不承诺具体命中率。
怎么核对
控制台的使用日志逐条列出每次请求的型号、输入 / 输出 / 缓存写入 / 缓存读取 token 数和扣费金额。用日志里的 token 数代入上面的公式,就能复算任何一笔。失败的请求不计费,也不会出现在扣费里。