缓存命中、缓存写入和普通输入,如何计算一次文本调用费用?
更新于 2026-09-29。价格为当日读取的本站公开目录快照,算例为合成数据,不是客户账单。充值和调用前请核对控制台当前有效价格;本文不用于代替实际结算记录。
如果一次请求包含缓存,不能把全部输入 Token 按普通输入收费后,再加上缓存费用。本站以下四款文本模型按互斥分类计算。
先把输入拆成三部分
- 输入总量:
I - 缓存命中:
C - 缓存写入:
W - 普通输入:
I − C − W - 输出总量:
O
费用(USD)=
[(I − C − W) × 普通输入价
+ C × 缓存命中价
+ W × 缓存写入价
+ O × 输出价] / 1,000,000
如果分类之和大于输入总量,说明数据口径需要核对,不能算出负数普通输入后直接结算。缺少缓存明细也不能自行推断所有输入都命中或写入缓存。
四款模型的价格快照
单位:USD / 百万 Token。下面保留计算所需精度,网站卡片可能只显示两位小数。
| 模型 ID | 普通输入 | 缓存命中 | 缓存写入 | 输出 |
|---|---|---|---|---|
gpt-6-astra |
9 | 0.90 | 11.25 | 45 |
gpt-5.6-sol |
3.60 | 0.36 | 4.50 | 18 |
gpt-5.6-terra |
1.10 | 0.11 | 1.375 | 6.60 |
gpt-5.6-luna |
0.07 | 0.007 | 0.0875 | 0.42 |
这些是本站标准短上下文价格快照,已经包含对应折扣,不能再乘一次折扣。当前公开文档说明长上下文阶梯费率尚未同步实施;不要把短上下文价格解释为任意长度请求的永久承诺。GPT-5.6 Sol / Luna 与 GPT-6 Sol / Luna 不是同一模型 ID。
一个 Terra 算例
假设一次请求的输入总量为 10,000,其中命中 6,000、写入 1,000,输出 2,000。
| 项目 | Token 数 | 计算 | USD |
|---|---|---|---|
| 普通输入 | 3,000 | 3,000 × 1.10 / 1,000,000 | 0.003300 |
| 缓存命中 | 6,000 | 6,000 × 0.11 / 1,000,000 | 0.000660 |
| 缓存写入 | 1,000 | 1,000 × 1.375 / 1,000,000 | 0.001375 |
| 输出 | 2,000 | 2,000 × 6.60 / 1,000,000 | 0.013200 |
| 合计 | — | — | 0.018535 |
推理 Token 若已包含在输出总量中,不应再次叠加。total_tokens 也不能作为额外收费项目。
为什么不能直接用页面两位小数复算
Luna 的缓存命中价为 0.007,显示两位小数时可能看到 0.01。按显示值计算就会产生误差。内部计算应使用有效价格的完整精度,避免在每个中间步骤过早舍入。
账户扣费按系统适用汇率换算为人民币,并涉及内部微金额舍入及余额余数累计,因此上述 USD 算例不是人民币扣款数。核对账单时要结合当时有效价格、完整 usage、汇率及结算记录。
使用边界
这套四分类公式只用于上述四款文本模型,不要套用到所有模型或图片请求。预占余额也不是最终费用。超时或缺少 usage 时应先核对记录,不能假设免费或重复发起调用。