Claude学院

Claude API 价格详解:各模型计费方式与省钱对比

Claude API 按 Token 计费,输入和输出分两套单价,输出 Token 通常比输入贵约 5 倍。三档主力模型从贵到便宜依次是 Claude Opus 4.8、Claude Sonnet 4.6、Claude Haiku 4.5,相邻档位单价大约差 3~5 倍。省钱的核心不是只挑便宜模型,而是「对的任务用对的模型 + 用足缓存和批处理」。下面把计费规则、估算方法和省钱对比讲清楚(确切价格随时调整,请以 Anthropic 官网为准)。

Claude API 到底按什么收费

计费单位是 Token(不是字数、不是请求数)。一次 POST /v1/messages 调用,账单由两部分相加:

  • 输入 Token(input):你发送的全部内容——system 提示词、历史消息、本轮 user 消息、工具定义、图片等,全都计入。
  • 输出 Token(output):模型生成返回的内容。输出单价明显高于输入,所以让模型「少说废话」比「少喂内容」更省钱。

调用响应里会带一个 usage 字段,明确列出本次消耗:

"usage": {
  "input_tokens": 3571,
  "output_tokens": 727,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 6656
}

对账时把 input_tokens × 输入单价 + output_tokens × 输出单价 相加即可。缓存相关的两项后面单独说。关于一个汉字大约几个 Token、如何精确统计,可以看 Claude API Token 怎么计算?附在线估算方法

三档模型怎么计费、怎么选

三款模型共用同一套 Messages API,区别只在能力、上下文窗口和单价。下表是相对关系(绝对价格以官网为准):

模型模型 ID上下文窗口相对单价适合场景
Claude Opus 4.8claude-opus-4-81M最高复杂推理、长程 Agent、代码大改
Claude Sonnet 4.6claude-sonnet-4-61M中等(约 Opus 的 3/5)日常对话、生成、工具调用主力
Claude Haiku 4.5claude-haiku-4-5200K最低(约 Sonnet 的 1/3)分类、抽取、改写等高并发简单任务

三者的输出单价都是各自输入单价的约 5 倍。选型的基本判断:能用 Haiku 跑通的批量任务别上 Sonnet,需要长链路推理或高质量代码再上 Opus。详细取舍见 Claude 模型怎么选?Opus / Sonnet / Haiku 选型指南Claude Opus 和 Sonnet 区别详解:性能、价格、场景对比

先学会估算成本

不要用 OpenAI 的 tiktoken 估 Claude——它会偏差 15%~20% 甚至更多。官方做法是调 count_tokens 接口,模型不同 Token 数也不同,所以要传你实际要用的模型 ID:

from anthropic import Anthropic

client = Anthropic()  # 读取环境变量 ANTHROPIC_API_KEY
resp = client.messages.count_tokens(
    model="claude-opus-4-8",
    messages=[{"role": "user", "content": open("prompt.md", encoding="utf-8").read()}],
)
print(resp.input_tokens)  # 这就是这段输入的精确 Token 数

把输入 Token 数 ×(次数)就能估出月成本。输出无法事前精确统计,但可以用 max_tokens 设上限来兜底——这同时是控成本和防截断的关键参数。

三个真正有效的省钱机制

1. Prompt 缓存:重复前缀只花约 1/10 的钱

如果多次请求共享同一段大前缀(固定 system 提示词、少样本示例、检索到的长文档),用 cache_control 打缓存断点。命中缓存的部分按 约 0.1 倍输入价计费(写入缓存首次约 1.25 倍)。Python 示例:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    system=[{
        "type": "text",
        "text": LARGE_SHARED_PROMPT,          # 大段固定前缀
        "cache_control": {"type": "ephemeral"},
    }],
    messages=[{"role": "user", "content": "本轮的具体问题"}],
)
print(response.usage.cache_read_input_tokens)  # 大于 0 说明命中了缓存

关键纪律:缓存是前缀匹配,前缀里任何一个字节变化(比如往 system 里塞当前时间戳)都会让缓存全部失效。把固定内容放前面、把每次都变的内容(时间、ID、本轮问题)放最后。若 cache_read_input_tokens 一直是 0,多半是有「隐形失效源」。

2. 批处理(Batches):非实时任务直接打折

不要求秒回的任务(批量翻译、批量打标、离线分析)走 Messages Batches 接口(POST /v1/messages/batches),相比实时调用有明显折扣。代价是异步返回、需要轮询结果,适合「攒一批一起跑」的场景。

3. 砍输出 + 控历史

因为输出比输入贵,让模型只返回必要内容收益最大:用结构化输出(output_config.format)约束成 JSON、在提示词里要求「直接给结论、不要前言」、分类任务把 max_tokens 压到几百。多轮对话里历史会不断累积进输入,要做好上下文管理,必要时启用压缩。更系统的清单见 Claude API 怎么省钱?5 个降低 Token 成本的方法Claude API 多轮对话怎么实现?上下文管理详解

按场景的省钱对比

  1. 高并发简单任务(情感分类、字段抽取、敏感词过滤):用 Haiku 4.5 + Batches + 短 max_tokens,单条成本可压到 Opus 实时调用的零头。
  2. 日常生成 / 客服 / 工具调用:Sonnet 4.6 是性价比主力,配 Prompt 缓存固定 system 提示词,重复前缀几乎不要钱。
  3. 代码大改 / 长程 Agent / 深度推理:必须上 Opus 4.8,但通过缓存稳定的工具列表 + 用 effort 参数控制思考深度来压总开销,别盲目拉满。

同一个任务用 Haiku 跑能达标,就不必为「更聪明但用不上」的 Opus 多付 5 倍。先在测试集上跑通最便宜的档位,不够再往上升一档。

常见问题

输入和输出哪个更贵,对成本影响大吗?

输出更贵,三款模型的输出单价都约为各自输入单价的 5 倍。所以「让模型少生成」往往比「少喂上下文」更省钱——优先压缩输出长度、约束输出格式。

1M 上下文窗口会额外加价吗?

Opus 4.8 与 Sonnet 4.6 提供 1M 上下文窗口,按标准 API 价格计费,没有所谓「长上下文溢价」。但要注意:上下文塞得越满,每次请求的输入 Token 就越多,账单自然越高,长文档处理技巧见 Claude 上下文窗口多大?长文档处理实用技巧

用 Claude Code 命令行工具会单独收费吗?

Claude Code 是 Anthropic 官方命令行工具,它本质也是在调用底层模型,消耗仍按 Token 计入你的账户额度。具体计费口径与配额请以 Anthropic 官网为准。想先跑通基础 API 调用,可参考 Claude API 怎么调用?从注册到第一次请求完整教程

Claude API 开发