AI API Token 成本怎么算:从单次请求到月度预算的完整算法

33 万字资料问一次:按量要 1.46 元,按次只要 0.031 元

把一份 33 万字的技术资料塞进一次请求,按量计费大约 1.46 元,按次计费 0.031 元,差 47 倍。差距不来自模型更强,只来自计价口径:按量按你塞进去多少 token 收钱,按次按请求次数收钱,塞 1 个字和塞 33 万字同一个价。

算成本缺的不是"哪家便宜"这类说法,而是一条能写进表格、能被手算验证的公式。下面把两种口径摊开算给你看,最后给一个能直接跑的成本计算脚本。

先把两个计价口径说清楚

那 1.46 元是怎么算出来的

33 万个汉字,按 1 个字约 1.45 个 token 粗算,得到约 48 万 token,也就是 0.48 个百万。输入部分 0.48 × 3 = 1.44 元。模型回答 1000 字,约 1450 token,0.00145 × 15 = 0.022 元。两段相加是 1.462 元。

按次这边,gemini-2.5-pro 是 0.031 元每次,1.462 ÷ 0.031 ≈ 47。同一份资料、同一个问题,两条路差了 47 倍。这笔账你可以自己拿计算器复算一遍,公式就是上面那两行。

倍数为什么能拉到几十倍

按量计费的输入部分是线性累加的,喂多少付多少;按次计费的输入相当于搭车,不进公式。任务越依赖长上下文,差距越大——长合同、整库资料、几十页 PDF、长视频转写稿都属于这一类。

反过来,短请求上按次并不占便宜,后面第 7 节会用一张表算清楚。别只看开头这个 47 倍就下结论,口径要按你的请求形态挑。

Token 到底怎么数

中文:1 个字大约 1 到 1.5 个 token

不同厂商用的分词器不一样,同一段中文在 A 模型算 1000 token,在 B 模型可能算 1500。做预算时按 1.45 这个偏保守的值估:估高了顶多预算宽一点,估低了月底要补钱。

代码、JSON、表格是 token 消耗大户

500 行 Python 大约 5000 到 8000 token;一份 1 万行的 CSV 转成 JSON 数组喂进去,很容易冲到十几万 token。要处理这类数据,先想清楚是让模型读原始数据,还是先用脚本聚合出结论、再把结论交给模型。

内容类型长度大约多少 token
中文文章1000 字约 1450
中文长报告10 万字约 14.5 万
中文资料库33 万字约 48 万
英文学术段落1000 词约 1300
Python 代码500 行约 5000 到 8000
10 页 PDF 文字约 8000 字约 1.2 万
长视频转写稿1 小时约 1.5 万到 2 万

表里的数字都是粗算值,不同分词器会有正负三成的浮动。做预算时它已经够用,因为真正决定钱包的是量级,不是小数点后两位。

按量计费的算式:输入和输出分开乘

输出单价是输入的 5 倍

输入 ¥3/百万、输出 ¥15/百万,同样 1 个 token,吐出来的比喂进去的贵 5 倍。这带来一个不太好接受的结论:让模型少说废话,比少给资料更省钱。一条 5000 token 的冗长回答,光输出就是 0.075 元,比不少按次计费的单次价格还高。

多轮对话把历史整段重复计费

聊天类应用里,每一轮请求都会把之前的对话重新发一遍。首轮输入 800 token,第 10 轮可能已经 6000 token。用户只是多聊了两句,你的账单曲线却往上翘了一截。这也是同样功能的两个产品,用按量计费时成本能差一倍的原因——差距不在模型,在上下文管理。

怎么读这段账单

10 轮对话,累计输入 6 万 token、输出合计 6000 token。输入 0.06 × 3 = 0.18 元,输出 0.006 × 15 = 0.09 元,合计 0.27 元,平均每轮 0.027 元。

同样 10 轮,按次计费每次 0.09 元,也就是 0.9 元。这里按量反而更省。口径本身没有好坏,只有"配不配你的请求形态"。

按次计费怎么算:一次请求一个固定价

一次请求一个固定价

按次的公式简单到不用记:调用次数 × 单价。每天 150 次请求、单价 0.045 元,一天 6.75 元,一个月约 200 元。这个数字能从月初说到月末,不用等其他人的用量数据。

输入长度不进公式,买的是确定性

按次计费真正的价值不是"单价低",而是"上限锁死"。用户把 20 万字的需求文档、整本报错日志、一堆截图 OCR 文本粘进对话框的时候,按量计费的账单会跟着你的用户行为走,按次计费不会。

做 To C 产品的人应该对这点特别敏感:你无法预判用户下一秒会粘贴多长的内容,但你可以预判每次请求花多少钱。成本可预测,定价才敢定。

最低 7 元起充,预算能算到分

小鱼API 最低 7 元起充,按 0.031 元每次的 gemini-2.5-pro 算,7 元能跑 225 次请求。做小规模验证时,这就是一个很舒服的试错门槛:先充 7 元,把业务跑通、把单价算准,再决定要不要加量。

接入方式也很省事,改 base_url 和模型名两处即可,主入口 https://xyuapi.top/v1,备用入口 https://xyuai.cc/v1,两套都支持 /v1/chat/completions 的 OpenAI 兼容格式。

全系按次单价表

轻量档:0.031 到 0.05 元每次

摘要、分类、翻译、代码补全、客服问答这类任务,用这一档足够。很多团队在这一档上花 3 分钱办成的事,非要上 0.25 元的旗舰模型,属于白白多花 8 倍。

主力档:0.09 元每次

grok-4.5 与 grok-4.6、kimi-k2.5 与 kimi-k2.6、gemini-3.1-pro-preview、claude-sonnet-4-5-thinking、deepseek-v4-pro-thinking 都在这一档。复杂推理、长文档理解、多语言写作、需要稳定格式输出的任务放这里。

旗舰档和生图:按次或者按张

claude-opus-4-5-thinking 0.12 元、gpt-5.5 与 claude-sonnet-4-6-thinking 0.2 元、claude-opus-4-6-thinking 0.25 元、gpt-5.3-pro 0.3 元。生图模型 gpt-image-2-pro 0.25 元、NanoBanana-Pro 0.27 元,按"张"算,尺寸和提示词长短不进公式。gpt-6-astra 走按量口径,输入 ¥3/百万 token、输出 ¥15/百万 token。

模型单价(元/次)档位
gemini-2.5-pro0.031轻量
deepseek-v3.2-thinking0.049轻量
deepseek-r1-thinking0.049轻量
deepseek-v4-flash-thinking0.05轻量
grok-4.10.05轻量
gemini-3-pro-preview0.05轻量
grok-4.50.09主力
grok-4.60.09主力
claude-sonnet-4-5-thinking0.09主力
deepseek-v4-pro-thinking0.09主力
kimi-k2.50.09主力
kimi-k2.60.09主力
gemini-3.1-pro-preview0.09主力
claude-opus-4-5-thinking0.12旗舰
gpt-5.50.2旗舰
gpt-5.5-pro-thinking0.2旗舰
claude-sonnet-4-6-thinking0.2旗舰
claude-opus-4-6-thinking0.25旗舰
gpt-5.3-pro0.3旗舰
模型计价方式价格备注
gpt-image-2-pro按次0.25 元/次生图,按张
NanoBanana-Pro按次0.27 元/次生图,按张
gpt-6-astra按量输入 ¥3/百万 token,输出 ¥15/百万 token长输入场景单独核算

三个真实场景的月度成本

场景一:个人写作助手,每天 150 次

平均单价按 0.045 元算:150 × 0.045 = 6.75 元一天,一个月 30 天约 202.5 元。如果换成按量口径,每次输入 800 token、输出 400 token,每天输入 12 万 token、输出 6 万 token,就是 0.36 + 0.9 = 1.26 元一天,一个月约 38 元。

看起来按量便宜 5 倍多,但别忘了突变:用户的某次提问可能是把 20 万字的产品手册粘进来,按量单次成本立刻从 0.0084 元跳到 0.89 元。按次计费这天依然是 6.75 元。你要的是便宜的常态,还是封顶的上限,这是个业务决定。

场景二:客服机器人,每天 2000 次

主用 deepseek-v4-flash-thinking,单价 0.05 元:2000 × 0.05 = 100 元一天,一个月 3000 元。这个量级下最值得做的是分流——把"营业时间""退货政策"这类固定问答做成关键词匹配或本地缓存,命中后根本不调模型。省下来的不是模型差价,是 2000 次里被砍掉的那部分。

场景三:每天 20 次长文档问答

每次塞 20 万字资料(约 29 万 token),用 gemini-3-pro-preview 0.05 元每次:20 × 0.05 = 1 元一天,一个月 30 元。同样的量走按量口径:单次 0.29 × 3 = 0.87 元加输出 0.022 元,约 0.89 元,一天 17.8 元,一个月 534 元。这一档差了将近 18 倍,长上下文任务的差价全在这里。

场景每天调用主用模型单价(元/次)每天(元)每月 30 天(元)
个人写作助手150 次平均 0.045 元档0.0456.75202.5
客服机器人2000 次deepseek-v4-flash-thinking0.051003000
长文档问答20 次gemini-3-pro-preview0.05130
长文档问答(按量口径)20 次输入 ¥3/百万、输出 ¥15/百万约 0.8917.8534

按量还是按次:一张表看清怎么选

四种典型请求形态的对照

请求形态单次规模按量成本按次成本谁更省
33 万字资料问答一次输入约 48 万 token1.46 元0.031 元(gemini-2.5-pro)按次,差约 47 倍
10 轮短对话累计输入 6 万 token0.27 元0.9 元(0.09 元 × 10 次)按量,差约 3 倍
每天 150 次短问单次输入 800 token1.26 元/天6.75 元/天按量,差约 5 倍
每天 20 次 20 万字问答单次输入约 29 万 token17.8 元/天1 元/天按次,差约 18 倍

怎么选:看单次输入规模,也看你要不要上限

用 Python 写一个成本计算器

计算器脚本

# cost_calc.py —— 按次 / 按量 双口径成本估算
PER_CALL = {                      # 按次计费单价(元/次)
    "gemini-2.5-pro": 0.031,
    "deepseek-v4-flash-thinking": 0.05,
    "deepseek-v4-pro-thinking": 0.09,
    "gemini-3.1-pro-preview": 0.09,
    "claude-opus-4-5-thinking": 0.12,
    "gpt-5.3-pro": 0.3,
}
IN_PRICE = 3.0 / 1_000_000        # 按量:输入 3 元/百万 token
OUT_PRICE = 15.0 / 1_000_000      # 按量:输出 15 元/百万 token
TOKEN_PER_CHAR = 1.45             # 中文 1 个汉字约 1.45 个 token


def to_tokens(chars: int) -> int:
    return int(chars * TOKEN_PER_CHAR)


def per_call_cost(model: str, calls_per_day: int, days: int = 30) -> float:
    return PER_CALL[model] * calls_per_day * days


def per_token_cost(in_chars: int, out_chars: int, calls_per_day: int, days: int = 30) -> float:
    one_call = to_tokens(in_chars) * IN_PRICE + to_tokens(out_chars) * OUT_PRICE
    return one_call * calls_per_day * days


if __name__ == "__main__":
    print("长文档任务(每次输入 20 万字,每天 20 次)")
    print("  按次 gemini-2.5-pro : %6.2f 元/月" % per_call_cost("gemini-2.5-pro", 20))
    print("  按量(同规模输入)   : %6.2f 元/月" % per_token_cost(200_000, 1_000, 20))
    print("短请求任务(每次输入 800 字,每天 150 次)")
    print("  按次 0.05 元档       : %6.2f 元/月" % per_call_cost("deepseek-v4-flash-thinking", 150))
    print("  按量(同规模输入)   : %6.2f 元/月" % per_token_cost(800, 400, 150))

参数怎么填

PER_CALL 里只保留你实际会用的模型,避免上线后月底才发现调的是旗舰档。TOKEN_PER_CHAR 是最容易高估或低估的一个数:如果你的输入以英文和代码为主,把它调到 0.8 到 1.0 更贴近真实。calls_per_day 从日志里数,别凭感觉。

输出怎么读

跑完你会拿到两个数字:按次那一列是固定的,按量那一列会随着输入长度剧烈变化。把两个数字都摆在产品会上,选择就不再靠争论。要长期监控,把这段逻辑接进每日定时任务,把结果写进一张表,成本走势就有据可查。

用 curl 测一次真实消耗

请求示例

curl -s https://xyuapi.top/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-你的小鱼API密钥" \
  -d '{
    "model": "gemini-2.5-pro",
    "messages": [{"role": "user", "content": "用一句话说明按次计费是什么"}],
    "max_tokens": 200
  }'

从返回里看 usage

返回体里的 usage 字段会告诉你这次请求的实际 token 消耗,通常长这样:prompt_tokens 是输入,completion_tokens 是输出,两者相加是这次请求的总量。跑十几条真实请求,把 prompt_tokens 的中位数和最大值记下来,这两个数比任何经验值都可靠。

把 token 换算成钱

prompt_tokens 乘以输入单价、completion_tokens 乘以输出单价,就是这次请求在按量口径下的成本。再和按次单价一比,该走哪个口径自己就有答案了。

你该怎么做:估调用量、挑档位、留余量

先摸清一天的调用量

从日志里数出三个数:每天的请求次数、单次输入 token 的中位数、单次输入 token 的最大值。中位数决定你的常态成本,最大值决定你要不要按次的封顶保护。只算中位数的人,通常会在遇到一个粘贴长文档的用户之后开始重写架构。

按任务难度挑档,别一刀切

同一个产品里,路由分发、摘要、翻译用 0.031 到 0.05 元档;复杂推理和长文档理解用 0.09 元档;只有真正需要旗舰模型的任务才上 0.2 元以上。把模型名做成可配置项,按任务类型走不同档位,这一步通常比换平台省得多。

预算留三成,每月对一次账

按算出来的月度成本乘 1.3 做预算,多出来的三成用来兜住流量增长、重试放大和模型改版。每月固定做一件事:把实际消耗和预算摆在一起对账,差得多的那一档就是下个月要优化的地方。

本文所有换算基于输入 ¥3/百万 token、输出 ¥15/百万 token 的假设,中文按 1 个字 1.45 个 token 估算;各家模型的实际标价和分词规则请以其官方页面为准,官方调价后套用同一个公式替换单价即可。

相关阅读

🚀 想要立即使用?来小鱼API体验全系列AI模型

查看全部产品

支持Gemini / Claude / GPT / Grok / DeepSeek · 国内直连 · 支付宝/微信