把一份 33 万字的技术资料塞进一次请求,按量计费大约 1.46 元,按次计费 0.031 元,差 47 倍。差距不来自模型更强,只来自计价口径:按量按你塞进去多少 token 收钱,按次按请求次数收钱,塞 1 个字和塞 33 万字同一个价。
算成本缺的不是"哪家便宜"这类说法,而是一条能写进表格、能被手算验证的公式。下面把两种口径摊开算给你看,最后给一个能直接跑的成本计算脚本。
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 倍就下结论,口径要按你的请求形态挑。
不同厂商用的分词器不一样,同一段中文在 A 模型算 1000 token,在 B 模型可能算 1500。做预算时按 1.45 这个偏保守的值估:估高了顶多预算宽一点,估低了月底要补钱。
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 万 |
表里的数字都是粗算值,不同分词器会有正负三成的浮动。做预算时它已经够用,因为真正决定钱包的是量级,不是小数点后两位。
输入 ¥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 产品的人应该对这点特别敏感:你无法预判用户下一秒会粘贴多长的内容,但你可以预判每次请求花多少钱。成本可预测,定价才敢定。
小鱼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 兼容格式。
摘要、分类、翻译、代码补全、客服问答这类任务,用这一档足够。很多团队在这一档上花 3 分钱办成的事,非要上 0.25 元的旗舰模型,属于白白多花 8 倍。
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-pro | 0.031 | 轻量 |
| deepseek-v3.2-thinking | 0.049 | 轻量 |
| deepseek-r1-thinking | 0.049 | 轻量 |
| deepseek-v4-flash-thinking | 0.05 | 轻量 |
| grok-4.1 | 0.05 | 轻量 |
| gemini-3-pro-preview | 0.05 | 轻量 |
| grok-4.5 | 0.09 | 主力 |
| grok-4.6 | 0.09 | 主力 |
| claude-sonnet-4-5-thinking | 0.09 | 主力 |
| deepseek-v4-pro-thinking | 0.09 | 主力 |
| kimi-k2.5 | 0.09 | 主力 |
| kimi-k2.6 | 0.09 | 主力 |
| gemini-3.1-pro-preview | 0.09 | 主力 |
| claude-opus-4-5-thinking | 0.12 | 旗舰 |
| gpt-5.5 | 0.2 | 旗舰 |
| gpt-5.5-pro-thinking | 0.2 | 旗舰 |
| 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 | 长输入场景单独核算 |
平均单价按 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 元。你要的是便宜的常态,还是封顶的上限,这是个业务决定。
主用 deepseek-v4-flash-thinking,单价 0.05 元:2000 × 0.05 = 100 元一天,一个月 3000 元。这个量级下最值得做的是分流——把"营业时间""退货政策"这类固定问答做成关键词匹配或本地缓存,命中后根本不调模型。省下来的不是模型差价,是 2000 次里被砍掉的那部分。
每次塞 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.045 | 6.75 | 202.5 |
| 客服机器人 | 2000 次 | deepseek-v4-flash-thinking | 0.05 | 100 | 3000 |
| 长文档问答 | 20 次 | gemini-3-pro-preview | 0.05 | 1 | 30 |
| 长文档问答(按量口径) | 20 次 | 输入 ¥3/百万、输出 ¥15/百万 | 约 0.89 | 17.8 | 534 |
| 请求形态 | 单次规模 | 按量成本 | 按次成本 | 谁更省 |
|---|---|---|---|---|
| 33 万字资料问答一次 | 输入约 48 万 token | 1.46 元 | 0.031 元(gemini-2.5-pro) | 按次,差约 47 倍 |
| 10 轮短对话 | 累计输入 6 万 token | 0.27 元 | 0.9 元(0.09 元 × 10 次) | 按量,差约 3 倍 |
| 每天 150 次短问 | 单次输入 800 token | 1.26 元/天 | 6.75 元/天 | 按量,差约 5 倍 |
| 每天 20 次 20 万字问答 | 单次输入约 29 万 token | 17.8 元/天 | 1 元/天 | 按次,差约 18 倍 |
# 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 -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 字段会告诉你这次请求的实际 token 消耗,通常长这样:prompt_tokens 是输入,completion_tokens 是输出,两者相加是这次请求的总量。跑十几条真实请求,把 prompt_tokens 的中位数和最大值记下来,这两个数比任何经验值都可靠。
拿 prompt_tokens 乘以输入单价、completion_tokens 乘以输出单价,就是这次请求在按量口径下的成本。再和按次单价一比,该走哪个口径自己就有答案了。
从日志里数出三个数:每天的请求次数、单次输入 token 的中位数、单次输入 token 的最大值。中位数决定你的常态成本,最大值决定你要不要按次的封顶保护。只算中位数的人,通常会在遇到一个粘贴长文档的用户之后开始重写架构。
同一个产品里,路由分发、摘要、翻译用 0.031 到 0.05 元档;复杂推理和长文档理解用 0.09 元档;只有真正需要旗舰模型的任务才上 0.2 元以上。把模型名做成可配置项,按任务类型走不同档位,这一步通常比换平台省得多。
按算出来的月度成本乘 1.3 做预算,多出来的三成用来兜住流量增长、重试放大和模型改版。每月固定做一件事:把实际消耗和预算摆在一起对账,差得多的那一档就是下个月要优化的地方。
本文所有换算基于输入 ¥3/百万 token、输出 ¥15/百万 token 的假设,中文按 1 个字 1.45 个 token 估算;各家模型的实际标价和分词规则请以其官方页面为准,官方调价后套用同一个公式替换单价即可。