SoleAPI

API Token 怎么计算和计费?

更新于 2026-11-01 · soleapi.cyou

简答:API Token 的费用通常按“各类 Token 数量 ÷ 1,000,000 × 对应单价”计算,但输入、输出、缓存和部分推理 Token 可能采用不同价格。先区分 API Key 与用量 Token,再以 API 响应中的 usage 字段核对真实用量,最后套用服务商当前定价表估算成本。

定义:API Token 是模型处理输入和生成输出时使用的计量单位,而 API Key 是用于身份认证的密钥,两者不是同一个概念。

先看结论:API Token 计费的最短计算方法

本站是第三方 AI API 接入指南站,不代表任何模型厂商或接口服务商。计算 API Token 费用时,先记录请求产生的各类 Token,再分别乘以对应单价。

计费项目常见含义计算方式
输入 Token系统提示、用户问题、历史对话、文件和工具结果等送入模型的内容输入 Token ÷ 1,000,000 × 输入单价
输出 Token模型返回的文本、代码或结构化结果输出 Token ÷ 1,000,000 × 输出单价
缓存 Token被服务商识别为可复用的输入内容缓存 Token ÷ 1,000,000 × 缓存单价
推理 Token部分推理模型生成可见答案前使用的内部 Token以具体模型的 usage 字段和定价规则为准

总费用就是各项费用相加。以 OpenAI 的说明为例,输入、缓存输入、输出和推理 Token 可能分别统计,且不同接口返回的 usage 字段名称可能不同;Google Gemini 也提供输入、输出、思考、缓存、工具调用和总 Token 等用量字段。OpenAI Token 说明、Google Gemini Token 文档。help.openai.com

API Key、API Token 和用量 Token 有什么区别?

搜索“API Token 怎么计算和计费”时,最容易混淆的是三个词:

本文后续说的 Token,默认指用量 Token。如果页面写的是“创建 Token”“复制 Token”或“Token 有效期”,那更可能是在描述鉴权凭据,应按 API Key 安全规范处理,而不是按计费公式计算。

Token 为什么不能简单按字数或汉字数计算?

Token 是模型的分词单位,不等于字数、单词数或字节数。同一段文字在不同模型、编码方式和语言环境下,Token 数量可能不同。英文单词可能被拆成多个 Token,标点、空格、大小写也会影响切分;中文、代码、JSON、路径和长数字也不能直接用固定比例换算。

官方资料通常只提供粗略估算。例如 OpenAI 文档指出,英文文本可以用“约 4 个字符对应 1 个 Token”作初步判断,但这只是估算,其他语言可能不同;Google Gemini 文档也说明,Token 约相当于 4 个字符,100 个 Token 约为 60 到 80 个英文单词。发布预算或核对账单时,不应只依赖字符数估算,应优先使用目标模型提供的 Tokenizer、count tokens 接口或响应中的 usage 字段。OpenAI 对字符和 Token 的说明、Gemini Token 统计方法。help.openai.com

完整算例:输入、输出和缓存费用怎么相加?

假设某服务商当前定价表给出以下单价,数值仅用于演示公式,不能替代实际价格:

某次请求的 usage 显示:未缓存输入 80,000 Token、缓存输入 20,000 Token、输出 10,000 Token。

  1. 未缓存输入费用:80,000 ÷ 1,000,000 × 2 = 0.16 美元。
  2. 缓存输入费用:20,000 ÷ 1,000,000 × 0.5 = 0.01 美元。
  3. 输出费用:10,000 ÷ 1,000,000 × 8 = 0.08 美元。
  4. 本次合计:0.16 + 0.01 + 0.08 = 0.25 美元。

如果服务商没有单独列出缓存、推理或工具调用价格,就不要擅自套用其他平台的规则。模型、接口类型、区域、缓存策略、批处理和附加工具可能改变计费单位,具体金额必须以对应服务商在核验日期展示的定价页为准。OpenAI 的定价页按模型和 Token 类别列出输入、输出及缓存等项目,但价格会更新,使用前应重新核对。OpenAI API Pricing。platform.openai.com

如何从 API 响应中的 usage 字段核对实际用量?

最可靠的做法不是根据返回文本长度倒推,而是保存每次请求返回的 usage 字段,并与服务商控制台的账单或用量页面交叉核对。

  1. 记录请求标识:保存时间、模型标识、接口类型和请求 ID,但不要记录完整 API Key。
  2. 读取 usage:不同接口字段可能不同。OpenAI Chat Completions 常见字段包括 prompt_tokens、completion_tokens 和 total_tokens;Responses 接口可能使用 input_tokens、output_tokens 和 total_tokens。
  3. 检查特殊项目:查看是否出现 cached、reasoning、thinking、tool use 或其他供应商专用字段。
  4. 套用当前价格:按照请求实际使用的模型、区域、服务等级和 Token 类型分别计算。
  5. 核对账单:将多次请求按日期、模型和项目汇总,比较控制台总量;发现差异时,先检查重试、流式请求和工具调用。

OpenAI 官方文档明确提醒,不同接口的 usage 字段名称可能不同;Gemini 文档则展示了输入、输出、思考、缓存、工具调用和总 Token 等字段。Claude 平台提供了在发送消息前统计输入 Token 的接口,可用于估算上下文和成本。OpenAI usage 字段说明、Gemini usage 字段说明、Claude Token counting 文档。help.openai.com

哪些内容会增加输入 Token?

一次请求的输入不只是你刚输入的最后一句话,以下内容都可能进入模型上下文:

多轮对话尤其容易造成输入费用增长:每次请求都可能携带部分或全部历史上下文。Claude 的 Token counting 文档说明,统计接口支持系统提示、工具、图片和 PDF 等结构化输入;Gemini 文档也指出,非文本模态同样会被 Token 化。若发现输入费用持续增加,可以缩短历史消息、压缩重复规则、只保留必要检索片段,并在发送前调用官方 Token 统计能力。docs.anthropic.com

重试、流式响应、多轮对话和工具调用怎么计费?

重试:如果客户端确实重新发送了请求,通常应把每次成功或失败请求是否产生用量分别核对,不能只看最终返回的一次结果。服务商规则不同,失败请求是否收费不能一概而论。

流式响应:流式只是把输出分段传回,不代表自动免费。应查看最终响应或服务商规定的 usage 传递方式,并以账单记录为准。

多轮对话:历史上下文可能在后续请求中再次作为输入计量,越长的会话越需要关注输入 Token。

工具调用:工具定义、参数和工具返回结果可能增加输入或输出用量,部分平台还会对工具调用本身采用独立计费单位。OpenAI 定价资料明确区分模型 Token 费用与部分工具能力的计费项目,因此不能只按可见回答长度估算。help.openai.com

API Token 月度预算怎么估算?

可以用下面的表格建立一个简单预算模型:

变量含义建议记录方式
R每天请求次数按日志或网关统计
I每次平均输入 Token取真实 usage 的平均值或 P95 值
O每次平均输出 Token按模型实际响应统计
P_i输入每百万 Token 单价从当前定价页核验
P_o输出每百万 Token 单价从当前定价页核验
D统计天数通常按实际账期填写

不考虑缓存时,基础估算公式为:月度费用 ≈ R × D × ((I ÷ 1,000,000 × P_i) + (O ÷ 1,000,000 × P_o))。

如果有缓存、推理、工具或多模态输入,应将这些项目拆成独立变量。预算最好同时计算平均值和高位值:平均值用于日常成本,高位值用于防止长上下文、批量任务或异常重试造成预算偏差。不要把聊天产品会员订阅费直接当成 API 用量费用;两者的计费体系可能不同。

降低 Token 成本的可操作检查清单

  1. 先用真实请求的 usage 统计,而不是用字数或字符数猜测。
  2. 检查系统提示词是否在每次请求中重复发送。
  3. 限制历史对话长度,对长期会话做摘要或分段。
  4. 控制检索结果数量,避免把无关文档整段注入上下文。
  5. 为输出设置合理上限,避免模型生成不必要的长文本。
  6. 对高频固定内容核对是否支持 Prompt Caching,以及缓存写入和读取如何计费。
  7. 把重试、超时、工具调用和批量任务单独统计。
  8. 每次更换模型、网关或计费平台时,重新核验模型 ID、Token 字段和定价规则。
  9. API Key 只放在环境变量或安全凭据管理器中,日志中脱敏,不要把完整密钥与 usage 一起保存。

常见问题

API Token 是不是 API Key?

不一定。API Key 是认证凭据,API Token 也可能被某些平台用来指凭据;本文讨论的是模型处理请求时产生的用量 Token。遇到“Token”时,应先看上下文确认它指密钥还是计费单位。

1000 个汉字大约是多少 Token?

不能给出适用于所有模型的固定换算。Token 数量受模型、编码、语言、标点、空格和内容结构影响。可以先做粗略估算,但正式预算应使用目标服务商的 Tokenizer、count tokens 接口或响应 usage。

输入和输出 Token 能用同一个价格计算吗?

不能默认这样做。许多服务商会分别设置输入、缓存输入和输出单价,推理或工具能力还可能有额外计费单位。必须按当前模型定价表逐项计算。

流式输出会不会减少 Token 费用?

流式主要改变数据返回方式,不代表自动减少用量或费用。最终应读取服务商提供的 usage 或账单记录,并核对是否发生重试、工具调用和多轮上下文传递。

为什么 API 返回很短,费用却比预期高?

可能是输入历史、系统提示、检索内容、工具定义或内部推理用量较大,也可能发生了重试或缓存规则变化。建议先查看完整 usage,再按模型、Token 类型和请求次数拆分核算。

API Token 费用和聊天软件会员费是一回事吗?

通常不是一回事。聊天产品订阅与开发者 API 调用可能使用不同的账户、额度和计费规则。做项目预算时,应以实际 API 账单和服务商当前定价页为准。

相关阅读

参考资料

  1. OpenAI:Understanding and counting tokens
  2. Google AI for Developers:Understand and count tokens
  3. OpenAI API Pricing
  4. docs.anthropic.com