Token 计费模式详解:一次大模型请求,成本到底由什么决定
同一个问题问两次大模型,账单可能相差十倍。本文拆解输入、输出、缓存、推理与多模态 token 的计价方式,对比按量、缓存分层、服务层级与峰谷定价四类结构,并给出可复用的成本估算公式与优化清单。
同一个模型、同一个问题,两次调用的账单可能相差十倍。差距往往不来自模型有多聪明,而来自计费口径。
“按 token 计费”其实是一族定价结构的统称:输入和输出不同价,缓存命中和未命中不同价,高峰和低谷不同价,长上下文和短上下文不同价,标准通道和异步通道也不同价。不看清这些分层,成本预测就只能靠猜。
本文按“计量单位、账单构成、主流计价结构、估算与优化”的顺序,把 token 计费拆成可以核算的部件,并给出可直接套用的估算方法与读定价页的检查清单。
说明: 文中价格来自 2026 年 9 月 29 日抓取的 OpenAI、Anthropic、DeepSeek 官方定价页;厂商调价频繁,落地预算前请以官方页面为准。
Token 是计价的计量单位,不是字也不是词
大模型不按字数收费,而按 token 收费。token 是分词器(tokenizer)切分出的子词单元,常见算法是字节对编码(BPE):它在训练语料上统计高频字节序列,把最常见的组合合并成一个 token。结果是一个 token 可能是一个完整单词,也可能是半个词根、一个标点、一段缩进,甚至只是一个汉字的组成部分。
分词结果取决于模型本身。同一个句子,在不同模型的 tokenizer 下 token 数可以相差几十个百分点,所以“这句话大概多少 token”永远只是估算。通行经验是英文散文约 4 个字符对应 1 个 token;中文这类表意文字的 token 密度明显更高,常见情况是一个汉字对应 1 到 2 个 token。代码和 JSON 的密度同样容易被低估,缩进、括号、重复的键名都会各自成为 token。
标点、空格、换行、emoji 全部计费。这一点在格式化输出和长文档处理时尤其明显:为了让模型输出漂亮的缩进和分隔符,你付出的不只是模型算力,还有实打实的输出 token。
| 内容形态 | 切分特点 | 对账单的影响 |
|---|---|---|
| 英文散文 | 约 4 个字符对应 1 个 token | 同等信息量下 token 最少 |
| 中文与日文 | 常见 1 个汉字对应 1 到 2 个 token | 同样篇幅成本更高 |
| 代码与 JSON | 缩进、括号、键名各自成 token | 结构冗余直接变成费用 |
| 图片输入 | 按分块折算成输入 token | 一张图可能等价于数千字文本 |
实践含义。 估成本时必须使用目标模型的 tokenizer,或者直接读接口返回的 usage 字段。厂商计费以服务端计量为准,本地估算只用于预算和方向判断。
一次请求的账单构成
把账单写成公式,主干只有一句话:总成本等于各类 token 数量乘以其对应单价,再加上平台类费用。真正的复杂度在于“各类”究竟有多少类。
输入 token。 你以为用户只发了 20 个字,实际送进模型的可能是系统提示词、上下文示例、多轮历史、检索召回文档、工具定义与工具返回结果的总和。输入按 token 计价,通常单价最低。
输出 token。 模型生成的正文、结构化字段、工具调用参数、思考过程,都可能计入输出。输出单价通常是输入的数倍。
缓存类 token。 前缀缓存(prompt caching)把重复的输入前缀存下来,命中部分按更低的缓存读取价计费;建立缓存则要付缓存写入价,它往往略高于标准输入价。
推理 token。 推理模型的思考过程同样消耗 token。这部分可能计入输出,可能在计费里体现但对调用方不可见,也可能因模型与接口不同而不单独计费。
多模态 token。 图片按分块折算成输入 token,音频按 token 或时长,视频再叠加帧数。同一份信息换一种模态,单价和数量都会变。
平台类费用。 联网搜索按次数、代码容器按会话时长和内存、文件检索按存储容量与调用次数、语音会话按分钟甚至按秒。这些费用与 token 单价无关,却会直接进入账单。
为什么输出比输入贵。 输入阶段可以并行处理整段上下文,一次前向就能算完;输出阶段必须逐 token 生成,每一步都依赖上一步,受显存带宽限制。串行解码的算力效率天然低于批处理的输入预填充,这个价差最终写进了定价表。
下表取自 OpenAI 官方定价页上 gpt-6-sol 的四个计费项,用来直观感受定价粒度。单位是每百万 token。
| 计费项 | 计费口径 | 短上下文 | 长上下文 |
|---|---|---|---|
| 输入 | 未命中缓存的输入 token | $2.00 | $4.00 |
| 缓存读取 | 命中缓存前缀的输入 token | $0.20 | $0.40 |
| 缓存写入 | 建立缓存前缀 | $2.50 | $5.00 |
| 输出 | 生成的 token | $10.00 | $15.00 |
同一个模型、同一个请求,落在短上下文还是长上下文档位,全部单价都会随档位变化。
结构一:输入与输出双价制
双价制是所有主流厂商的共同基础。它把一次请求拆成“读进去”和“写出来”两笔费用,分别定价。
输出与输入的价格比通常落在 3 到 5 倍。 这不是巧合,而是解码阶段的算力结构决定的。下表取自三家厂商的官方页面,可以看到比值相当稳定。
| 模型 | 输入(每百万 token) | 输出(每百万 token) |
|---|---|---|
OpenAI gpt-6-sol(短上下文) | $2.00 | $10.00 |
Anthropic Sonnet 5.5 | $2 | $10 |
DeepSeek deepseek-v4-pro(低谷) | $0.66 | $1.98 |
这个比值决定了优化方向。 输入便宜,可以相对慷慨地喂上下文,真正的杠杆在于能不能缓存;输出昂贵,所以限制输出长度、约束输出格式、砍掉无意义的客套话,往往比压缩输入更有效。
双价制也解释了“同一个问题”为什么成本不同。 长回答、带思考过程、带结构化字段的回答都算输出。同一个用户问题,模型回答 200 字还是 2000 字,账单可以差十倍。
结构二:缓存把重复上下文变成折扣
多轮对话、固定知识库、长系统提示词,会让同一段内容被反复送进模型。没有缓存,每一轮都要按输入价重新付费一次;有缓存,重复部分按更低的读取价结算。
缓存有三个价格,不是两个。 除了读取价和未命中价,还要看写入价与有效期。以 Anthropic 官方页面为例,Sonnet 5.5 的标准输入是每百万 token 2 美元,缓存读取 0.20 美元,约为输入的 10%;缓存写入 2.50 美元,约为输入的 125%;默认缓存的生存期是 5 分钟,另有延长缓存的可选方案。OpenAI 的 gpt-6-sol 是同一套结构:输入 $2.00、缓存读取 $0.20、缓存写入 $2.50。
折扣力度还能更大。 DeepSeek 官方页面上 deepseek-v4-pro 的缓存命中价是 $0.022,未命中价是 $0.66,前者不到后者的 4%。它没有单独列缓存写入费,建立缓存的代价被计入未命中输入。
只复用两次就已经回本。 把标准输入价记为 1,缓存写入是 1.25,命中读取是 0.1。发送 N 次相同前缀,不走缓存的成本是 N,走缓存的成本是 1.25 加上 0.1 乘以 N 减 1。只要 N 大于 1.28 就划算,也就是同一个前缀用两次以上,缓存写入的溢价就赚回来了。这条结论对缓存策略很实用:不必追求用得越多越好,但要避免只用一次就写缓存。
缓存的失效条件是成本变量。 5 分钟的有效期意味着只有高频请求才吃得到折扣;两次调用相隔很久,缓存过期后又要重新付一次写入费。设计时要问的不是“能不能缓存”,而是“这段前缀在一分钟内会不会被复用”。
结构三:用时间和确定性换价格
同一个模型,厂商通常提供多个服务层级(service tier)。它们卖的不是不同的模型,而是不同的延迟与确定性,价格也随之下调或上浮。
| 服务层级 | 你付出的代价 | 价格取向 |
|---|---|---|
| 批处理(Batch) | 异步,不保证即时返回 | 通常约为标准价的一半 |
| 弹性(Flex) | 更慢,可能遇到资源不可用 | 低于标准价 |
| 标准(Standard) | 默认的延迟与可用性 | 基准价 |
| 快速(Fast 或 Priority) | 无额外代价,换取更快响应 | 约 2 倍标准价 |
批处理是最容易拿到的折扣。 Anthropic 官方页面直接写明批处理可节省 50%;OpenAI 的定价页把 Batch 与 Standard、Flex、Fast mode 并列成可切换档位,本身就是一种价格分层。
弹性层级卖的是容错。 OpenAI 的 Flex 处理文档把它定位为非生产或低优先级任务,例如模型评测与数据标注:接受更慢的响应和偶发的资源不可用,换取更低价格。
快速层级是反向交易。 Anthropic 的 Opus 5.5 提供快模式,官方说明是最快 2.5 倍速度、按标准价 2 倍计费;OpenAI 的 Fast mode 同样主打最高 2.5 倍速度。这类档位适合交互式产品,不适合离线批任务。
还有按时间定价的一类。 DeepSeek 把价格切成高峰与低谷两档,低谷价是高峰价的一半。它定义的高峰时段是 UTC 01:00 至 04:00 与 06:00 至 10:00 的周一至周五,换算过来正好覆盖中国的工作时间;周末与中国法定节假日全天按低谷计价。把批任务挪到低谷窗口,等于再打一次五折。
结构四:上下文分档与地域加成
除了服务层级,定价页上还有两类容易忽略的乘数。
上下文长度分档。 同一个模型按输入长度分成短上下文与长上下文两档,进入长档后单价整体上浮。OpenAI 的 gpt-6-astra 短档输入 10 美元、输出 50 美元,长档输入 20 美元、输出 75 美元;gpt-6-sol 短档 2 美元与 10 美元,长档 4 美元与 15 美元。这不是只对超出部分加价,而是本次请求按更高档位计费,所以控制上下文长度本身就是成本控制。
地域与合规加成。 OpenAI 的 FedRAMP 端点按标准价上浮 10%;面向特定地区的本地化处理端点在 2026 年 3 月 5 日之后发布的适用模型上同样上浮 10%。Anthropic 的美国境内推理选项对输入输出按 1.1 倍计费。合规与数据驻留不是免费的。
促销价不能写进预算基线。 OpenAI 明确标注 GPT-5.6 Sol 的促销价至少维持到 2026 年 11 月 21 日。促销期结束后的价格回归,会让按促销价建立的成本模型直接失效。
赠送额度优先扣减。 DeepSeek 的计费说明提到,账户同时有充值余额和赠送余额时优先扣除赠送余额。做单位经济性分析时,要区分账面支出和真实现金支出。
容易被漏算的五类成本
系统提示词与工具定义。 每次请求都会带上它们。工具数量多、schema 描述长,就是在为每一轮对话持续付费,即使这一轮根本没有调用工具。
历史对话的重复计费。 没有缓存的多轮对话,前文会在每一轮重新按输入价付一次。第 N 轮的成本包含前 N 减 1 轮的内容,累计成本随轮数近似平方增长,这就是长会话越聊越贵的原因。
重试与失败请求。 网络超时后的重试会把同一段 prompt 再送一遍;流式输出中途断开时,已经生成的 token 通常已经产生费用。重试策略要做幂等和退避,不能无限重放。
推理强度。 推理模型的思考 token 会计入计费口径。把简单任务交给高强度推理档位,等于为一个并不需要的过程付费。
工具与平台费。 下表中的费用在 token 账单之外单独结算。
| 项目 | 计费口径 |
|---|---|
| 联网搜索 | OpenAI 每 1,000 次调用 10 美元,另加检索内容的 token;Anthropic 每 1,000 次搜索 10 美元 |
| 代码容器 | OpenAI 1 GB 每 20 分钟会话 0.03 美元;Anthropic 每小时每容器 0.05 美元 |
| 文件检索 | 存储每 GB 每天 0.10 美元,工具调用每 1,000 次 2.50 美元 |
| 语音会话 | GPT-Live 每分钟 0.05 美元,按秒计费 |
| 端到端语音模型 | gpt-realtime-2.1 音频输入每百万 token 32 美元,文本输入 4 美元 |
模态单价的量级差异。 同样是输入 token,音频的单价可以是文本的八倍。选择语音转文本再交给文本模型,还是直接使用端到端语音模型,本质上是两道不同的价目表在做取舍。
估算一次请求的成本
成本估算只要四步:确认单价档位、统计各类 token 数量、乘以对应单价、加上平台费。按计费项逐条展开,就是下面的结构。
输入: 输入 token 数除以 1,000,000,再乘以输入单价。
缓存读取: 命中 token 数除以 1,000,000,再乘以缓存读取单价。
缓存写入: 写入 token 数除以 1,000,000,再乘以缓存写入单价。
输出: 输出 token 数除以 1,000,000,再乘以输出单价。
平台费: 搜索次数、容器时长、存储容量等按各自价目表单独计算。
以 OpenAI gpt-6-sol 短上下文档为例。假设一个客服助手每次请求携带 50,000 token 上下文,其中 45,000 token 是固定的知识库前缀,输出 1,000 token。
| 结算方式 | 计算过程 | 单次成本 |
|---|---|---|
| 不使用缓存 | 0.05 乘 2.00 加 0.001 乘 10.00 | $0.11 |
| 前缀命中缓存 | 0.045 乘 0.20 加 0.005 乘 2.00 加 0.001 乘 10.00 | $0.029 |
同样的回答,成本降到约四分之一。 差异全部来自那 45,000 个固定 token 的计价方式。这也说明为什么“把稳定内容放在提示词前部、把变量放在后部”是一条硬性工程约束,而不是风格偏好。
成本优化的七个杠杆
稳定前缀。 固定内容前置、变量后置,提升缓存命中率;能在一次会话内复用的内容,不要拆到不同会话。
收敛上下文。 检索条数按收益递减调整,长文档先摘要再注入,历史对话做滚动压缩。
约束输出。 设置输出上限,要求结构化短输出,删掉复述和客套话。输出是昂贵的一侧。
模型路由。 简单分类、抽取、改写交给小模型,只有真正需要的请求才升级到旗舰模型。
选对服务层级。 离线任务走批处理或弹性层级,避开高峰窗口,用前置校验减少无效请求。
管住工具与重试。 搜索结果复用,容器按需启停,重试做幂等与退避。
监控单位经济性。 每会话成本、每成功任务成本、缓存命中率、每千 token 成本,这四个指标比账单总额更能反映问题。
读定价页的检查清单
| 检查项 | 要确认的内容 |
|---|---|
| 单价单位 | 多数按每百万 token 计价,容易误读成每千 |
| 上下文分档 | 是否分短档与长档,阈值在哪里 |
| 缓存三价 | 读取价、写入价、有效期与延长方案 |
| 推理 token | 思考过程是否计费,计入输入还是输出 |
| 服务层级 | 批处理、弹性、标准、快速的价差与约束 |
| 附加费用 | 搜索、容器、存储、语音、地域合规加成 |
| 生效时间 | 促销价的截止日期与最近一次调价公告 |
最后一句提醒。 Token 计费的复杂度不在算术,而在口径。把每一笔费用的口径写清楚,包括属于哪类 token、按什么价、什么时候生效,成本才会从月底看账单变成可以设计和优化的工程指标。
参考资料
官方定价页: OpenAI API 定价、Anthropic API 定价、DeepSeek 模型与定价。
计费机制与服务层级: OpenAI 批处理指南、OpenAI 弹性处理、OpenAI Fast mode、OpenAI 对话状态与上下文管理。
成本估算与分词: OpenAI 图片输入成本计算器、OpenAI 图像生成费用估算、tiktoken 开源分词库。
这篇文章有帮助吗?
内容发现
讨论
0 条评论
还没有评论。欢迎留下第一条有帮助的补充。