MiniMax 将于 2026 年 11 月 18 日停止提供 M2.5 和 M2.7,迁移已经开始。自 10 月 19 日起,这两个旧系列已不再向新用户开放,指定它们的套餐请求会由 M3.1 Flash 处理。如果你使用按量付费,还有四周时间自行更改模型 ID。
大多数 M2.7 代码无需改动即可在 M3.1 Flash 上运行。问题出在一个设计选择上:M3.1 Flash 始终会进行思考,而且除非另有指定,否则会以最深层级思考。这会导致一个明显的错误、一些不易察觉的成本上涨,以及几个如今完全不起作用的设置。
AIHubMix 于 2026 年 10 月 19 日通过其网关,将本文中的每个请求都发送至 minimax-m3.1-flash 进行测试。错误文本均直接摘自响应。MiniMax 的规则引自其 API 文档。
哪些用户会受影响,以及会发生什么
| 你通过以下方式使用 M2.5/M2.7 | 会发生什么 | 截止日期 |
|---|---|---|
| MiniMax M Plan / Token Plan | 请求仍使用旧名称,但由 M3.1 Flash 处理 | 已于 10 月 19 日生效 |
| MiniMax 按量付费 | 旧 ID 暂时仍可用,之后将停止 | 2026 年 11 月 18 日 |
| 新的 MiniMax 账户 | 无法使用 M2.5/M2.7 | 2026 年 10 月 19 日 |
对于套餐用户,MiniMax 的模型页面说明:“这些套餐下对 M2.5 和 M2.7 模型的所有请求都将自动路由至 M3.1 Flash Preview”,并且“现有模型名称仍可继续使用”。对于按量付费用户,页面说明:“模型停止提供后,对这些模型的 API 请求将不再生效。”公告未提及按量付费用户会自动重定向,因此请预期请求会报错,而不是回退到其他模型。
套餐用户应留意“路由”的实际含义。日志中仍会显示 M2.7,但模型权重已经不同,上下文长度扩大了 5×,思考深度默认设为 max。请将其视为模型变更,并重新运行评测。
会明显报错的情况
400:“requires adaptive thinking”
你会看到什么。禁用思考的请求会被拒绝:
{"error": {"message": "invalid params, model \"MiniMax-M3.1-Flash\" requires adaptive thinking; thinking.type=\"disabled\" (including reasoning.effort=none) is not allowed (2013) (tid: …)", "type": "bad_request_error", "param": "", "code": null}}
原因。MiniMax 的Messages API 参考文档指出,模型“始终会进行思考”:如果传入 thinking.type,其值必须为 adaptive;传入 disabled 则会返回 HTTP 400。为 M3 编写的代码也可能遇到这个问题,因为 M3 允许关闭思考。将模型标记为非推理模型、并默认发送“关闭思考”设置的框架,每次调用都会遇到此错误;kodus-ai 和 9router-go 项目都报告过类似情况。
触发错误的最简请求(通过 AIHubMix 调用 Chat Completions):
curl https://aihubmix.com/v1/chat/completions \
-H "Authorization: Bearer $AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "minimax-m3.1-flash",
"messages": [{"role": "user", "content": "hi"}],
"thinking": {"type": "disabled"}}'
解决方法。删除 thinking 字段,或将其设为 {"type": "adaptive"}。如果你之前关闭思考是为了节省时间,可以改用 "reasoning_effort": "low"。
图片 URL 返回相同代码 2013 的 400 错误
你会看到什么。 invalid param: remote returned status 400 (2013)。我们使用托管在 upload.wikimedia.org 上的图片 URL 时遇到了此错误。同一请求改用 base64 图片,或使用其他主机上的图片 URL,则返回 200。
原因。代码 2013 是 MiniMax 通用的“参数无效”错误代码,并非专门针对思考功能的错误。在这种情况下,上游似乎无法获取远程图片。这是我们对错误信息的解读;MiniMax 并未记录这种情况。
解决方法。以 base64 形式发送图片(data:image/png;base64,…),或将图片托管在支持普通 HTTP 请求的地方。在日志中搜索 2013 时,请先阅读完整错误信息,不要直接认定这是思考功能错误。
11 月 18 日之后:已停用的模型 ID
届时,通过 MiniMax API 对 MiniMax-M2.5、MiniMax-M2.5-highspeed、MiniMax-M2.7 和 MiniMax-M2.7-highspeed 发起的按量付费调用将停止工作。公告未提及 M2.1 和 M2。请提前更改模型 ID。在 AIHubMix 上,新 ID 为 minimax-m3.1-flash。
不易察觉的问题
以下请求都会返回 200。差异会体现在账单、延迟或输出结果上。
1. “关闭思考”设置现在不起作用
通过 AIHubMix,有三种关闭思考的请求方式不会报错,但模型仍会进行思考:
| 请求 | 在 AIHubMix 上的结果 |
|---|---|
| Messages API,thinking disabled | 200;面对一道简短谜题时产生 469–622 个思考 token |
| Chat,reasoning_effort none | 200;同一道谜题产生 265–372 个推理 token |
| Chat,reasoning_effort minimal | 200;模型仍会思考 |
前两行分别是在同一道三盒逻辑谜题上运行三次的结果;设置为 low 时使用了 173–251 个推理 token。minimal 测试则是在一道单行算术题上运行一次。
只有 Chat Completions 使用 thinking: {"type": "disabled"} 时,才会产生上述 400 错误。如果你的 M2.x 或 M3 代码依赖这些设置来加快调用速度,现在调用会悄无声息地继续思考。唯一真正有效的调节手段是 effort,而最低级别是 low。
2. 默认 effort 为 max
M2.7 没有思考级别。M3.1 Flash 有五个级别,MiniMax 文档说明,省略该字段时默认为 max。针对一个 Python 函数中的两个小 bug 修复,AIHubMix 测得:
| 设置 | 平均推理 token 数 | 平均耗时 | 每次修复的平均成本 |
|---|---|---|---|
| 省略 effort | 6,364 | 56 s | $0.0045 |
| effort low | 591 | 9.5 s | $0.0006 |
两种设置下的每次运行都通过了全部 215 项隐藏测试。成本按 AIHubMix 每百万 token 输入 $0.165、输出 $0.66 的价格计算,每种设置运行三次。如果迁移时不添加 effort 设置,同一任务的耗时约为原来的 6×。本系列的 effort 文章中提供了五个级别的完整测量结果。
3. 思考会占用 max_tokens
思考 token 会计入 max_tokens。M2.x 代码通常会为简短回答设置较小的上限。在一道两句话的问题中,如果设置 max_tokens: 64,模型会把预算都花在思考上,随后返回 finish_reason: "length",并给出被截断的回答:“Sunlight contains many colors,”。MiniMax 建议设置为 131,072,最高可设为 524,288。请提高较小的上限,或在信任文本之前检查 finish_reason。
4. 缓存和服务等级发生变化
- 根据 MiniMax 的 API 参考文档,M3.1 Flash(或 M3)不支持
cache_control。M2.7 的显式缓存写入费用为每百万 $0.375。M3.1 Flash 的缓存则是自动的。AIHubMix 对每百万缓存读取收取 $0.0165;我们发送的每个请求中,约有 175–195 个提示词 token 由缓存提供,即使是第一个请求也如此。这看起来像是 MiniMax 端固定的前置内容;按此价格计算,每千次请求的成本约为三分之一美分。请移除cache_control块;在这里它们不起作用。 - 不支持
service_tier。如果你之前使用 M3 的 Priority 服务等级来降低延迟,Flash 没有对应选项。
5. 名称相同,采样设置不同
MiniMax 的默认 top_p 从 M2.x 的 0.9 调整为 M3.1 Flash 的 0.95,上下文窗口也从 204,800 扩大到 1,000,000 个 token。针对 M2.7 调优的提示词可能会生成更长或更松散的输出。模型名称不变,并不代表模型没变:请重新运行评测。
容易忽略的计费规则
- 思考按输出计费。在 AIHubMix 上,价格为每百万 $0.66。在默认 effort 下,我们的 bug 修复任务中,思考 token 占输出的 95%(6,673 个 token 中有 6,364 个)。
- MiniMax 尚未公布官方的单 token 价格。其定价页面列出了 M3 和 M2.x,但没有 M3.1 Flash。AIHubMix 的收费为 $0.165 / $0.66 / $0.0165(输入 / 输出 / 缓存读取)。
- M3 的官方价格在输入 token 超过 512K 后会翻倍。AIHubMix 对 M3.1 Flash 列出了统一价格。如果你发送非常长的提示词,请将第一张账单与自己的估算进行核对。
降低账单的做法:
- 将
reasoning_effort: "low"(Chat)、output_config.effort: "low"(Messages)或reasoning.effort: "low"(Responses)设为默认值,并根据任务需要提高级别。 - 将稳定的指令放在提示词开头,以便自动缓存能使用这些内容。
- 将
max_tokens设得足够大,避免思考过程截断回答;因为不得不重试的截断回答,成本会高于预留更多 token 的成本。
拥有真实权限的智能体
当模型能够运行命令或编辑文件时,有三种行为值得注意:
- 它在采取行动前总会先进行推理,即使设为
low也一样。这有助于它选择工具,但也意味着每个工具步骤都会增加思考延迟;在我们的简短工具调用中,low下每一步约耗时 2 到 7 秒。 - 它会严格按照你说的去做。一位早期测试者称它“快得惊人,但需要清晰具体的指令,否则就会太懒”。请为智能体明确规定停止条件和验证步骤(“运行测试并粘贴输出”),而不是只给出宽泛目标。
- 官方仅支持
tool_choice设为auto。AIHubMix 接受了"required"(Chat)和{"type": "any"}(Messages),模型也确实调用了工具,但 MiniMax 并未记录强制调用是否有效。不要将其作为安全检查的基础。
MiniMax 表示,后续轮次中应原样返回 thinking 块(Messages),并保持 reasoning_content 完整不变(Chat)。在我们的测试中,剥离 thinking 块后进行简短的工具往返仍然可行,但在较长的智能体循环中,请遵循文档中的规则。
编程工具
AIHubMix 为常用编程工具所需的三种协议都提供 minimax-m3.1-flash。我们于 10 月 19 日分别使用文本、工具调用和工具结果往返流程对每种工具进行了测试。
| 工具 | 所需协议 | 通过 AIHubMix 可用 | Effort 字段 |
|---|---|---|---|
| Claude Code | Anthropic Messages | 是 | output_config.effort |
| Codex CLI | OpenAI Responses | 是 | reasoning.effort |
| OpenCode | OpenAI-compatible | 是 | reasoning_effort |
MiniMax API 上的上下文窗口为 1,000,000。根据 magpie 项目中一位维护者引用的 MiniMax 文档,MiniMax Code 将客户端默认设为 512K,“以平衡使用体验与成本”;API 没有窗口参数。
Claude Code。按照AIHubMix Claude Code 指南将其连接至 AIHubMix,并将模型设为 minimax-m3.1-flash:
export ANTHROPIC_BASE_URL="https://aihubmix.com"
export ANTHROPIC_AUTH_TOKEN="$AIHUBMIX_API_KEY"
export ANTHROPIC_MODEL="minimax-m3.1-flash"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="minimax-m3.1-flash" # background tasks too
Anthropic 风格的客户端会发送两种思考模式:带预算的 enabled 和 adaptive。在我们的测试中,两者都返回了 200,因此你不会遇到 400。已知问题:目前尚无文档说明 Claude Code 的 effort 设置是否会以 output_config.effort 的形式传递给非 Claude 模型。如果没有传递,模型就会按默认的 max 运行,每轮耗时会比 M2.7 更长。下面的冒烟测试会说明如何判断。
Codex CLI。 Codex 使用 Responses API,该 API 适用于此模型:函数调用会以 function_call 项的形式返回。按照 AIHubMix Codex 指南配置自定义提供商,并设置 wire_api = "responses",然后将 model = "minimax-m3.1-flash" 和 model_reasoning_effort 设好。xhigh 和 minimal 均被接受;minimal 不是 MiniMax 支持的级别,而且模型仍然会思考。
OpenCode。 OpenCode issue #54801(在 v2.0.27 上复现)报告称,OpenCode 无法为此模型解析出任何 effort 变体,因此按 ctrl+t 毫无作用。该 issue 提供的变通方法是在 opencode.json 中自行声明五种变体。对于 AIHubMix 的 OpenAI 兼容提供商,每种变体应设置的请求字段是 reasoning_effort(low … max),而不是 issue 中的 output_config.effort。不要添加 none 变体。
以下是适用于这三种工具的15 分钟冒烟测试:
- 创建一个临时文件夹,里面放一个有一处已知错误的函数,以及一个会因该错误而失败的测试文件。
- 向代理提出要求:“运行测试,修复错误,再次运行测试,并向我展示输出。”
- 成功的表现是:代理在修复前后都运行了测试,最后一次运行通过,几轮内就完成,而且没有任何一轮返回 400。
- 查看 AIHubMix 使用日志。你应该能看到带有推理 token 的
minimax-m3.1-flash请求。如果每轮耗时接近一分钟,说明 effort 设置没有传递到模型,模型正在以max运行。
迁移清单
- 在 11 月 18 日之前,将 MiniMax-M2.5 / M2.7 ID(在 AIHubMix 上)替换为 minimax-m3.1-flash。
- 从请求中移除 thinking disabled、effort none 和 effort minimal。
- 为每个请求明确指定 effort 级别;从 low 开始。
- 提高 max_tokens,避免思考过程截断回答;检查 finish_reason。
- 移除 cache_control 和 service_tier 字段。
- 以 base64 形式发送图片,或使用上游服务能够获取的图片托管地址。
- 在工具调用轮次之间,保持 thinking 块和 reasoning_content 完整。
- 重新运行评估:名称相同,但模型和采样默认值已变。
- 在编程工具中,确认 effort 设置已传递到模型(轮次耗时是个快速判断方法)。
常见问题
为什么会出现“requires adaptive thinking”?
你的请求禁用了思考,通常是因为在 Chat Completions 端点将 thinking type 设为了 disabled。M3.1 Flash 始终会进行思考。请移除该字段或将其设为 adaptive;如果想要更快,可以使用 effort low。
我的 M2.7 请求没有变化,但回答变了。为什么?
如果你使用的是 MiniMax M Plan 或 Token Plan,那么自 2026 年 10 月 19 日起,指定 M2.5 或 M2.7 的请求一直由 M3.1 Flash 处理,只是仍沿用旧名称。
按量付费用户的截止日期是什么时候?
2026 年 11 月 18 日。此后,发往 M2.5 和 M2.7 的 MiniMax API 请求将无法使用。
在 AIHubMix 上,reasoning_effort none 能用吗?
它会返回 200,但模型仍然会思考。实际生效的最低级别是 low。
我还需要 cache_control 吗?
不需要。MiniMax 的 M3.1 Flash 不支持此字段。缓存会自动进行,AIHubMix 对缓存输入的收费为每百万 token $0.0165。
我可以在 Claude Code 和 Codex 中使用 M3.1 Flash 吗?
可以。AIHubMix 在 Claude Code 中通过 Anthropic Messages API 提供该模型,在 Codex 中则通过 Responses API 提供。两者均于 2026 年 10 月 19 日通过了文本、工具调用和工具结果测试。
为什么我的回答被截断了?
思考 token 也计入 max_tokens。如果 finish_reason 为 length,请提高 max_tokens。MiniMax 建议使用 131,072。
继续阅读:MiniMax M3.1 Flash 系列
- 在决定迁移之前,先了解你将要迁移到的模型,从 Space Bunny 发布到与 M2.7 和 M3 的价格对比,一文尽览:MiniMax M3.1 Flash 就是 Space Bunny:M2.7 和 M3 有哪些变化,价格如何
- 迁移后最重要的单项设置就是 effort。这篇文章针对同一个错误修复任务测量了全部五个级别:MiniMax M3.1 Flash Effort 级别:同一错误修复任务中,默认级别为何比 Low 贵 7×
- 如果这次迁移让你开始重新考虑是否继续使用 MiniMax,这里比较了它最接近的两款竞品完成同一任务的表现和费用:MiniMax M3.1 Flash vs DeepSeek V4.1 Flash vs Claude Haiku 5.5:一次错误修复,三笔账单



