MiniMax API 的账单不能只看一个 Token 单价。文本、语音、视频、图片的计费单位不同,同一个账户里可能同时出现 Token、时长、字符、张数和任务次数。只拿文本单价做预算,遇到语音或视频任务时很容易低估成本。
文本侧也不是“总 Token 乘一个数”。输入、输出、缓存命中分别计价,长上下文还可能进入更高档位;重试和历史消息会把实际用量推高。
本文拆解各能力的计费单位、文本账单结构、长上下文与重试的成本放大点,以及用 usage 做估算和预算对账的方法。具体单价以站内模型价格和官方文档为准。
说明:MiniMax 是其权利人的商标,本文仅作技术说明,与 MiniMax 无隶属关系。计费规则、模型名称和价格可能调整,本文以 2026 年 10 月的公开文档为例,采购前请再次核对官方页面。
一、先分清每种能力按什么单位计费
MiniMax 的按量计费按能力分单位。官方文档当前列出的口径大致如下:
| 能力 | 主要计费单位 | 容易忽略的点 |
|---|---|---|
| 语言模型、部分视频任务 | Token(输入、输出、缓存命中分开) | 系统提示、历史、工具定义都计入输入 |
| 语音识别 | 音频时长 | 静音、重复上传也占时长 |
| 语音合成 | 字符(按万字符计) | 中文一字按两字符,标点空格也计数 |
| 音色设计或克隆 | 每个音色一次性费用 | 首次合成时扣费 |
| 视频生成 | 输出秒数 + 输入素材 | 重新生成会再计输入素材 |
| 图片生成 | 每张 | 先确认尺寸和张数口径 |
| 工具调用、音乐 | 每次调用或每首 | Agent 循环会持续累积 |
不要用一个“平均每次请求多少钱”覆盖所有业务。文本客服、语音客服、短视频的成本结构完全不同;只使用文本接口时关注 Token 三项,接入语音或视频后要单独建成本表。
二、文本模型的三笔账:输入、输出与缓存
文本请求通常拆成输入、输出、缓存命中三部分,部分型号还单列缓存写入。输入不只是用户那句话,系统提示、历史对话、工具定义、检索文档都会计入;多轮对话每一轮都可能重带历史,最容易累积。
缓存用于复用重复前缀。MiniMax 提示缓存按前缀匹配,官方说明的顺序是工具定义、系统提示词、历史对话;缓存自动生效,但输入至少要达到 512 Token。命中部分按更低的输入价计费,新输入按标准输入价计费;是否有缓存写入费取决于型号。
单次成本 = 缓存命中输入 × 命中单价 + 新输入 × 输入单价 + 输出 × 输出单价;若有缓存写入费再加一项。
最容易被低估的是“新输入”。每轮都塞整份手册,或把工具完整返回带回下一轮,都会让它持续增长。缓存能缓解重复前缀,但不能替代检索和裁剪。
三、长上下文:512k 是一条计价分界线
长上下文能力强,不等于便宜。官方当前说明,M3 输入超过 512k Token 后进入更高计价档,输入和输出都按更高价格计算;不同型号阈值可能不同,以价格表为准。
第二层成本来自轮数:上下文越长,每轮携带的历史越多。若每轮保留完整对话,输入会随轮数累积,账单增长快于直觉;代码助手、文档问答和 Agent 任务最容易出现。
控制成本优先做三件事:检索缩小范围、对历史做滚动摘要、把稳定内容放在开头以提高缓存命中。只有确实需要跨文档推理时,才把上下文拉到很长。
四、重试与失败请求:不要假设一定不计费
每次重试都是一次新请求,可能再次携带完整输入;429、超时后的自动重发若没有退避和次数上限,很容易放大用量。文本请求失败后是否计费,官方没有统一承诺,应以用量记录和账单为准。视频侧口径较明确:生成失败或命中安全审核不扣减点数;语音和图片任务以各自说明为准。
实践建议:
- 只重试可重试的错误,鉴权、参数错误不要重发。
- 使用指数退避并设置最大次数。
- 记录请求 ID、模型、输入长度和重试次数。
- 批量任务先小样本验证成功率。
五、用 usage 做一次可复现的估算
不要用字数猜 Token。每次调用后读取响应里的 usage,连续记录一周,就能得到自己业务的真实结构。下面是一个通过 OpenAI 兼容入口调用并读取缓存字段的例子:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["ZSQH_API_KEY"],
base_url="https://ai.zhongshangqihang.com/v1",
)
resp = client.chat.completions.create(
model="MiniMax-M3", # 模型名以站内价格页为准
messages=[
{"role": "system", "content": "你是客服助手,回答不超过三句话。"},
{"role": "user", "content": "订单发货后还能改地址吗?"},
],
max_completion_tokens=256,
)
usage = resp.usage
cached = 0
details = getattr(usage, "prompt_tokens_details", None)
if details is not None:
cached = getattr(details, "cached_tokens", 0) or 0
print("总输入", usage.prompt_tokens)
print("缓存命中", cached)
print("新输入", usage.prompt_tokens - cached)
print("输出", usage.completion_tokens)
把时间、项目、模型、输入、缓存命中、输出和重试次数记入日志,按项目、模型、场景汇总。官方经验值约为 1600 个中文字符对应 1000 Token,但差异很大,仍以 usage 为准。
预算给低、中、高三档,比一个精确数字更接近真实账单。缓存命中率、输出长度、重试比例都会波动,用区间估算更稳妥。
六、降本顺序:先量化,再动模型
- 量化:用 usage 和日志算出各功能的输入、输出、缓存命中与重试。
- 提缓存:固定工具顺序和系统提示,把时间戳、随机 ID 移到请求末尾。
- 减输入:检索只召回相关片段,历史做摘要,工具返回只留必要字段。
- 限输出:设置合理的
max_completion_tokens,要求 JSON 或固定字段。 - 模型分流:分类、抽取走轻量模型,复杂推理再升级;延迟敏感再考虑优先档。
- 异步与告警:离线任务进队列,按项目和 Key 设预算上限与低余额提醒。
顺序不要反。先换便宜模型,但输入没治理、缓存没命中,账单降不下来,质量还会下降。
七、预算、账单与发票怎么对
月度预算按“场景用量 × 单价”汇总,再乘安全系数;单价从模型价格取。测试和生产分开建 Key、分别设额度,避免互相挤占。
对账重点看三处:Token 结构是否与日志一致、模型档位是否正确、失败重试是否产生额外记录。官方账户的发票按实际支付和消耗口径计算,代金券抵扣部分通常不可开票。
需要人民币统一账单和多模型用量的团队,可用国内 AI 网关充值并开票;价格、汇率和发票规则以站内价格页与充值页为准。
常见问题
MiniMax API 是按调用次数收费吗?
不完全是。文本按 Token,语音识别按时长,语音合成按字符,视频按秒数和素材,图片按张数。先确认业务用到哪种能力。
输入和输出哪个更贵?
多数模型输出单价高于输入,缓存命中输入更便宜。不要只比单价,要按自己的输入输出比例算单次成本。
长上下文一定会更贵吗?
不一定会,但风险更高。超过阈值会进入更高计价档,每轮携带历史还会累积输入。能靠检索和摘要解决的任务,不要塞满上下文。
失败重试会计费吗?
文本侧官方没有统一承诺,重试是新的请求,应按用量和账单核对。视频侧生成失败或命中安全审核不扣减点数;其他能力以各自说明为准。
为什么估算和账单对不上?
常见漏算项包括历史消息、工具定义、缓存未命中、重试、长输出和档位差异。用请求 ID 对照日志才能定位。
下一步
先在中商起航 AI 网关创建测试 Key,用真实任务跑一周,记录输入、输出、缓存命中和重试,再按模型价格折算预算。
相关阅读:
