Claude 与 ChatGPT API 哪个更便宜?
Claude 与 ChatGPT API 没有固定赢家。本文用 token 公式拆解 3 个实际计费任务,比较不同模型层级的费用,并说明 Sonnet 5 于 2026 年 8 月 31 日后涨价的影响。
简短答案
Claude 与 ChatGPT API 的定价没有绝对赢家,因为两家供应商在每个层级对输入和输出采用不同的定价方式。截至 2026 年 8 月,Claude 的前两个层级与 OpenAI 的对应层级收取相同的输入 token 费用,但输出 token 费用更低,因此在输出密集型工作负载上 Claude 略占优势。在较小的层级,对于相同的任务,Claude 的费用会高出数倍。任何不说明层级和 token 组成的答案都只是猜测。
因此,本页会先介绍计算方法,然后列出 3 个包含 token 组成的计费工作负载,最后说明哪些倍数因素会让实际账单与标价相比产生更大差异。
您唯一需要的公式
两个 API 对文本的计费方式相同。您需要为发送的 token 付费,也需要按更高的单价为模型返回的 token 付费。
cost = (input tokens / 1,000,000) * input rate + (output tokens / 1,000,000) * output rate
一个 token 大约对应 4 个英文字符,接近 0.75 个单词。这里只能用于初步估算。要计算实际费用,请使用每个 API 在每次响应的 usage 对象中返回的计数。
# Rates are US dollars per million tokens.
def cost(in_tok, out_tok, in_rate, out_rate):
return in_tok / 1e6 * in_rate + out_tok / 1e6 * out_rate
# One support-chat turn: 1,400 tokens in, 220 tokens out, on a $2 / $10 model.
print(round(cost(1400, 220, 2.0, 10.0), 6))此脚本会输出 0.005,即每次交互半美分。将其乘以您预计的月交互次数,即可得到预算。掌握这个公式后,今后的每次价格变更都只需修改一行,无需重新分析。
2026 年 8 月公布的费率
以下是两家供应商于 2026 年 8 月 1 日公布的目录价格。本段是全文唯一明确列出价格的地方。在确定预算前,请对照 claude.com/pricing 和 OpenAI 的定价页面进行核验。
The data behind this chart
[
{
"label": "Frontier",
"claude_input": 5,
"claude_output": 25,
"openai_input": 5,
"openai_output": 30
},
{
"label": "Workhorse",
"claude_input": 2,
"claude_output": 10,
"openai_input": 2,
"openai_output": 12
},
{
"label": "Workhorse from September",
"claude_input": 3,
"claude_output": 15,
"openai_input": 2,
"openai_output": 12
},
{
"label": "Small",
"claude_input": 1,
"claude_output": 5,
"openai_input": 0.2,
"openai_output": 1.2
}
]这里的对应关系按各自产品线中的定位排列,而不是按知名度排列。旗舰档是 Claude Opus 5 对 gpt-5.6-sol。主力档是 Claude Sonnet 5 对 gpt-5.6-terra。小型档是 Claude Haiku 4.5 对 gpt-5.6-luna。两家供应商还在本段之上提供更高档位,OpenAI 也会继续以原费率列出较早的版本。将一方的旗舰模型与另一方的经济型模型比较,得出的数字没有意义。这正是大多数公开比较得出其标题结论的方式。
本段有两点需要明确说明。Sonnet 5 的 2 和 10 是优惠费率。Anthropic 说明这些费率将持续到 2026 年 8 月 31 日,之后 Sonnet 5 将收取 3 和 15。这一项变化会使主力档从 Claude 小幅占优变为 OpenAI 明显占优,而且会在本文仍适用的期间内发生。
第二点是一个值得记住的规律:上表每一行中,Claude 的输出价格都正好是自身输入价格的 5 倍,而 OpenAI 的输出价格是输入价格的 6 倍。决定胜者变化的不是绝对费率,而是这一比例与您的 token 组合之间的关系。
每百万 token 的费率为什么无法跨供应商比较
费率是每个 token 的美元价格。账单金额等于每个 token 的价格乘以 token 数量,而一段文本的 token 数量取决于模型,而不是文本本身。
Anthropic 对此有明确说明:Claude 4.7 及更高版本的模型(包括 Claude Opus 5 和 Claude Sonnet 5)使用较新的 tokenizer。对于相同文本,该 tokenizer 生成的 token 数量大约比 Claude Sonnet 4.6 及更早版本多 30%。费率没有变化,但账单金额变了。
因此,两个看起来相同的费率,并不对应两笔相同的账单。使用您自己的文本,在两边分别统计 token 数量,然后再相信任何比较结果,包括本比较。
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5",
"messages": [{"role": "user", "content": "Summarise the attached contract."}]
}'正常响应是一个包含 input_tokens 的小型 JSON 对象。401 表示 shell 中的关键变量为空。使用另一家供应商的 tokenizer 处理相同文本,将一个 token 数量除以另一个,然后在比较前将该比值乘以公布的费率。如果该比值使一家供应商相对另一家供应商的优势超过约 1.2,则其影响会超过上文表格中的所有费率差异。
场景一:聊天功能
Web 应用中的支持助手。每月处理 120,000 轮对话。每轮都会发送 system prompt、工具 schema、两段检索到的帮助台内容和几条较早的消息,约 1,400 个输入 token;模型回复约 220 个 token。该功能具有交互性,因此始终无法使用批处理折扣。将其部署在 workhorse 层级。
The data behind this chart
[
{
"label": "List price",
"claude_usd": "600.00",
"openai_usd": "652.80"
},
{
"label": "Cached prefix",
"claude_usd": "427.20",
"openai_usd": "480.00"
},
{
"label": "Small tier, cached",
"claude_usd": "213.60",
"openai_usd": "48.00"
}
]按目录价格计算,Claude 的费用为 600.00,OpenAI 的费用为 652.80。两者的输入费用相同,因为输入费率相同。全部差距来自输出费用,而 Claude 的优势太小,不足以据此选择供应商。
现在将这 1,400 个输入 token 中的 800 个标记为稳定前缀:system prompt 和工具 schema 在各轮之间不会变化。两家供应商对缓存命中均按基础输入费率的 10% 收费。Claude 的费用降至 427.20,OpenAI 的费用降至 480.00。缓存带来的收益大于供应商选择带来的差异,而且两个平台都提供缓存功能。
Claude 在这里处于劣势。大多数支持答复不需要 workhorse 模型。将相同流量迁移到 small 层级后,Claude 的费用为 213.60,OpenAI 的费用为 48.00。两者相除可知,对于相同的任务,Claude 的费用约为 OpenAI 的四倍半。Claude Haiku 4.5 的输入费用为每百万输入 token 1,而 gpt-5.6-luna 为 0.2;无论缓存效果多好,都无法弥合五倍的差距。如果工作负载适合 small 模型,OpenAI 更便宜,而且优势明显。
场景二:长上下文文档流水线
每月处理 25,000 份合同。每个请求都包含相同的 9,000 个 token 的指令和 JSON schema,随后是 12,000 个 token 的合同正文,模型返回约 700 个 token 的结构化字段。输出 token 数不到本次任务 token 总数的 4%,这一点决定了比较结果。
The data behind this chart
[
{
"label": "Chat feature",
"claude_usd": "427.20",
"openai_usd": "480.00"
},
{
"label": "Document pipeline",
"claude_usd": "820.00",
"openai_usd": "855.00"
},
{
"label": "Coding agent",
"claude_usd": "116.10",
"openai_usd": "124.20"
}
]双方都缓存 9,000 个 token 的前缀后,Claude 的费用为 820.00,OpenAI 的费用为 855.00。输入部分的费用精确到美分都相同,因为 2026 年 8 月两者的输入费率相同。全部差异来自输出部分:Claude 的输出价格是输入价格的 5 倍,OpenAI 则是 6 倍。
这项任务也适合批处理。两家供应商都为异步处理提供输入和输出费用 50% 的折扣,因此总费用都会减半,差距的比例保持不变。批处理是任一平台提供的最大单项折扣,而夜间文档流水线始终可以使用批处理。
Claude 的劣势仍然来自之前的分层逻辑。按照固定 schema 提取字段,正是小型模型擅长的任务;而输入在这里占 token 总数的 97%。降低一个模型层级后,OpenAI 的输入费率会降至原来的 0.1 倍,Claude 的输入费率会降至原来的 0.5 倍。在假设需要更大模型之前,先用 200 份文档测试小型模型,并使用与为任务选择合适的 Claude 层级相同的评估方法。
场景三:持续运行的编码代理
一名开发者在 VPS 上运行代理,每月大约进行 900 次模型交互。每次交互包含约 60,000 个仓库上下文输入 token,其中 80% 命中缓存,并生成约 1,800 个编辑和说明 token。由于编码场景中的能力差距会直接带来实际成本,因此按前沿层级定价。
Claude 的费用为 116.10,OpenAI 为 124.20。输入费率相同,缓存读取费率相同;Claude 较低的输出费率使其成本低约 7%。
这个 7% 仍处于前文的分词器误差范围内,因此应将该场景视为费率持平。真正不同的是计费模式。对于这种用量,一名开发者的订阅席位通常低于按量计费的 API 调用成本;纳入订阅后,整个比较结果都会改变。在让代理使用按量计费之前,请先通过API 与订阅费用比较完成核算。如果采用按量计费,首先应了解 token 的消耗位置,因为编码代理的 token 用量主要来自每次交互都重新发送的上下文,而不是它生成的代码。
决定账单的倍数项
标价是此列表中影响最小的一项。下面每一项对实际账单的影响,都大于同一层级下两家供应商之间的价格差。
缓存输入。 两家供应商都按基础输入价格的 10% 对缓存命中收费。Anthropic 还会收取缓存写入费用:五分钟条目的价格是基础输入价格的 1.25 倍,一小时条目的价格是 2 倍。后续命中会按读取价格刷新该条目。因此,五分钟条目命中一次即可收回成本。请求间隔较长的工作负载写入次数多于读取次数,此时缓存成本高于节省金额。流量稳定时,缓存效果较好。流量突发时,缓存效果较差。
批处理折扣。 两个平台都对输入和输出提供 50% 折扣,但仅适用于异步工作。如果任务可以等待,在任一供应商处都能将账单减半,并且可以与缓存叠加。
输出占比。 Claude 的输出价格是输入价格的 5 倍。OpenAI 的输出价格是输入价格的 6 倍。写入的 token 越多、读取的 token 越少,在输入价格相同的情况下 Claude 越有优势。输入占主导的工作负载则相反。
重试。 每次重试都会再次支付完整输入费用,但不会返回可用结果。如果有 6% 的调用因 schema 验证失败而重试,实际输入费用就会比计划高 6%。应将重试记录为成本项,而不是错误项。团队通常最后才发现这一倍数,而它往往比团队花一周争论的供应商价格差还大。
哪一方在哪些方面处于劣势
Claude 在小型层级上完全处于劣势。gpt-5.6-luna 的输入价格为每百万个输入令牌 0.2,而 Claude Haiku 4.5 为 1;输出价格分别为 1.2 和 5。大批量分类和短文本提取在 Claude 上的成本约高出4倍。
自 2026年9月1日 起,Claude 在主力层级上处于劣势,因为 introductory rate 结束后,Sonnet 5 的价格变为 3 和 15,而 gpt-5.6-terra 的价格不变。Claude 在前沿层级的输出价格上占优,但这一优势可能被您自己的令牌用量抵消。2026年8月,输入占主导的工作没有一方占优,因为双方的输入价格都是每百万个 2,输入部分的价格相同。
如何在您自己的流量上测算
在每个响应中读取 usage 对象,并为每个请求记录 4 个数值:输入令牌数、输出令牌数、缓存读取令牌数和缓存写入令牌数。在 Claude API 中,这些值分别位于 input_tokens、output_tokens、cache_read_input_tokens 和 cache_creation_input_tokens 中。按天汇总这些数值,乘以当前费率,再将结果与账单进行比较。两者之间的差额通常来自重试,或来自您忘记已经发布的代码路径。
在 1 周的真实流量上执行比较,不要只使用示例提示词。比较每个已完成任务的成本,而不是每个令牌的成本。一个按 2 倍费率计费、但一次即可完成响应的模型,比一个按一半费率计费、但需要 3 次尝试的模型更便宜。每个令牌的成本是费率。每个已完成任务的成本才是您的实际账单。
在让任何程序持续运行前,设置严格的支出上限。两个平台都在其控制台中提供支出限制。陷入重试循环的代理可能在一夜之间耗尽您 1 个月的预算。请按照 持续运行代理的成本控制 的方式配置此功能。如果您要在自己管理的服务器上构建第一个版本,在 VPS 上构建第一个 Claude API 应用介绍了密钥处理和请求循环;上述计算依赖于这些部分。
FAQ
Claude API 比 ChatGPT API 便宜吗?
不一定。2026 年 8 月,两个平台的 frontier 和 workhorse 层级对每个输入 token 收取相同费用,而 Claude 的输出 token 费用更低,因此对于输出占比较高的工作,Claude 的成本低几个百分点。在小型层级,OpenAI 的 gpt-5.6-luna 每个输入 token 的费用是 Claude Haiku 4.5 的五分之一,因此大批量分类使用 OpenAI 的成本低得多。请根据您自己的 token 组合计算实际成本,因为如此小的差额取决于您的工作负载,而不是价目表。
为什么相同的文字在不同 API 上对应的 token 数量不同?
因为每个模型都有自己的 tokenizer,token 数量取决于模型。Anthropic 的文档说明,Claude 4.7 及更高版本的模型处理相同文本时生成的 token 数量,比 Claude Sonnet 4.6 及更早版本多约 30%。将您自己的文本发送到各供应商的 token 计数 endpoint,将一个计数除以另一个计数,然后在比较前将该比值乘入公布的费率。20% 的 token 差异会超过大多数公布的费率差异。
prompt caching 是否可能让账单变高?
是,在 Anthropic 上可能如此。缓存写入的费用是基础输入费率的 1.25 倍,缓存条目保留五分钟时如此;保留一小时时则为 2 倍。缓存命中费用是基础输入费率的 0.1 倍。如果您的流量突发性较高,大多数条目在被读取前就已过期,您会支付写入溢价,却没有任何读取收益。请在日志中比较 cache_creation_input_tokens 与 cache_read_input_tokens。比值接近 1 表示缓存正在增加成本,因此应延长条目保留时间,或停用缓存。
我应该通过 API 运行 coding agent,还是使用订阅?
对于普通用量的单个开发者,订阅席位通常比按量计费的 API 成本低,因为 coding agent 每轮都会重新发送较大的上下文,而该上下文每次都会计费。请先计量一周,然后将 API 总费用与席位价格比较。当用量呈突发性,或您需要订阅席位不提供的程序化访问时,API 更具优势。