MiniMax M2.5 and M2.7 Retirement: How to Move to M3 Before November 18

TL;DR
MiniMax closes M2.5 and M2.7 to new users on October 19, 2026 and retires them on November 18. Which model id to switch to, what it costs, and the exact API change.
Last updated: October 18, 2026
MiniMax is retiring its M2.5 and M2.7 model families. If MiniMax-M2.5, MiniMax-M2.5-highspeed, MiniMax-M2.7 or MiniMax-M2.7-highspeed appears anywhere in your code, you have one month. This post covers the two dates, what happens on each, which model id to move to, what it costs, and the exact change to your API call. Everything below was checked against MiniMax's own docs on October 18, 2026.
The two dates#
The notice sits at the top of MiniMax's models page:
- October 19, 2026: "These models will no longer be available to new users."
- November 18, 2026: "These models will be retired."
What that means depends on how you pay.
Pay-as-you-go API users. If you already use these models, they keep working until November 18. After that, MiniMax says, "API requests to these models will no longer work." There is no automatic redirect for pay-as-you-go traffic in the notice, so plan for hard failures, not a silent model swap.
M Plan and Token Plan users. From October 19, "all requests to M2.5 and M2.7 models under these plans will automatically be routed to M3.1 Flash Preview." The old model names keep working, so you do not have to change code, and MiniMax says "your plan's usage allowances will remain unchanged."
New users from October 19. You cannot start on M2.5 or M2.7 at all. Start on M3.
Two things the notice does not say. It does not cover MiniMax-M2.1 or MiniMax-M2, which are still listed under Legacy Models with no retirement date. And the model release notes do not mention the retirement; the models page is the only place it appears. Our deprecations tracker follows dated shutdowns like this one across providers.
Which model id to switch to#
There are two M3-era ids in the docs today, and only one of them is open to pay-as-you-go accounts:
| Your plan | Switch to | Why |
|---|---|---|
| Pay-as-you-go | MiniMax-M3 | The only M3-family id with a pay-as-you-go price |
| M Plan or Token Plan | Nothing required (routed to MiniMax-M3.1-Flash-Preview) | Old names keep working from October 19 |
| New account after October 19 | MiniMax-M3 | M2.x is closed to you |
The docs state plainly that "MiniMax-M3.1-Flash-Preview is available only through M Plan and MiniMax Code for now," and the pricing page lists no pay-as-you-go price for it. So for API keys billed by the token, MiniMax-M3 is the target. Our model pages have the details for MiniMax M3 and for the retiring ids: M2.5, M2.5-highspeed, M2.7 and M2.7-highspeed. The MiniMax provider hub lists them side by side.
Price comparison#
All prices are per million tokens, Standard tier, read from MiniMax's pricing page on October 18, 2026:
| Model | Input | Output | Cache read | Cache write |
|---|---|---|---|---|
| MiniMax-M2.5 | $0.30 | $1.20 | $0.03 | $0.375 |
| MiniMax-M2.5-highspeed | $0.60 | $2.40 | $0.03 | $0.375 |
| MiniMax-M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
| MiniMax-M2.7-highspeed | $0.60 | $2.40 | $0.06 | $0.375 |
| MiniMax-M3 (up to 512k input tokens) | $0.30 | $1.20 | $0.06 | not listed |
| MiniMax-M3 (above 512k input tokens) | $0.60 | $2.40 | $0.12 | not listed |
What that means for each starting point:
- From M2.5 or M2.7: input and output prices are the same. If you lean on prompt caching, M2.5 users pay double for cache reads ($0.03 to $0.06); M2.7 users see no change.
- From either highspeed id: M3 is half the price. MiniMax's text generation guide lists M3 at "approximately 100+ tps", against about 100 tps for the highspeed variants, so you should not lose throughput on paper. If you used highspeed for latency, M3 also offers a Priority tier (
service_tier: "priority") at 1.5x Standard: $0.45 input and $1.80 output, still below the highspeed rates. - Long prompts: above 512k input tokens, M3 doubles to $0.60 / $2.40. None of the M2.x models could take prompts that long, so this only applies once you start using the bigger window.
Two caveats from the pricing page itself. M3's rates are shown as a "Permanent 50% off" over struck-through list prices of $0.60 / $2.40 / $0.12, so the charged rate is the discounted one. And the page lists no cache write price for M3 at all, where every M2.x row shows $0.375. The page does not explain the gap, so check your first invoice if cache writes are a big part of your bill.
Context and max output#
| M2.5 / M2.7 (and highspeed) | MiniMax-M3 | |
|---|---|---|
| Context window | 204,800 | 1,000,000 |
max_tokens recommended | 65,536 | 131,072 |
max_tokens maximum | 204,800 | 524,288 |
| Input types | Text and tool calls | Text, image, video, tool calls |
| Thinking | Always on | Off or on, set by thinking |
Default top_p | 0.9 | 0.95 |
The context windows come from the Anthropic-compatible API page. The max_tokens figures come from the Messages API reference, which says: "For MiniMax-M3.1-Flash-Preview and MiniMax-M3 the recommended value is 131072 (128K) and the maximum is 524288 (512K); for other models the recommended value is 65536 (64K) and the maximum is 204800 (200K)." On every model, thinking tokens count toward max_tokens, so if you set it too low you get stop_reason: "max_tokens" and no text.
What changes in the API call#
The base URLs do not change. The Anthropic-compatible endpoint is still https://api.minimax.io/anthropic and the OpenAI-compatible one is still https://api.minimax.io/v1. The change is the model id, plus a decision about thinking.
Here is MiniMax's own Anthropic SDK quick start, as published on the Anthropic-compatible API page today, after setting ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic and ANTHROPIC_API_KEY:
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="MiniMax-M3.1-Flash-Preview",
output_config={"effort": "max"},
max_tokens=4096,
system="You are a helpful assistant.",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Hi, how are you?"
}
]
}
]
)
That example targets the plan-only Flash Preview. output_config.effort is documented as tuning thinking depth "for MiniMax-M3.1-Flash-Preview" only. For a pay-as-you-go M2.x call, the swap to M3 looks like this:
message = client.messages.create(
- model="MiniMax-M2.5",
+ model="MiniMax-M3",
+ thinking={"type": "adaptive"},
max_tokens=4096,
system="You are a helpful assistant.",
Why add thinking? On M2.x, thinking is always on and cannot be turned off. On M3 the docs disagree with each other about the default. The Anthropic-compatible page's thinking table says that when thinking is omitted, MiniMax-M3 has "Thinking off" and is turned on "with adaptive". The OpenAI-compatible page's table says that for MiniMax-M3 with thinking omitted, thinking is on. Until MiniMax makes the two pages match, set it explicitly. Send {"type": "adaptive"} to keep the reasoning behaviour you had on M2.x, or {"type": "disabled"} if you want lower latency and fewer output tokens.
On the OpenAI-compatible path, the same docs pass thinking through extra_body:
response = client.chat.completions.create(
model="MiniMax-M3",
messages=[{"role": "user", "content": "Hi, how are you?"}],
extra_body={
"thinking": {"type": "adaptive"},
},
)
That shape is copied from MiniMax's OpenAI-compatible thinking example, with the model id changed from MiniMax-M3.1-Flash-Preview to MiniMax-M3 and the Flash-only reasoning_effort line removed. The multi-turn rule carries over unchanged: append the full assistant response, thinking blocks included, back into history in tool-use loops.
If you are on M Plan or Token Plan#
You do not need to change anything, but you are getting a different model from October 19. MiniMax-M3.1-Flash-Preview always thinks, and its effort defaults to max when omitted, so expect more thinking tokens and more latency per request than on M2.x. Two things are not spelled out in the docs:
- Whether you can pass
output_config.effort(orreasoning_effort) on a request that still namesMiniMax-M2.5and gets routed. If you want control over thinking depth, nameMiniMax-M3.1-Flash-Previewdirectly. - What happens to
thinking: {"type": "disabled"}. On M2.x it is "accepted but ignored". Sent to Flash Preview by name, it "returns400". The docs do not say which behaviour a routed M2.x request gets. If your code sendsdisabled, remove it before October 19 rather than find out in production.
Either way, re-run your evals. The same model name will be serving different weights.
M3's license, if you self-host#
The retirement is about MiniMax's API. The M2.5 and M2.7 weight repositories on Hugging Face were still published on October 18, and the notice does not mention them. If you move to self-hosted M3 weights instead, the license changes. The MiniMax-M3 weights ship under the MiniMax Community License, whose base grant covers "non-commercial purposes" only. Commercial use is allowed on conditions: you must "prominently display 'Built with MiniMax M3'" on a related website, UI, blog post, about page or product docs. You must also send a one-time notice to api@minimax.io, or, if the products and services make more than $20 million a year, get "separate, prior written authorization" first. The license defines Commercial Use to include "the commercial use of APIs provided by or for the Software". It does not say how that interacts with MiniMax's own platform terms for hosted API customers, so ask MiniMax if you only call the hosted API. Our open-weights license breakdown puts the clause next to the Llama 4, Mistral and Kimi terms.
The decision, in one list#
- Pay-as-you-go on M2.5 or M2.7: switch the id to
MiniMax-M3, setthinkingexplicitly, and run your evals. Same input and output price. Do it before November 18, because after that requests fail. - Pay-as-you-go on a highspeed id: same move. M3 halves your token bill, and Priority tier is there if latency matters.
- M Plan or Token Plan: no code change needed, but you get a new model on October 19. Remove any
thinking: disabled, consider namingMiniMax-M3.1-Flash-Previewdirectly, and re-baseline. - Still on M2.1 or M2: not part of this notice, but they sit in the same Legacy table. Moving to M3 now saves you a second migration later.
For the earlier picture of these models, the MiniMax M2.5 developer guide still covers the Anthropic compatibility layer in depth. The DeepSeek V4 migration guide is a useful comparison: that retirement routed old names automatically for everyone, which MiniMax is only doing for plan users.
Continue Reading#
- MiniMax M2.5 for Developers: The Anthropic-Compatible Budget Frontier Model
- DeepSeek Retires deepseek-chat and deepseek-reasoner: Your V4 Migration Guide
- Migrating Off Retired GPT Models in 2026: A Working Checklist
- Self-Hosting Open-Weights Models: The Break-Even Math
Sources#
All accessed October 18, 2026.
- MiniMax models page (retirement notice and schedule)
- MiniMax pricing overview
- MiniMax model release notes
- MiniMax text generation guide (M3 and M3.1 Flash Preview)
- MiniMax Anthropic-compatible API
- MiniMax Messages API reference (max_tokens)
- MiniMax OpenAI-compatible API
- MiniMax-M3 on Hugging Face
- MiniMax-M3 LICENSE
Get the next deep dive like this in your inbox
One email a week on minimax and the rest of the AI dev stack. Free.
Read next
MiniMax M2.5 for Developers: The Anthropic-Compatible Budget Frontier Model
MiniMax M2.5 hits 80.2% on SWE-bench Verified and plugs into the Anthropic SDK with two environment variables. Here is what you need to know before switching.
7 min readDeepSeek Retires deepseek-chat and deepseek-reasoner on July 24: Your V4 Migration Guide
deepseek-chat is retired after July 24, 2026. Migrate to DeepSeek V4, now served as deepseek-flash, with a what-maps-to-what table and a step-by-step checklist.
9 min readMigrating Off Retired GPT Models in 2026: A Working Checklist
Migrating off retired GPT models in 2026: the live retirement table, what maps to what, an eval-before-switch day plan, and when to jump providers.
10 min readNew here? Start with
Technical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.






