← Back to Blog

AI API Token 费用怎么算:输入、输出、缓存与预算估算

Zivv5 min read
Token费用成本估算

AI API 通常不是按“问一次多少钱”收费,而是按 Token 数量计算。一次请求会同时产生输入和输出,部分模型还区分缓存读取、缓存写入、图片或工具调用。想控制成本,第一步不是寻找一个最低单价,而是把自己的真实请求拆开计算。

基本公式

最常见的计算方式是:

单次费用 = 输入 Token ÷ 1,000,000 × 输入单价
        + 输出 Token ÷ 1,000,000 × 输出单价

假设某次请求输入 20,000 Token、输出 2,000 Token,只需要把当前模型的输入和输出单价分别代入。不要用输入单价计算全部 Token,因为输出通常采用另一档价格。

模型价格会变化,计算时应从 模型广场 获取当前值,不要长期依赖旧文章里的数字。

什么算输入 Token

输入不只是你最后输入的那一句话,还可能包括:

  • 系统提示词
  • 历史对话
  • 上传或读取的文档
  • Claude Code 读取的项目文件
  • 工具返回结果
  • 重试时再次发送的上下文

这也是为什么同一句“继续”在长会话后可能比新会话贵得多。模型需要重新看到足够的上下文才能继续工作。

什么算输出 Token

输出包括模型生成的文字、代码和部分工具调用参数。要求模型输出完整文件、超长解释或大量候选方案,会直接增加输出 Token。

控制输出并不意味着一味要求“越短越好”。更有效的方法是明确格式:

  • 只返回补丁,不重复原文件
  • 限定表格列数
  • 先给结论,需要时再展开
  • 批量任务返回结构化 JSON

缓存怎么计算

部分模型和协议支持 Prompt Cache。重复的系统提示或长文档命中缓存后,读取价格可能低于普通输入;首次写入缓存则可能有单独价格。

判断缓存是否值得:

  • 相同前缀会被重复请求
  • 前缀足够长
  • 内容在缓存有效期内不变化
  • 调用次数足以覆盖首次写入成本

如果每次都修改开头,或者只调用一次,缓存通常没有明显意义。具体支持范围查看 计费说明

长上下文为什么容易超预算

长上下文模型允许一次放入大量内容,但“能放进去”不等于“每次都应该全部放进去”。常见浪费包括:

  • 每次请求重复发送整个仓库
  • 对话历史从不裁剪
  • 检索结果没有去重
  • 日志和文档没有先筛选

可以先用便宜模型做分类或摘要,再把相关片段交给目标模型。Gemini 长上下文场景可参考 长上下文成本控制

从单次费用估算月度预算

用下面四步估算:

  1. 从用量记录取 20 至 50 次真实请求
  2. 分别计算平均输入和输出 Token
  3. 乘以每天预计请求次数
  4. 再乘以每月工作天数,并留出重试和增长空间
月 Token = 单次平均 Token × 每日请求数 × 每月使用天数

团队不要只看总预算,还要按成员、项目和 Key 分开。测试脚本失控时,独立 Key 的上限能避免它消耗整个团队余额。Zivv 的 团队模式 可为成员分配独立 Key 和预算。

用量记录比估算更重要

上线前的估算只能给范围。运行后应定期查看:

  • 哪个模型消耗最多
  • 输入与输出比例
  • 哪个 Key 或成员增长最快
  • 是否有异常重试
  • 高价模型是否用于简单任务

先优化最大的一项,通常比全面压缩 Prompt 更有效。例如大部分费用来自重复长上下文,就优先做检索和缓存;来自超长输出,就先收紧返回格式。

一个可执行的成本控制顺序

  1. 从模型广场确认当前单价
  2. 用真实用量计算平均单次成本
  3. 按任务选择模型,不让高价模型处理简单分类
  4. 控制重复上下文和无效输出
  5. 为每个 Key 设置可承受的上限
  6. 每周看一次用量变化,而不是月底才看账单

Token 成本没有一个适用于所有人的固定答案。可靠的方法是用当前价格和真实用量计算,再通过模型选择、上下文管理和预算上限持续校正。刚开始接入可先看 AI API 新手入门,完整计费口径以 计费文档 为准。