API Token 费用怎么算:输入、输出、缓存与预算
计算 API 费用,先确认四件事:价格单位、输入输出用量、是否有缓存或其他计费项目、价格适用范围。只知道“输入每百万 Token 多少钱”,还不足以算出完整任务的成本。
在 WuDi API 使用模型前,先查看模型广场中的当前价格和计费方式,调用后再核对使用记录。本文用假设数字演示算法,不列可能过期的全型号报价。
先看清 /1M、/1K 和按次计费
| 标注 | 含义 | 计算时怎么处理 |
|---|---|---|
| 每 1M Token | 每 1,000,000 Token 的单价 | 用量除以 1,000,000 后乘单价 |
| 每 1K Token | 每 1,000 Token 的单价 | 用量除以 1,000 后乘单价 |
| 每次/每请求 | 对应计费单位的单价 | 按该模型具体计费规则计算 |
比较两份价格时,先换成相同单位。每百万 Token 单价除以 1,000,才是对应的每千 Token 单价。
不要把 Token 等同于汉字、单词或请求次数。相同文本在不同模型与分词方式下,Token 数可能不同;完整输入也可能包含系统提示词、历史对话、工具结果和文档内容。
普通文本请求的基础计算
在不含缓存及额外项目,且输入输出单价均按每百万 Token 标注时:
单次费用 = 输入 Token ÷ 1,000,000 × 输入单价
+ 输出 Token ÷ 1,000,000 × 输出单价
下面只是演算假设,不对应 WuDi API 中任何模型的报价:
- 输入单价:0.50 计价货币单位 / 1M Token。
- 输出单价:2.50 计价货币单位 / 1M Token。
- 单次输入:8,000 Token;单次输出:1,200 Token。
输入费用 = 8,000 ÷ 1,000,000 × 0.50 = 0.004
输出费用 = 1,200 ÷ 1,000,000 × 2.50 = 0.003
单次合计 = 0.007
如果每次用量和规则都相同,1,000 次为 7 计价货币单位。如果单价以美元计,结果也是美元;不能不经换算就写成人民币。
真实业务的请求长短通常不同。做月预算时,应按有代表性的任务分别估算,再加总;不能用一次极短问答代表完整编程或文档处理流程。
缓存要分项,避免重复计算
某些模型对缓存命中输入、非缓存输入,或缓存写入采用不同价格。先确认响应与日志中各字段的定义:缓存用量可能是总输入的一部分,不能把同一段 Token 按普通输入和缓存输入重复计费。
如果计费规则明确把输入分成互不重叠的普通输入与缓存命中输入,可以分别计算,再加入输出及其他适用项目。若还有缓存写入、时长或分档规则,应继续按对应规则核对。
缓存是否命中取决于模型与实际服务行为。不要预设所有请求都能命中,也不要把目录中的“缓存价格”理解为每次都会享受的折扣。
为什么回复很短,用量却不小
可见答案的长度不一定等于完整计费用量,可能还涉及:
- 每轮请求重新带入的历史对话;
- 读取的文件、检索内容和工具结果;
- 多轮工具交互中的重复上下文;
- 模型适用的推理用量或其他计量项目。
各模型的字段和规则不同,不要用一条统一的“一个汉字等于几个 Token”估算所有场景。优先查看响应中的用量信息,并与本站使用记录核对。
图片等按次模型,不套文本公式
如果模型广场标为按次计费,先确认“次”具体对应什么:请求、生成结果,还是某个配置下的计费单位。输出数量、分辨率和其他参数是否影响价格,需要看该模型当前说明。
不能把一张图片随意换算成固定 Token,也不能把一个按次价格推广为所有配置的统一价。遇到页面说明不足,先确认计费规则,再批量使用。
如何核对一次真实调用
- 记录模型 ID、端点与当前适用价格,注意价格日期及单位。
- 按接入文档发送不含隐私内容的短请求,限制输出长度。
- 保存返回的用量信息和请求 ID(如有)。
- 在使用记录中核对输入、输出、缓存及实际扣费;字段不一致时先查定义,不直接相加。
- 对真实任务取若干有代表性的样本,分别评估平均用量与较大任务的用量。
没有返回 usage 时,不要凭答案字数填一个看似精确的费用。使用记录如仍无法解释差异,可向客服提供时间、模型 ID、请求 ID 和脱敏用量信息。
把预算控制放在批量调用之前
- 按项目创建独立 Key,设置适当额度和有效期。
- 对输入长度、输出上限、任务轮数和并发设置边界。
- 检查客户端是否存在多层自动重试;超时后先核对任务状态,避免重复提交。
- 长会话适时整理上下文,但不要为省 Token 删除完成任务必需的信息。
- 按“完成一个有效任务的总成本”比较模型,而不是只比较最低输入单价。
更便宜的单价并不保证任务更便宜。需要更多轮交互、更多重试或大量人工修正的方案,总成本可能更高。
常见问题
钱包有余额,为什么 Key 仍然报额度不足?
账户钱包和 Key 自身限额需要分别满足请求要求,还要检查有效期、模型权限与分组。排查顺序见API 常见错误。
会员订阅包含这里的 API 费用吗?
不要默认包含。消费者会员、其他平台账户和 WuDi API 额度属于不同产品关系,应按各自说明确认。
网络超时的请求需要算进预算吗?
先查看实际处理与扣费记录。客户端超时并不能证明服务端没有消耗用量;预算应包含已经确认的实际消费。
本文能算出充值对应多少人民币吗?
不能。费用结果使用输入单价的同一货币单位。充值金额、余额单位和换算方式应按当前站点说明核对,本文不推断汇率或支付规则。
下一步:查看当前模型与价格,再按接入文档核对自己的第一条请求。
参考:WuDi API 余额与计费说明;OpenAI 官方关于 Token、输入输出及模型差异的说明。后者用于解释 Token 概念,不代表 WuDi API 的具体型号、单价或计费实现。
