Google AI API 定价怎么看:Gemini 输入、输出与缓存 token 成本怎么算
Google AI(Gemini)API 的成本由三类 token 单价叠加而成:输入 token、输出 token 和缓存输入 token。要估算一次调用的费用,你需要分别拿到这三个单价,再乘以对应的 token 数量——输出单价通常高于输入,缓存输入单价通常低于普通输入。适用条件:你已经在用或准备接入 Gemini API,想在下单前把成本算清楚,或者想拿它和 OpenAI、Anthropic 等模型做横向比较。
三类 token 分别是什么
| 计费项 | 含义 | 对成本的影响 |
|---|---|---|
| 输入 token(Input) | 你发给模型的提示词、上下文、附件文本 | 每次请求都会产生,长上下文场景占比高 |
| 输出 token(Output) | 模型生成的回复内容 | 单价通常高于输入,长回答更贵 |
| 缓存输入 token(Cached Input) | 被缓存复用的那部分输入 | 单价一般低于普通输入,重复上下文越多省得越多 |
关键点在于:一次调用的账单不是"一个单价 × 总 token",而是三类分别计价后相加。只盯着输入单价做对比,很容易得出错误结论。
怎么算一次调用的成本
用统一公式,把三类分开:
总成本 = 输入token数 × 输入单价
+ 输出token数 × 输出单价
+ 缓存输入token数 × 缓存单价
举例说明:假设某次请求有 10,000 个输入 token、2,000 个输出 token,其中 8,000 个输入 token 命中缓存。你需要分别查这三个单价(通常以"每百万 token"为单位),再按上面的公式相加。注意缓存命中的那部分输入,不应再按普通输入单价重复计费。
验证方法:先用一次真实调用记录实际 token 用量,再套公式算一遍,和账单或用量面板对一下,确认三类单价取值正确。
为什么不能只看一个数字
- 输入和输出单价不同:输出往往更贵,所以"回答很长"的任务,成本可能主要来自输出而非输入。
- 缓存单价单独一档:如果你的应用反复发送同一段系统提示或长文档,缓存输入能明显压低这部分成本;但如果每次上下文都不同,缓存几乎用不上。
- 模型档位差异大:同一家厂商的 Flash 系列和 Pro 系列单价不在一个量级,选型时先按用途定档位,再比价格。
和 OpenAI、Anthropic 横向比的方法
要公平比较,必须用同一套维度,而不是各取一个"起价":
- 同一计费项对同一计费项:输入比输入,输出比输出,缓存比缓存。
- 统一单位:都换算成"每百万 token 单价"再比。
- 带上上下文窗口:窗口大小决定你能塞多少内容,直接影响可用场景。
- 结合任务需求:需要推理、工具调用、视觉、长文档的,先筛能力,再比价格。
像 pricepertoken.com 这类聚合站会把多家厂商的输入、输出、缓存单价和上下文窗口放在同一张表里,并标注 Tool Use、Vision、Reasoning、Caching 等能力标签,适合做初筛;但最终仍建议回到各厂商官方定价页核对,因为聚合数据可能滞后。
常见卡点
- 把缓存输入当成免费:缓存单价低不等于零,仍要计入。
- 忽略输出占比:只按输入单价估算,长回答任务会严重低估。
- 拿不同档位对比:用 A 家的轻量模型比 B 家的旗舰模型,结论没有意义。
- 忘记单位:有的页面按每千 token,有的按每百万 token,换算错一位就是 1000 倍误差。
结论
算 Google AI(Gemini)API 成本,核心就三步:分清输入、输出、缓存输入三类 token;分别取单价;按公式相加。做横向对比时,坚持同项对同项、同单位、同能力档位,再结合上下文窗口和任务需求判断性价比。价格会随模型版本更新,下单前以官方定价页为准。