1 块钱一百万 token 的 MiniMax M3.1 Flash:三个关不掉的开关

一个小服务,每天两千来次调用:把用户留言分成八类,再压成两句话摘要。月底把账单摊开,八成花在输出上——分类结论、摘要,外加一段「为什么这么分」的解释。这种场景里,模型榜上排第几毫无意义,该算的是单价乘上每次实际吐多少 token。

10 月 19 日 MiniMax 放出的 M3.1 Flash,就是冲着这个账本来的。它在 OpenRouter 上匿名跑了十天,代号「太空兔」,累计处理 56.7 万亿 token;上周调用量 6.23 万亿,环比涨了 690%,挤进周榜第八。揭榜之后,官方给的价格是输入 1 元、输出 4 元、缓存读取 0.1 元,每百万 token。

硬参数先摆出来

总参数 428B,每个 token 激活约 23B,MoE 结构。上下文 1M,单次最长输出 524,288 token。输入吃文本、图片、视频三种模态,输出只有文本——这点要记清楚,它不做图。输出速度官方说能到 200 token/秒以上,中位数 170 出头。

架构上相对于上一代 M3 改了三处:前三层全注意力换成稀疏注意力(MSA)、路由专家和注意力路径在训练阶段就做了量化感知、用 DSpark 投机解码替掉原来的 MTP 头。官方口径是线上推理快了近 3 倍,智能体类任务综合成本降 70%。这些是厂商自测,第三方还没有可比数据。

权重已经在 Hugging Face 上(MiniMax-M3.1-Flash),vLLM 当天就给了支持。想自己压测的,路子是通的。

接进来就三步

接口是 OpenAI 兼容的,原来指向 OpenAI 的代码基本不用改逻辑:

pip install openai
export OPENAI_BASE_URL=https://api.minimax.io/v1
export OPENAI_API_KEY=你的key

然后把模型名写成 MiniMax-M3.1-Flash,调用还是 chat.completions.create。返回里答案在 message.content,思考过程在 message.reasoning_content,这个字段可能不存在,代码里要做兜底,别直接下标取。

三个关不掉的开关,不知道就会白花钱

第一,思考是常开的。想调节只能通过 reasoning_effort,五档:low、medium、high、xhigh、max,不写默认 max。传 none 或者 thinking: {type: disabled} 不会降级,会直接返回 400,错误码 2013。这意味着你拿它跑一个八分类任务,默认给你按最高档思考——思考的 token 一样计费。分类、抽取、改格式这类活儿,务必显式写 low。

第二,temperature 和 top_p 不起作用。服务端固定在 1 和 0.95,你传什么值都不改变输出。想要稳定结构,只能靠提示词和 JSON 约束,别在温度上折腾。

第三,思考和答案是同一个输出预算。上限 524,288,思考用掉多少,答案就少多少。做摘要这种活儿,别留默认上限,调到 8K 就够;留太大反而容易让它想得没完。

一天到底花多少钱,算给你看

回到开头那个服务:一天 2000 次,平均输入 3000 token、输出 800 token。输入合计 600 万 token,输出 160 万 token。按 0.15 和 0.60 美元算,输入 0.9 美元,输出 0.96 美元,一天 1.86 美元,折人民币 13 块上下。一个月不到 400 块。

这里面有个容易被忽略的杠杆:缓存读取 0.015 美元,是输入价的十分之一。系统提示加分类规则如果固定 2000 token,每次都带着,按上面那个例子算,输入那 0.9 美元能压到 0.63 美元上下。反过来,如果每次对话都是全新长文本,缓存命中率低,账单就是另一个数。

还有一笔隐性支出:思考 token 算在输出里。同一个任务,effort 从 max 降到 low,输出量经常能砍掉一半——省的不是单价,是长度。这跟订阅制那套额度逻辑完全不同,ChatGPT 和 Codex 十二月起的合池规则是按额度算,不是按 token 计价,两套账别混着估。

开源权重不等于随便用

许可证是 MiniMax Community License,不是 Apache 2.0。商用要署名,还要给一次书面通知;年营收超过 2000 万美元的公司,得先拿到书面授权才能用。自己内部跑没问题,做成对外产品之前把这段读完,别默认「开源=免费用」。

五个坑,按踩到的概率排

一,多轮工具调用要把完整的 assistant 消息带回历史。包括 reasoning_content。只把 content 塞回去,推理链断了,模型会在下一步重新想一遍前面想过的事,token 翻倍不说,判断还会飘。

二,别用默认 effort 跑批量任务。这是最容易犯的错,也是账单差距最大的一处。批处理脚本里显式指定低档,跑一周再看账。

三,图片和视频的传法不一样。图片走 image_url 内容块,视频走 video_url;大文件先用 Files API 上传,拿到 id 后传 mm_file://{file_id}。直接塞 base64 的视频大概率超限。

四,1M 上下文是上限,不是建议值。输入按 token 线性计费,一次塞 100 万 token 就是 0.15 美元。同一份长文档反复提问,靠缓存比分块塞满更省钱。

五,周榜数字要看口径。环比 +690%、排第八,是 OpenRouter 单周调用量的口径,反映的是开发者在试新模型,不等于生产环境在用它。真正该比的是你自己那批任务上的正确率和总成本。

同价位还有别的选择。美团前两天发的 LongCat-2.5 走的是另一条路——1.6 万亿参数、更贵的输出单价,但换更长的输出和终端任务能力,那篇里算过它接进编程 Agent 的账。选哪个不看榜,看你的输入输出比例:输出占比高的活儿,M3.1 Flash 这种 4 元输出的明显占便宜。

常见问题

能彻底关掉思考吗?不能。最低是 low,关不掉。要「快问快答」的场景,只能靠 low 档加短提示词压。

能本地部署吗?权重开源,428B 总参、激活 23B,理论上单机多卡能跑,实际要看你手上的卡。多数团队还是走 API 更划算。

适合接进编程 Agent 吗?接口兼容,接 Claude Code、Codex 这类工具只是换 base_url 和模型名的事,这类客户端的配置位置都差不多。但它的强项在低成本批量任务,不是在复杂重构上跟旗舰模型掰手腕。

输出上限 524K,是不是可以一次写很长?理论上可以,实际写太长后半段质量会掉,而且思考和答案共享这个预算。

有没有免费额度?定价页上没有长期免费档。试水的正确姿势是先拿几百次真实调用跑一遍,看正确率和实际 token 消耗,再决定要不要接进生产。