操作速览
- 拆分用量:输入、输出与缓存分别记录。
- 匹配费率:核对模型和适用计价条件。
- 计算任务成本:加入批处理与其他收费项目。
建立一条 Claude 成本记录
1. 分别记录普通输入、缓存创建、缓存读取和输出,再确认批处理、上下文等修饰条件。
2. 不要把缓存命中率按请求数估算成 token 命中率,长短请求混合时两者可能差很多。
3. 工具调用与其他费用按官方原表补齐,最后对照实际 usage。模型检测只能检验响应特征,不能验证你的账单归属。
先把 Claude 价格拆成可组合的桶
Claude API 的成本不只有输入和输出。工程账本还应记录普通输入、不同 TTL 的缓存创建、缓存读取、Message Batches 修饰、长上下文与可能的工具费用;每个桶绑定模型和费率生效日期。
统一公式可写为输入各桶 token×对应倍率或单价,再加输出与工具项。具体货币单价不写入业务代码,而从核验于 2026-08-29 的官方定价快照读取,避免模型更新后旧值继续结算。
本节参考:Claude API PricingClaude Token counting
Prompt Caching 要按写入、读取和 TTL 分账
截至 2026-08-29,Anthropic 官方定价说明 5 分钟缓存写入按基础输入价的 1.25 倍、1 小时写入按 2 倍、命中读取按 0.1 倍计费。对稳定前缀 B 和 N 次总调用,无缓存成本是 N×B×输入价;缓存成本是首次写入加后续读取。
Claude usage 将 input_tokens、cache_read_input_tokens 与 cache_creation_input_tokens 分开;混用 TTL 时还可看到 5 分钟和 1 小时写入的细分。真实缓存成本要逐桶乘价,不能用 total input 统一乘基础输入价。
本节参考:Claude Token countingClaude Prompt caching
Message Batches 是独立处理层
Message Batches 将多条 Messages 请求装入一个异步作业,但每条请求独立处理。官方文档截至 2026-08-29 说明,单批最多受 100,000 条请求或 256 MB 两者中先达到的限制约束,并在完成或 24 小时到期后提供结果。
Anthropic 官方定价说明 Batch 对输入和输出 token 提供 50% 折扣,Prompt Caching 的写入与读取乘数还能与 Batch 修饰符叠加。计算时保留 input_tokens、cache_creation_input_tokens、cache_read_input_tokens 和 output_tokens 四个桶。
本节参考:Claude Prompt cachingClaude Batch processing
用 token counting 预算,用最终 usage 对账
Claude token counting endpoint 接受与 Messages 相同的 system、messages、tools 等结构,可在排队前估计输入规模。估计适合做预算、模型路由和 Batch 分片,最终账单仍应使用实际响应或批次结果中的 usage。
对账表至少保留 model、input_tokens、cache_creation_input_tokens、cache_read_input_tokens、output_tokens、batch 标志和费率版本。重试必须关联原请求,避免把重复消耗误算成模型单价上涨。
本节参考:Claude Batch processingClaude API Pricing
参考来源
价格、规则和产品状态可能变化,可通过这些原始页面确认当前信息。
常见问题
Claude Prompt Caching 和 Message Batches 的优惠能同时算吗?
官方定价文档说明相关修饰可组合,但应分别应用缓存写入/读取与 Batch 处理层规则,并以实际 usage 和最新官方页复核。
Claude token counting 的结果就是最终账单吗?
它是请求前估计,结构化输入与最终处理可能产生轻微差异;完成后应以实际 usage 对账。
