先看结论
通用公式是:输入 Token × 输入单价 + 缓存输入 Token × 缓存单价 + 输出 Token × 输出单价,再除以 1,000,000,并加上适用的工具、容器、文件搜索或存储费用。下面的数字是按官方价格格式编写的示例,实际费率要以目标模型价格页为准。
先分清四类 Token
输入 Token 是发送给模型的提示、历史消息、工具定义和文件内容;缓存输入 Token 是命中提示缓存的输入部分;输出 Token 是模型生成的可见内容以及推理模型的内部推理 Token;工具和存储费用可能按调用次数、时间或容量另计。
同一段文字在不同模型、编码和语言下可能得到不同 Token 数。完整请求还会包含消息结构、工具 schema、图片和文件产生的计费输入,因此不能只数正文字符。
| 项目 | 计费含义 |
|---|---|
| 输入 Token | 请求送入模型的内容 |
| 缓存输入 | 被提示缓存复用的输入,通常有单独价格 |
| 输出 Token | 可见输出和推理模型的推理 Token |
| 工具/存储 | 搜索、容器、文件搜索或存储等额外项目 |
依据: OpenAI: Understanding and counting tokensOpenAI API: Pricing
可复算的单次请求公式
把价格页的每百万 Token 单价记为 P_in、P_cache 和 P_out,把本次用量记为 T_in、T_cache 和 T_out。输入总量应拆成未缓存输入和缓存命中输入,避免把缓存 Token 按普通输入重复收费。
如果请求触发了工具调用,就把工具按官方页面的调用次数、运行时间或容量价格单独相加。批处理、区域处理、快速模式或长上下文可能有不同费率,也应在预算表里单独列出。
Token 成本 = (T_in × P_in + T_cache × P_cache + T_out × P_out) ÷ 1,000,000
请求总成本 = Token 成本 + 工具调用费 + 容器/文件搜索/存储费
示例:一次请求为什么是 0.383 美元?
假设某模型价格为:普通输入每百万 Token 2 美元、缓存输入每百万 Token 0.10 美元、输出每百万 Token 10 美元。本次请求有 120,000 个输入 Token,其中 30,000 个命中缓存,输出 20,000 个 Token,暂不计工具费用。
未缓存输入为 90,000。计算为:90,000 × 2 ÷ 1,000,000 = 0.18 美元;缓存输入为 30,000 × 0.10 ÷ 1,000,000 = 0.003 美元;输出为 20,000 × 10 ÷ 1,000,000 = 0.20 美元;合计 0.383 美元。
| 项目 | 用量 | 单价(每百万) | 小计 |
|---|---|---|---|
| 未缓存输入 | 90,000 | $2.00 | $0.180 |
| 缓存输入 | 30,000 | $0.10 | $0.003 |
| 输出 | 20,000 | $10.00 | $0.200 |
| 合计 | — | — | $0.383 |
从单次请求推到月度预算
如果每天有 500 次类似请求,按 30 天计算,月度 Token 成本参考为 0.383 × 500 × 30 = 5,745 美元。这个数字只是放大示例,生产预算应使用真实的输入长度、缓存比例、输出上限和失败重试比例。
更稳妥的做法是分别建立低、中、高三种用量情景,并把工具调用和长任务单独计入。不要只用平均消息长度,因为 Agent 的历史上下文和工具结果会随任务推进而增长。
月度参考成本 = 单次请求成本 × 日请求数 × 计费天数
预算上限 = 低/中/高情景成本 + 重试与工具费用缓冲
依据: OpenAI API: PricingOpenAI: Understanding and counting tokens
如何让实际账单可追溯?
- 在请求日志中记录模型、输入 Token、缓存 Token、输出 Token 和工具调用。
- 使用目标模型的 Token 计数工具或完整请求计数 API,不用字符数直接代替。
- 将长上下文、图片、文件和工具 schema 视为输入成本的一部分。
- 把重试、超时后仍成功的请求和并发峰值纳入预算。
- 价格更新后重新读取官方费率,不把旧单价永久写死在业务规则里。
依据: OpenAI: Understanding and counting tokensOpenAI API: Pricing
常见问题
Token 费用是按消息条数计算吗?
不是。API 主要按输入、缓存输入、输出和推理 Token 计费,工具和存储还可能另计。
依据: OpenAI: Understanding and counting tokensOpenAI API: Pricing
为什么可见回答很短,输出 Token 却很多?
推理模型可能产生不可见的内部推理 Token,这些 Token 会计入输出用量;工具、上下文和消息结构也可能增加输入。
缓存输入一定免费吗?
不一定。缓存输入通常有单独价格,是否命中以及适用费率要按模型价格页和缓存规则判断。
官方来源与核对说明
本文资料核对日期:2026年10月17日。费率和适用规则可能更新,请结合官方最新说明与自己的协议确认。
本文由 AISub 根据 OpenAI 公开资料整理,并提供独立计算示例与选购建议。AISub 是独立价格观察工具,非 OpenAI 官方网站。
