← 返回资讯

Claude API 价格说明:Haiku 到 Opus 各档成本解读

2026-07-10

如果你上个月刚接了 Claude API 就收到一份让人皱眉的账单——大概率不是模型选错了,而是你把长文档整段塞进了 system prompt,还没开 Prompt Caching。这篇文章把 Claude 的计费结构、三档模型怎么选、以及几个真实踩过的坑(限流、超时、上下文超限)都摊开讲,看完你应该能自己算出一次调用大概要花多少钱,而不是等账单出来才后知后觉。

声明:以下价格描述均为截至 2026-06 的定性比较,仅供参考,以 Anthropic 官方定价页面为准。

Claude 模型三档体系

Anthropic 将 Claude 模型分为三个明确的能力/价格档次:

档次代表模型定位
轻量快速Claude Haiku价格最低,延迟最小,适合批量任务
主力对话Claude Sonnet能力与成本平衡,主力生产用途
旗舰能力Claude Opus最强能力,价格最高

三档之间价格差距显著,从 Haiku 到 Opus 通常是数量级的跳跃。大多数生产场景应从 Sonnet 档评估,复杂任务才考虑 Opus。

计费结构详解

Claude API 采用标准的输入+输出分开计费模式:

计费项说明
输入 tokensystem prompt + 对话历史 + 用户消息
输出 token模型生成内容,单价通常为输入的 3–5 倍
Cache write首次写入缓存时的一次性费用(略高于标准输入)
Cache read命中缓存时的折扣价,约为标准输入的 10%

有个新手很容易忽略的细节:token 数不是按字数算的,而是按 Anthropic 自己的 tokenizer 切分。中文和英文的切分效率差别很大——同样一句话,中文通常比等长的英文消耗更多 token,这在国内团队用 Claude 做中文客服、中文内容生成时经常被低估。如果你做预算,别拿英文场景的经验直接套中文业务,建议先拿一段真实的中文业务文本跑一次 API,从返回体的 usage.input_tokensusage.output_tokens 里读出实际消耗,再按官方单价倒推成本,比凭感觉估算靠谱得多。

Claude 的 Prompt Caching 是其定价体系中最值得关注的节省机制。长系统提示或大段参考文档,在首次写入后,后续调用如果命中缓存,成本可降至原来的 10%。这使得 RAG、Agent 等需要大量上下文的场景成本优势显著。

这里多说一句为什么会有”cache write 比标准输入还贵”这个反直觉设计。你可以把它理解成服务端要为你的 prompt 单独开一份 KV cache 常驻显存,这份显存占用是有成本的,Anthropic 用略高的一次性写入费把这个成本转嫁给你,换来的是后续读取只需要重新计算极少部分。所以缓存这笔账不是无脑开就划算——如果你的 system prompt 只有几百 token,或者每次调用之间间隔很久、缓存早就过期,写入费可能比你省下来的还多,这时候开缓存反而亏。

实操上要注意三件事:

  1. 门槛:官方文档里明确写了 Prompt Caching 有最小 token 数门槛(不同模型档位数值不同,具体以官方文档为准),低于这个数缓存不会生效,你设了 cache_control 也是白设,账单上看不到任何 cache 相关字段。
  2. TTL 过期:缓存有存活时间,超过这个窗口没有新请求命中就会失效,下一次调用等于重新走一遍”写入”流程,又要付一次略高的写入费。如果你的业务是低频调用(比如每小时才有几次请求),大概率享受不到缓存红利,别为了”跟风开缓存”而在架构里绕圈子。
  3. prompt 结构要稳定:缓存是按前缀匹配的,你把 system prompt、工具定义这些不变的内容放在最前面,把每次都变的用户输入放在最后,缓存才能命中。反过来如果你把时间戳、随机 session id 塞进了 system prompt 前半段,等于每次都在”污染”前缀,缓存永远命中不了,钱一分没省,还多花了写入费。

排查缓存有没有真的生效,别靠”感觉响应变快了”,直接看返回体里的 cache_creation_input_tokenscache_read_input_tokens 两个字段:第一次调用应该看到 cache_creation_input_tokens 有值、cache_read_input_tokens 是 0;后续命中的调用应该反过来。如果两个字段一直都是 0,说明你的 prompt 没达到门槛,或者 cache_control 参数根本没传对位置。

详细机制见:Prompt Caching 省钱原理与实践

三档模型选型建议

场景推荐档次理由
大量文本分类、摘要、简单问答Haiku速度快、成本低
通用代码生成、内容创作、客服Sonnet主力档,综合最优
复杂代码重构、精细分析、长文档理解Opus能力最强,按需使用
批量离线处理Haiku / Batch API非实时场景压缩成本

Claude 的 Batch API 同样提供约 50% 的折扣,适用于大量非实时请求。它的工作方式跟同步调用完全不同:你一次性提交一批请求(一个 JSON 数组),拿到一个 batch id,服务端在后台异步跑完,通常在 24 小时窗口内完成,你拿着 batch id 轮询状态,processing 变成 ended 之后再去取结果文件。这意味着 Batch API 天生不适合任何需要”马上给用户答复”的场景,它的定位就是离线跑批:每天凌晨批量生成商品文案、批量做历史工单分类、批量给一堆 PDF 打摘要标签,这类”今天提交、明天取结果也无所谓”的任务用 Batch 最划算。

关于 Haiku 做路由分类,具体怎么落地?思路是先用一个极简的 system prompt(比如”请判断以下用户问题的复杂度,只回答 simple 或 complex”)调一次 Haiku,根据返回结果决定后续用 Haiku 继续处理还是升级到 Sonnet/Opus。这一步分类调用本身的 token 消耗很小,但能把大量简单问题(“你们客服电话是多少”这种)挡在便宜模型这一层,只有真正复杂的问题才会流到贵模型,长期跑下来能省下不少。要注意分类 prompt 别写得太模糊,否则 Haiku 自己判断不准,反而把简单问题误判成 complex,白白多花钱。

Claude vs GPT vs Gemini:定性位置

对比维度Claude SonnetGPT-4oGemini 1.5 Pro
相对价格中(与 GPT-4o 相近区间)中高
长上下文能力强(200K)强(128K)超长(1M+)
代码能力中等
中文能力中等偏强中等偏强中等

与 OpenAI 相比,Claude 在长文档处理代码质量方面常被开发者推荐;价格上与 GPT-4o 同档大体相近,但 Prompt Caching 机制在重复上下文场景下有明显优势。

几个真实踩过的坑

这几个报错基本是接入 Claude API 前几周都会碰到的,提前知道根因能少走弯路:

  • 401 authentication_error:十次里九次是 header 传错了。Claude API 不是 Authorization: Bearer xxx 这种常见写法,而是要求单独的 x-api-key 请求头,再加上 anthropic-version 版本头。照搬 OpenAI 那套请求代码直接抄过来,大概率第一次调用就是这个错。
  • 429 rate_limit_error:说明你短时间内的请求数或 token 数超过了账户当前等级的限速。响应头里通常会带 retry-after,正确做法是读这个值做退避重试,而不是无脑立刻重试——立刻重试只会让限流更严重,形成雪崩。更稳的方案是做指数退避(比如首次等 1 秒,失败再等 2 秒、4 秒,加一点随机抖动避免多个请求同时撞线)。
  • 400 提示上下文超限:这个通常发生在你把好几轮历史对话 + 一份长文档一起塞进去,累计 token 超过了模型的上下文窗口上限。排查思路是先打印一下这次请求组装后的总 token 数(可以用 tokenizer 库离线估算,或者干脆先拿一个短请求跑通再逐步加长定位临界点),确认是历史对话太长还是单次文档太大,前者做滑动窗口截断,后者做分段摘要再输入。
  • 中国大陆网络直连超时:Anthropic 对部分地区有访问限制,直连经常表现为连接超时或者证书握手失败,而不是明确的错误码,这一点最容易让人误以为是自己代码写错了。排查时先用 curl 命令行单独测一下能不能连通 API 域名,如果命令行也连不上,基本可以排除是你代码的问题,该走合规的 API 中转层来解决,具体做法参考下面的网关文章。

实际账单控制技巧

  1. 开启 Prompt Caching:system prompt 超过 1024 token 时效果最明显
  2. 首选 Sonnet:Opus 仅在 Sonnet 明显无法胜任时切换
  3. 使用 Haiku 做分类路由:先用便宜模型判断任务复杂度,再决定是否升级
  4. Batch API 处理离线任务:文档批量处理场景折扣明显
  5. 监控 cache_creation_input_tokens:确认缓存写入正常,避免每次重写
  6. 开启流式输出(stream=true)不会改变计费单价,但能让你更早发现异常——比如模型开始胡言乱语或者陷入重复输出,你可以提前掐断请求,省下后半段本来会白白产生的输出 token 费用。对于长输出场景(比如生成长文章),这个”提前掐断”的机制实际能省下不少钱。
  7. 给单次调用设置 max_tokens 上限:这是最容易被忽略但最直接的兜底手段。如果不设或者设得过高,一旦模型进入重复输出的异常状态,你可能要为几千个无意义的重复 token 买单。根据你的业务场景(比如客服回复通常不会超过几百字)设一个合理上限,既能兜底极端情况,也能让成本上限可预测。

想做更细的成本估算,可以按这个思路搭一张表:先拿真实业务样本跑几次调用,记录下 usage.input_tokensusage.output_tokens、有没有命中缓存这三组数据,再乘以官方单价,就能算出你的场景下”每次调用大概多少钱”,比直接照搬官方定价页面的示例数字准确得多——毕竟你的 prompt 长度和输出长度跟官方示例几乎不可能一样。

价格对比表 可实时查看各档 Claude 模型的当前报价。

常见问题

Claude 的上下文窗口这么大,会不会让 token 成本失控?
长上下文是双刃剑——塞入大量文档会显著增加输入 token。建议只放入真正必要的上下文,配合 Prompt Caching 降低重复成本。

Anthropic 有免费额度或免费试用吗?
Claude.ai 有免费聊天界面,但 API 调用需要付费账户。新账户通常有少量免费 credit。详见:各家免费额度盘点

在中国大陆能直接调用 Claude API 吗?
Anthropic 对部分地区有访问限制,建议通过合规的 API 中转层访问,确保服务稳定。参考:通过 API 网关降低接入风险

并发请求多了会不会额外收费,超时应该设多长?
并发本身不额外计费,你付的始终是 token 消耗,但并发数会撞到账户等级对应的速率限制,撞线就是前面说的 429。超时时间要按场景分开设:简单分类任务给 10-15 秒足够,涉及长文档理解或复杂推理的请求,输出 token 多、生成耗时长,建议给到 60 秒以上,否则容易在模型还在正常生成的时候被你自己的客户端提前掐断,看起来像”卡住了”,其实只是超时设短了。


延伸阅读: