API 与中转

OpenAI API 费用核对:选定完整模型、读取真实用量、对照账单

按 OpenAI 官方口径拆分输入、缓存写入/读取、输出、处理层、上下文档位和工具费,并以 usage 与费率快照持续对账。

OpenAI API 费用核对:选定完整模型、读取真实用量、对照账单|文章配图,按正文步骤绘制的编辑图
点击图片可查看原图。OpenAI API 费用核对:选定完整模型、读取真实用量、对照账单|文章配图,按正文步骤绘制的编辑图
本文目录 · 8 个章节

操作速览

  • 选定完整模型:版本、处理层与适用条件。
  • 读取真实用量:输入、缓存与输出分开。
  • 对照账单:额外工具费用独立检查。

用实际请求核对 OpenAI 费用

1. 先记录模型 ID、调用接口和服务层,再从官方价目表定位输入、输出及适用的缓存项目。

2. 把工具调用、存储或其他附加费用列在独立行。正文 tokens 的计算器不包含所有接口开销。

3. 用一小组真实 usage 复算,逐项对照账单;不要把不同模型或地区的缓存规则互相套用。

先把价目表拆成独立价格桶

OpenAI 官方价格页不是一个“每百万 token 单价”,而是按模型、处理层和上下文档位分列输入、缓存输入、缓存写入与输出。成本表至少要保存 provider、model、model snapshot、service tier、context band、currency 和 verified_at,不能只留下一个 blended_price。

工具型请求还可能产生按调用次数、存储量或容器时长计算的费用。建表时把 token_cost、tool_call_cost、storage_cost 和 container_cost 分开;否则某次检索或代码执行增加的费用会被误归因于模型输出 token。

  • 价格版本必须带核验日期
  • 输入、缓存写入、缓存读取、输出分栏
  • 工具与存储费用单列

本节参考:OpenAI API PricingOpenAI Counting tokens

把响应 usage 映射到账本字段

请求前的 token counting 适合做预算上限,请求后的 usage 才适合结算。对 Responses API,可分别记录 input_tokens、input_tokens_details.cached_tokens、input_tokens_details.cache_write_tokens、output_tokens 与 reasoning_tokens,再将普通输入计算为 input_tokens 减去缓存读取和缓存写入。

单次调用成本可写成:普通输入×普通输入价+缓存读取×缓存价+缓存写入×写入价+输出×输出价+工具费用。所有 token 价格统一除以一百万后计算,原始 token 与价格版本同时保留,方便价格变更后重放历史账单。

本节参考:OpenAI Counting tokensOpenAI Prompt caching

上下文档位和处理层不能丢

截至 2026-08-29,OpenAI 价格页对部分模型区分短上下文与长上下文,并提供 Standard、Batch、Flex、Fast 等处理层。相同模型名并不保证相同费率,所以请求日志必须记录实际 service_tier 和触发的上下文档位。

预算模型不要把异步 Batch 的价格套到同步流量,也不要把 Fast 的延迟承诺与 Standard 混成平均价。更稳妥的做法是按业务队列分别预测:实时队列使用标准或快速层,离线队列使用 Batch,再在月度汇总层合并。

本节参考:OpenAI Prompt cachingOpenAI API Pricing

用样本对账和价格快照维持准确性

每天抽取一组成功请求,把本地公式结果与平台 usage、项目用量和账单导出对齐。差异应归因到 token 估计误差、工具费用、区域处理、长上下文、重试或价格版本,而不是直接修改一个“修正系数”掩盖来源。

价格抓取应生成新版本而不是覆盖旧记录。页面展示当前费率时标注核验日,成本复盘则按调用发生时的价格版本计算;这样既避免把今天的价格写回历史,也能在厂商调价后快速定位预算偏差。

本节参考:OpenAI API PricingOpenAI Counting tokens

参考来源

价格、规则和产品状态可能变化,可通过这些原始页面确认当前信息。

OpenAI API Pricing

OpenAI Counting tokens

OpenAI Prompt caching

常见问题

OpenAI API 成本能只用输入 token 加输出 token 计算吗?

不建议。还应区分缓存读取、缓存写入、上下文档位、处理层和可能的工具或存储费用,并按核验日期绑定价格版本。

请求前的 token counting 能代替最终账单吗?

它适合预算与路由;最终结算应使用响应 usage 和平台账单,因为实际输出、缓存命中及工具调用只有运行后才完整。