Claude API 怎么计费:token 构成与估算
一句话答案:账单 = 输入 token × 输入价 + 输出 token × 输出价。输入 token 包含系统提示、历史对话、检索文档、文件内容、工具定义与工具结果;输出 token 是模型实际生成的文本。两者的单价不同,输出通常贵数倍。一次对话的账单往往远大于你看到的用户输入。
输入 token 包含什么
结论:你发给模型的一切都算输入,不只是用户输入的那句话。
- 系统提示与开发者指令、格式规则、安全约束;
- 历史对话(每轮都重发,见为什么 Agent 比聊天更烧 token);
- 检索到的文档片段(RAG)、上传文件的抽取文本;
- 工具 / 函数定义的 schema(开了缓存则按缓存读写价计);
- 工具调用的返回结果(JSON 也算)。
输出 token 包含什么
结论:模型实际生成的文本,以及它生成的工具调用、JSON 对象、代码补丁。
摘要、JSON 生成、代码补丁、Markdown 文档、长篇文案、数据清洗结果、多语言翻译都会产生大量输出 token。给不同场景设置合理的最大输出长度,避免模型在不必要的时候输出长解释。
为什么输出往往比输入贵
结论:因为输出是模型逐 token 生成、需要算力更多的部分,各档位模型的输出单价通常是输入的数倍(以官方价目表为准)。
这带来两个实操结论:长报告、长代码的输出是账单大头,要设上限;简单任务路由到便宜档位时,输出价差被放大,收益比输入价差更明显。
缓存与 Batch 的价怎么算
结论:除了标准输入与输出,缓存读取与缓存写入是单独计价的两类;Batch API 对输入与输出打折。具体数值以套餐定价页与官方文档为准。
| 计费类别 | 含义 |
|---|---|
| 标准输入 | 未命中缓存的普通输入 |
| 标准输出 | 模型生成 |
| 缓存读取 | 命中提示缓存的输入前缀,按更低的价 |
| 缓存写入(5 分钟 / 1 小时) | 建立缓存的一次性成本 |
估算时要把这几类分开,不要用「输入价 × 全部输入」一刀切,否则缓存策略的效果会算不出来。缓存机制见提示缓存原理。
按量、订阅还是固定费率
结论:Pro/Max 订阅是「聊天产品附带一点 API」,按 token 计费的 API 是「纯调用通道」,固定费率不限量是「周期内不按 token 计费」。三者不是谁更便宜,而是适合谁。
| 方式 | 本质 | 你得到什么 | 适合谁 |
|---|---|---|---|
| Pro / Max 订阅 | 消费级产品 | claude.ai 聊天界面、对话历史、文件上传,外加一定额度的 API 与 Claude Code 用量 | 主要在浏览器里用 Claude |
| 按 token 计费 API | 用量付费 | HTTP 接口,用多少算多少 | 程序化调用,用量小或波动大 |
| 固定费率不限量 | 周期套餐 | 订阅期内不按 token 计费 | 每天跑 Claude Code 跑长任务、处理大代码库或多个子代理 |
结论:Pro/Max 的 API 与 Claude Code 用量是「附带的」,不是「为主的」。它按 token 而不是按消息消耗,带子代理的长会话掉得很快,重度用户常在计费周期前几天就用完。额度用完只能等重置或额外接 API,见Claude 提示用量上限:分清是哪个计量器。
结论:「不限量」取消的是按 token 计费,不是并发与压测能力。服务要保证所有用户稳定访问,仍有公平使用的速率与并发限制(具体数字见常见问题)。取消的是计费压力,不是工程上的流控。
判断依据很简单,不用心算「这次大概多少 token」就选固定费率;如果一周只调用几次、每次规模可预测,按量更省:
- 主要在网页聊天,偶尔调 API:Pro 或 Max。
- 每天写代码,Claude Code 只是辅助:Max 的附带额度可能够。
- 每天用 Claude Code 跑长任务、大代码库、多个子代理:固定费率不限量。
- 用量小、波动大、需要精确控制每次调用成本:按 token 计费。
接入方式(Base URL + Key)三种都一样,换计费方式不用换配置,见套餐定价。
四步估算一个月要花多少
结论:不要从理想化的 prompt 开始估算,从真实任务样本开始。
1. 收集代表性样本
一条带上下文的工单、一次代码库问答、一次文档分析、一次多轮对话、一次 JSON 抽取、一次 Claude Code 修复任务。
2. 估算每类样本的输入与输出 token
可以用 /cost 看一次真实会话的消耗,或在响应里读 usage 对象。
3. 乘以单价
月成本 ≈ Σ(每类样本的输入 token × 输入价 + 输出 token × 输出价)× 每月调用次数4. 同时估平均与重度
结论:中位数往往便宜,但 top 5% 的请求(大文件、长对话、复杂工具链、反复重试、超长输出)决定账单是否可预测。只看平均会低估峰值。
产品形态决定了这两种估算都重要:知识库问答里大多数用户只问简单问题,少数会上传几十页文档连续追问;代码助手里大多数请求只是解释函数,少数要求跨项目重构。
让估算更准的几个动作
- 给每个用户 / 工作区 / Key 设用量上限;
- 给请求设超时、最大重试次数、最大输出长度;
- 对重复输入开缓存;
- 对长文档分块与向量检索,别整篇塞进去;
- 给 agent 循环设步数上限;
- 区分可重试与不可重试错误,避免无意义循环。
常见问题
我的成本为什么比预期高?
请求里通常包含比你看到的用户输入更多的上下文:检索文档、长对话历史、代码文件、工具结果、多次 agent 步骤、失败后的重试。
按量计费一定比固定套餐划算吗?
不一定。按量适合轻量、偶发、可预测的负载;调用次数多、agent 多步执行时,固定费率更稳。
按量计费、订阅和不限量怎么选?
看你每次让模型读大文件、跑长会话前要不要心算「这次大概多少 token」。要,就选固定费率;一周只调用几次且规模可预测,按量更省;只在网页里聊天,Pro/Max 订阅就够。
不限量套餐真的什么都不限吗?
不是。取消的是按 token 计费,不是无限制并发与压测;仍有公平使用的速率与并发限制,具体数字见常见问题。
系统提示词要计入吗?
要。system 提示、开发者指令、安全策略文本、schema 描述、工具返回都算输入 token;工具定义如果开了缓存则按缓存读写价计。
相关阅读
- 提示缓存原理:缓存读写如何进入账单
- 为什么 Agent 比聊天更烧 token:输入按平方增长的数学
- Claude 提示用量上限:分清是哪个计量器:三种付费方式各自的边界
- 按任务选模型:把成本降下来的第一个杠杆