AI API 费用控制的重点,是看清每个任务会发送多少内容、生成多少输出、重试几次。本文不比较实时价格,也不推荐购买套餐,而是给出一套供应商无关的用量记录方法。适合准备把摘要、分类或资料处理做成批量任务的用户,先用少量脱敏样本估算,再决定是否扩大规模。

一、分清订阅与接口账单
聊天应用订阅和开发接口可能独立计费;一个账号能使用聊天界面,不代表 API 调用已包含在订阅里。开始之前,在实际服务商的控制台核对项目、计费单位、模型与限制。
不要把第三方教程里的旧价格写进脚本,也不要认为所有产品都有相同的缓存折扣或批量优惠。计费条件会变,预算表应记录核对日期。
二、建立一张调用台账
任务ID、提供商、模型、调用时间、输入token、输出token、缓存计费类别、尝试次数、成功状态、实际费用、费用来源。
优先使用接口返回的 usage 和控制台账单,而不是用汉字数量冒充精确 token 数。不同语言、格式和分词器会影响计数,包含图片或音频时还可能有其他计费单位。
同时记录失败请求与重试。只统计成功的最后一次,会低估真实成本;日志中不要保存密钥,也应尽量减少不必要的原始敏感文本。
三、用演示价格理解计算公式
以下数字完全是算术练习,不对应任何服务商报价。假设每百万输入 token 为 2 个记账单位,每百万输出为 8 个单位;一次输入 2000、输出 500,则费用是 0.004+0.004=0.008。
input_tokens = 2000
output_tokens = 500
fictional_input_rate = 2
fictional_output_rate = 8
cost = (input_tokens * fictional_input_rate
+ output_tokens * fictional_output_rate) / 1_000_000
print(f"Fictional cost per request: {cost:.6f}")
真实估算时,把费率替换成当前模型对应的实际费率;有缓存、工具调用、媒体输入或其他项目时,应按账单口径分别计算,不能套一个统一单价。
四、先跑小样本,再估算全量
挑选普通、较长和可能失败的输入各若干条,记录每次实际用量。估算全量时关注长尾,不要只用最短样本乘文件总数。为失败重试留余量,但仍设置明确的最大尝试次数。
例如计划处理 1000 篇笔记,可以先测 20 篇,分别查看输入长度、输出长度和失败比例。若长文耗费明显更多,应分层估算,而不是一律取平均值。
五、把控制写到工作流里
- 限制单文件大小,超出范围进入待处理清单。
- 限制单次输出和每项最大重试次数。
- 限制每轮任务的请求数量,达到预算阈值停止。
- 为已成功任务保存稳定 ID,避免整批重复运行。
- 先缓存自己的处理结果;是否享受服务商缓存优惠另行核对。
输出越短不一定越省总体时间。如果短输出导致格式截断、反复重试,成本可能更高。应同时衡量正确率、人工复核耗时和实际用量。
六、常见问题与排错
设置了消费提醒,是不是一定不会超支?
提醒与硬性上限不是同一机制。查看服务商实际控制方式,并在自己的任务中设置停止条件。
本地模型是不是完全没有成本?
本地不一定有按请求的云端账单,但仍占用硬件、存储、电力和维护时间。不要把它们写成永远免费的资源。
失败的请求一定不计费吗?
不能统一假定。根据错误类型和服务商账单规则核对,台账保留每次尝试及实际用量。
可用小型评测平衡成本与质量。计费项目的示例说明可查 Anthropic 官方定价文档,使用其他服务时查其对应官方规则,不直接照搬费率。