操作教程

API用量怎么核对:从请求明细算出账单差额

用一份教学账本演示输入、缓存输入和输出 Token 如何计费,并定位重试、统计延迟与时区造成的差额。

API连接、配置与故障诊断主视觉
本文目录 · 跳到当前步骤

同一个任务可能调用多次 API;按任务次数乘一个价格通常对不上账。先把时间范围、模型、计费单位和服务商固定,再按请求核对。

先固定账本口径

本文用假设单价演示算法:普通输入每百万 Token 2元、缓存输入0.2元、输出10元;这不是任何产品的报价。账本区间为北京时间10:00—10:10,期初余额10.0000元、期末9.9882元,没有充值、退款和其他Key调用。真实操作应换成该时段生效的价格及服务档位。

三条记录算出应计费用

输入总量包含其中的缓存量,不能把缓存部分再按普通输入重复收费。公式为:(输入总量−缓存输入)×普通输入单价 + 缓存输入×缓存单价 + 输出×输出单价,再除以100万。

请求 任务 输入总量 其中缓存 输出 教学费用
req-A 初稿 1000 0 200 0.0040元
req-B 复核 1000 500 300 0.0041元
req-C 重试后成功 1500 500 100 0.0031元

合计0.0112元。以req-B为例:500×2/100万 + 500×0.2/100万 + 300×10/100万 = 0.0041。应有期末余额9.9888元,但实际是9.9882元,待解释差额为0.0006元。

发现差额后只追具体记录

对账不能把0.0006元直接叫“乱扣费”,也不能凭经验说一定是重试。教学场景中,补查原始导出,发现本地漏记一条同任务 req-D:输入300、缓存0、输出0,服务端费用0.0006元。补入后总费用0.0118元,期末余额对齐。

这不表示所有失败或零输出请求都会计费。实际请求是否计费要看服务端明细与合同口径;没有req-D记录时,差额只能保留为未解释。其他常见分支是跨时区落入相邻区间、控制台统计尚未结算、不同模型/档位单价、工具调用费用,以及其他Key或并行进程。

保存能复核的记录

可建立 CSV,字段为 timestamp_with_timezone, task_id, request_id, provider, model, input_tokens, cached_input_tokens, output_tokens, price_version, charged_amount, status。不要记录Key或请求正文。按 request_id 去重,区分一次用户点击、一次任务和多次网络尝试;服务端没有request_id时,时间+模型+用量只能辅助匹配,不能视为唯一证明。

每次先对齐一个短区间。如果账单按充值额度扣除而非人民币显示,先记录系统换算口径,不能把本教程的假设“元”直接套用。带着差额、区间、脱敏请求编号与价格版本反馈,客服才有可查的范围。

资料来源

下一步

继续阅读与你当前问题相关的教程: