MiniMax released M3.1 Flash on 19 October 2026 at $0.15 per million input tokens and $0.60 output. DeepSeek V4.1 Flash has charged exactly that at off-peak hours since 17 October. The difference is one line further down each pricing table. A MiniMax cache hit costs $0.015 per million. A DeepSeek cache hit costs $0.003, a fifth as much.
In a coding agent, cache reads are most of the tokens you send, so that one line decides which model is cheaper. I ran our usual 60-turn session on both from the official rates. Then I set M3.1 Flash up in Claude Code the way MiniMax's docs describe, since a few of the defaults there change the bill too.
Table of contents
- M3.1 Flash prices and limits
- One agent session on each model
- When MiniMax comes out ahead
- Thinking defaults to max
- Claude Code setup
- Hermes Agent and other OpenAI clients
- FAQ
- Sources
M3.1 Flash prices and limits
These come from MiniMax's pricing page, its launch post and the API docs, all read on 23 October.
| MiniMax M3.1 Flash | DeepSeek V4.1 Flash, off-peak | DeepSeek V4.1 Flash, peak | |
|---|---|---|---|
| Input, per 1M | $0.15 | $0.15 | $0.30 |
| Cache hit, per 1M | $0.015 | $0.003 | $0.006 |
| Output, per 1M | $0.60 | $0.60 | $1.20 |
| Context | 1M | 1M | 1M |
| Model ID | MiniMax-M3.1-Flash | deepseek-flash | deepseek-flash |
MiniMax calls its price flat: there's no time-of-day split and no long-prompt tier. Its older M3 is still listed, and the 50% discount on it is marked permanent. That puts M3 at $0.30 in and $1.20 out up to 512K input, doubling above that.
The launch post claims M3.1 Flash cuts agent usage costs by 70% against its predecessor and that it reaches 200+ tokens per second, with a median above 170. It also lists 73.7% on DeepSWE v1.1, 61.7 on OSWorld V2 and 82% on CyberGym. These are MiniMax's own numbers and I haven't run any of them. The model was serving traffic anonymously as "Space Bunny" before launch, and MiniMax says that version processed more than 200 trillion tokens.
Caching is automatic. It only kicks in on calls with 512 or more input tokens and matches the prefix in the order tool list, then system prompt, then messages. Change the tool list and every turn after it misses.
One agent session on each model
The session is the one we cost for every model: 60 turns, a 120,000-token prefix sent once and read from cache on the other 59 turns, then 3,000 new input tokens and 1,500 output tokens per turn.
| Line | Tokens | M3.1 Flash | DeepSeek off-peak | DeepSeek peak |
|---|---|---|---|---|
| Prefix, first send | 120,000 | $0.018 | $0.018 | $0.036 |
| Cache reads | 7,080,000 | $0.106 | $0.021 | $0.042 |
| New input | 180,000 | $0.027 | $0.027 | $0.054 |
| Output | 90,000 | $0.054 | $0.054 | $0.108 |
| Session | 7,470,000 | $0.21 | $0.12 | $0.24 |
Every line matches except cache reads. On MiniMax, cache reads are 51.8% of the session bill. On DeepSeek off-peak they're 17.7%. The gap is $0.085 a session, so M3.1 Flash costs 1.71 times as much for identical traffic.
Over a month, four sessions a workday for 20 days comes to $16.42 on MiniMax and $9.62 on DeepSeek off-peak. A team running 1,000 of these sessions pays $205.20 against $120.24.
The cache matters even more if you lose it. If the prefix misses on every turn, the MiniMax session costs $1.16. MiniMax's caching doc doesn't publish a TTL either, so log cache_read_input_tokens (Anthropic format) or prompt_tokens_details.cached_tokens (OpenAI format) for your first few sessions.
To change the turn count, prefix size or output, use the API Cost Calculator, which now lists M3.1 Flash.
When MiniMax comes out ahead
DeepSeek doubles every rate at peak hours: 01:00-04:00 and 06:00-10:00 UTC on weekdays, which is 06:30-09:30 and 11:30-15:30 IST. Our DeepSeek Flash in Claude Code post covers that schedule. The same session at peak costs $0.24, so MiniMax's flat $0.21 beats it by 14.7%. If your agents run during an Indian working morning, part of each day falls inside DeepSeek's peak window, and there M3.1 Flash is the cheaper of the two.
Workloads with little cache reuse also narrow the gap. Single-shot calls, short chats under 512 tokens and batch jobs with a fresh prompt each time all pay the same $0.15 and $0.60 on both. The 5x cache difference only shows up in long agent loops.
On quality I can't pick a winner for you. Both vendors publish their own benchmarks, on mostly different suites.
Thinking defaults to max
M3.1 Flash always thinks. Sending thinking: {"type": "disabled"} returns a 400 error, and so does reasoning_effort: "none". Effort takes low, medium, high, xhigh or max, and when you leave it out the API uses max. Thinking tokens bill as output.
That default changes the session math above. If max triples output to 4,500 tokens a turn, the MiniMax session goes from $0.21 to $0.31 and the monthly figure from $16.42 to $25.06. The same tripling on DeepSeek off-peak gives $0.23. Set effort on purpose.
The API docs list a few other things to know before you swap it into an existing client:
temperatureandtop_pare ignored. M3.1 Flash always runs at 1 and 0.95.max_tokenscounts thinking tokens, so a small limit can returnfinish_reason: "length"with empty content.service_tier: "priority"is not supported on M3.1 Flash.- In multi-turn tool calls you must send back the whole assistant message, including
reasoning_contentor the thinking blocks. Turns with simple tool calls may have no thinking at all, so check that the field exists before you read it.
Claude Code setup
MiniMax serves an Anthropic-compatible endpoint at https://api.minimax.io/anthropic, so Claude Code needs no proxy. Unset any ANTHROPIC_AUTH_TOKEN and ANTHROPIC_BASE_URL in your shell first, because they override the settings file. Then put this in ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.minimax.io/anthropic",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "524288",
"CLAUDE_CODE_EFFORT_LEVEL": "high",
"ANTHROPIC_MODEL": "MiniMax-M3.1-Flash[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "MiniMax-M3.1-Flash[1m]",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "MiniMax-M3.1-Flash[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-M3.1-Flash[1m]"
}
}I changed one value from MiniMax's example. Their docs set CLAUDE_CODE_EFFORT_LEVEL to max. Here it's high, which is also what Claude Code uses when the variable is unset. Pick max if you want the deepest thinking and accept the larger output bill. While the variable is set, /effort inside a session does nothing, and MAX_THINKING_TOKENS=0 has no effect on this model.
The 512K auto-compaction window is MiniMax's own suggestion. In its ProgramBench comparison over 200 tasks, a 512K window used 18.5% fewer tokens than 1M and cost about 19.9% less, with no clear difference in scores. Applied to our session that's roughly $0.16 instead of $0.21, though our test session never gets near 512K, so take it as a guide for long runs.
Start claude in your project, then run /status (the base URL should show api.minimax.io/anthropic) and /model (it should show MiniMax-M3.1-Flash). MiniMax also ships npx -y mmx-cli@latest agent setup, a wizard that writes the same file.
Hermes Agent and other OpenAI clients
The OpenAI-compatible base URL is https://api.minimax.io/v1, and the Responses API is supported alongside Chat Completions. In Hermes Agent, run hermes model, choose the custom endpoint, and enter:
| Setting | Value |
|---|---|
| API base URL | https://api.minimax.io/v1 |
| API key | YOUR_API_KEY |
| Model name | MiniMax-M3.1-Flash |
| Context length | 1000000 |
MiniMax's docs recommend the Anthropic endpoint for full thinking-block support. On the OpenAI path, thinking comes back in reasoning_content, and M3.1 Flash rejects reasoning_split: false. A client that strips reasoning_content from history between tool calls breaks the reasoning chain MiniMax asks you to keep.
FAQ
Can I run M3.1 Flash locally? Not yet. The launch post says weights "will be released later", even though the API docs already call it open-weight. There's no Hugging Face config to size, so the AI VRAM Calculator has no preset for it.
Is MiniMax M3 now obsolete? No, it's still listed, at $0.30 in, $1.20 out and $0.06 cache hits up to 512K input. That's double M3.1 Flash on input and output, and four times on cache hits. MiniMax says a Pro model will come later.
Does the M Plan subscription change these costs? M Plan bills from a quota rather than per token, so the per-session figures here apply to pay-as-you-go use. MiniMax's Claude Code docs use an M Plan subscription key in the example.
Sources
- MiniMax, "MiniMax M3.1 Flash: Redefining Agent Performance and Cost" (minimax.io/blog/minimax-m31f, 19 October 2026, read 23 October 2026): release date, flat pricing, 70% cost claim, speed, benchmark scores, Space Bunny, weights to be released later.
- MiniMax, Pricing Overview (platform.minimax.io/docs/pricing/overview, read 23 October 2026): M3.1 Flash and M3 rates.
- MiniMax docs: Model Invocation, OpenAI SDK, Prompt Caching, Tool Use and Interleaved Thinking (platform.minimax.io/docs, read 23 October 2026): base URLs, effort levels and default, ignored parameters, cache rules, usage fields, reasoning_content handling.
- MiniMax docs: Claude Code and Codex guides (platform.minimax.io/docs/m-plan, read 23 October 2026): settings.json, 512K compaction guidance and ProgramBench figures, effort behaviour.
- DeepSeek, Models and Pricing (api-docs.deepseek.com/quick_start/pricing, read 23 October 2026): V4.1 Flash off-peak and peak rates, peak hours.
- Session costs, monthly totals and percentages are calculated by ToolMintX from those rates.
