Can I Run MiniMax M3.1 Flash Locally? (2026): Yes, at 192GB
MiniMax put MiniMax-M3.1-Flash on Hugging Face on 17 October 2026. It is a 428B mixture-of-experts model with 23B active parameters, a 1M-token context, and text, image and video input. MiniMax trained the experts in 4-bit, so the GGUF sizes do not follow the usual pattern. We summed every GGUF and MLX file in bytes from the Hugging Face API and checked llama.cpp, MLX, vLLM and Ollama. The short answer: 192GB of memory runs a good 3-bit file. 128GB runs only an expert-pruned build.
Bottom Line
- Yes, with about 192GB of memory. A 24-32GB GPU with 192GB of DDR5 holds Unsloth’s UD-Q3_K_XL (180.63 GiB). Unsloth measured 92.6% chat and 97.4% math top-1 agreement.
- A 256GB Mac Studio runs the original weights. mlx-community’s Text-4bit keeps MiniMax’s own quantization. Its uploader measured a ~249 GB peak.
- The 8-bit GGUF costs only 9 GiB more than 4-bit. MiniMax trained the experts in 4-bit, so UD-Q8_K_XL (241.29 GiB) is lossless.
- 128GB needs a pruned build. The smallest full GGUF is 120.48 GiB. A 35-expert-pruned build is 90.00 GiB and runs at ~12.6 tok/s on one DGX Spark (uploader-measured lower bound).
- Stock llama.cpp does not load it yet. Support is an open pull request. Unsloth Desktop ships a patched build.
- Check the competition first. On MiniMax’s own table, DeepSeek V4.1 Flash-1017 wins Terminal Bench 4.0, DeepSWE and NL2Repo. One owner reports MiniMax at about half DeepSeek’s speed on the same PC.
Ready to buy? See the tested hardware list with current prices.
What MiniMax M3.1 Flash Is
Figures come from the model card, its config.json and the Hugging Face API, read on 29 October 2026.
| Spec | Value |
|---|---|
| Repo | MiniMaxAI/MiniMax-M3.1-Flash |
| Created on Hugging Face | 17 October 2026 |
| Parameters | ~428B total, 23B active (card) |
| Layers | 60: 3 dense + 57 MoE |
| Attention | GQA, 64 query heads, 4 KV heads, head size 128, MiniMax Sparse Attention (MSA) in every layer |
| Experts | 128 routed per MoE layer, 4 active, plus 1 shared |
| Context | 1,048,576 tokens |
| Inputs | Text, images and video; text output |
| Weights as shipped | Routed experts NVFP4 (4-bit), other layers MXFP8, from quantization-aware training |
| Official checkpoint | 232.94 GiB, plus a 2.14 GiB DSpark draft head |
| Licence | MiniMax Community License (non-commercial use free; commercial use has conditions) |
The original checkpoint is already about 4.7 bits per weight. That is why the official download (232.94 GiB) is almost the same size as Unsloth’s 4-bit GGUF (232.27 GiB).
Our count of the always-read part. The 4 active routed experts are 12.91B per token: 4 x 3 x 6,144 x 3,072 x 57 layers. The rest is about 12.8B: attention (6.42B), the shared expert (3.23B), the 3 dense layers (0.68B), and the token table and output head (2.46B). That 12.8B is what a GPU must hold when the experts sit in system RAM.
What the card claims. These are MiniMax’s own numbers, not ours:
| Benchmark (card) | MiniMax M3.1 Flash | DeepSeek V4.1 Flash-1017 |
|---|---|---|
| Automation-Bench v1.0.6 | 62.8 | 60.5 |
| Terminal Bench 4.0 | 38.1 | 42.3 |
| DeepSWE v1.1 | 73.7% | 77.0% |
| NL2Repo-Bench | 61.2 | 68.2 |
| HLE (no tools, text) | 43.4 | 42.6 |
We ran no benchmark. On MiniMax’s own table, DeepSeek wins three of the five coding and agent rows.
Every File Size, in Bytes
We summed every file in the Hugging Face file trees on 29 October 2026. GiB = bytes / 1,073,741,824. Split files are added together.
| File | Repo | Bytes | GiB |
|---|---|---|---|
| UD-IQ1_M-E93 (93 of 128 experts) | Harsha001 | 96,632,841,344 | 90.00 |
| UD-IQ2_XXS-E89 (89 of 128 experts) | Harsha001 | 96,777,053,280 | 90.13 |
| UD-IQ1_M | unsloth | 129,361,076,548 | 120.48 |
| UD-IQ2_XXS | unsloth | 134,947,889,444 | 125.68 |
| UD-Q2_K_XL | unsloth | 143,910,068,580 | 134.03 |
| UD-IQ3_XXS | unsloth | 160,048,968,132 | 149.06 |
| UD-IQ3_S | unsloth | 175,450,454,084 | 163.40 |
| UD-Q3_K_XL | unsloth | 193,951,346,788 | 180.63 |
| MLX oQ3e + MTP (incl. 2.14 GiB draft) | mlx-community | 196,152,638,278 | 182.68 |
| MLX Text-4bit (original quantization) | mlx-community | 248,369,471,329 | 231.31 |
| UD-Q4_K_XL | unsloth | 249,402,105,310 | 232.27 |
| Official safetensors (NVFP4 + MXFP8) | MiniMaxAI | 250,116,419,880 | 232.94 |
| UD-Q8_K_XL (lossless) | unsloth | 259,081,117,182 | 241.29 |
The vision projector (mmproj-BF16.gguf, 1.62 GiB) and Unsloth’s DSpark draft (1.95 GiB) are separate files. The Harsha001 builds are text only.
How much quality each step costs. Unsloth measured each file against the original weights. “Top-1” is how often the quant picks the same next token:
| File | GiB | Chat top-1 | Math top-1 |
|---|---|---|---|
| UD-IQ1_M | 120.48 | 86.2% | 94.9% |
| UD-IQ2_XXS | 125.68 | 87.5% | 95.3% |
| UD-Q2_K_XL | 134.03 | 88.5% | 95.7% |
| UD-IQ3_XXS | 149.06 | 89.9% | 96.3% |
| UD-IQ3_S | 163.40 | 91.2% | 96.8% |
| UD-Q3_K_XL | 180.63 | 92.6% | 97.4% |
| UD-Q4_K_XL | 232.27 | 97.3% | 99.0% |
| UD-Q8_K_XL | 241.29 | 97.8% | 99.3% |
The big step is 3-bit to 4-bit. Chat agreement jumps from 92.6% to 97.3%. Every step below 3 bits costs only about 1 point. Above 4 bits, take the lossless file. UD-Q8_K_XL costs 9.01 GiB more than UD-Q4_K_XL, because both keep the experts in 4-bit.
The Cache
The model uses grouped-query attention with 4 KV heads in all 60 layers. Our estimate from config.json, at f16:
2 (K and V) x 4 heads x 128 x 2 bytes x 60 layers = 122,880 bytes per token
16,384 tokens = 1.9 GiB
32,768 tokens = 3.8 GiB
131,072 tokens = 15.0 GiB
1,048,576 tokens = 120.0 GiB
The sparse attention reads only some blocks per token, but the cache still stores every token. MSA also keeps a small index cache. Read the real figure in your llama-server log. Unsloth’s planning table allows 20-32 GiB above the weights for a 16K context, the runtime and the OS.
Fit Table by Hardware
PC rows use VRAM plus system RAM, minus about 8 GiB for the OS. Every row is our arithmetic unless it says community-reported.
| Hardware | Usable memory | Best file | Context | Notes |
|---|---|---|---|---|
| 128GB Mac (M5 Max) | 107.52 GiB default limit | UD-IQ1_M-E93 (90.00) | 32K | Pruned, text only; untested on Mac |
| DGX Spark | 117.2 GiB available (community) | UD-IQ1_M-E93 (90.00) | 64K | ~12.6 tok/s (uploader) |
| Strix Halo 128GB | ~100 GiB GPU budget (card) | UD-IQ1_M-E93 (90.00) | 64K | Built for it; not yet run on one |
| 24GB GPU + 128GB DDR5 | ~144 GiB | UD-IQ2_XXS (125.68) | 32K | Experts in RAM |
| 24-32GB GPU + 192GB DDR5 | ~208-216 GiB | UD-Q3_K_XL (180.63) | 131K | Experts in RAM |
| 2 x DGX Spark | ~234 GiB | UD-Q3_K_XL (180.63) | 131K | llama.cpp RPC; no run found |
| 256GB Mac Studio M5 Ultra | 240 GiB with raised limit | MLX Text-4bit (231.31) | short | Original weights, ~249 GB peak (uploader) |
| 24-32GB GPU + 256GB DDR5 | ~272-280 GiB | UD-Q8_K_XL (241.29) | 131K | Lossless; experts in RAM |
| 4 x RTX PRO 6000 | 384GB VRAM | Official weights (232.94) | long | Not in the vLLM recipe; untested |
No full GGUF fits 128GB. UD-IQ1_M is 120.48 GiB. A 128GB M5 Max gives the GPU 107.52 GiB by default. A DGX Spark gives about 117.2 GiB. Both are short before the cache.
The pruned build trades quality for the fit. Harsha001 removed the least-used experts with the REAP method. The 93-expert build keeps 88.1% of the routing weight. Perplexity on the uploader’s text rose from 52.02 to 61.96. It scored 191 of 200 on GSM8K, but GSM8K is easy for a model this size. The card says so itself.
A 256GB Mac Studio holds the original weights at a short context. The Text-4bit card says “Greedy output matched the original checkpoint token for token in testing.” It reports a ~249 GB peak in a short test. That is about 232 GiB, under the 240 GiB raised limit. Raise it first with sudo sysctl iogpu.wired_limit_mb=245760. For a long context on the same Mac, use UD-Q3_K_XL: 180.63 GiB + 15.0 GiB cache at 131K is about 198 GiB.
With 256GB of RAM, skip the 4-bit GGUF. UD-Q8_K_XL is a lossless conversion and only 9.01 GiB bigger. The bandwidth cost is also small, because the routed experts are 4-bit in both files.
The PC route works on a 24GB card. The 12.8B always-read weights take about 13.6 GB at 8 bits. A 24GB card holds them plus a 131K cache. Our —n-cpu-moe guide shows how to put the experts in system RAM.
How Fast Will It Be?
These are owner measurements from model cards and threads (community-reported):
| Setup | Build | Prefill (pp512) | Decode (tg128) |
|---|---|---|---|
| 1 x DGX Spark, CUDA | Harsha001 UD-IQ1_M-E93 | 218 tok/s | ~12.6 tok/s (lower bound) |
| 1 x DGX Spark, CUDA | Harsha001 UD-IQ2_XXS-E89 | 315 tok/s | not reported |
| RTX 4070 16GB + system RAM | unsloth UD-Q8_K_XL | not reported | ”almost x2 slower” than DeepSeek V4.1 Flash-1017 Q8_K_XL |
The Spark decode ran while other CPU jobs used the machine, so the uploader calls it a lower bound. The RTX 4070 owner fit 13 layers on the GPU for MiniMax and 22 for DeepSeek. The owner gave no tok/s figure.
We found no Mac or GPU-plus-RAM speed with numbers. The rows below are bandwidth ceilings, not predictions. Real speed lands below them.
Routed experts read per token (our count from config.json):
4 experts x 3 x 6,144 x 3,072 x 57 layers = 12.91B (in RAM if offloaded)
PC, experts in RAM, dual-channel DDR5-4800 = 76.8 GB/s:
UD-IQ2_XXS, 2.52 bits/weight: 12.91B x 2.52 / 8 = 4.07 GB -> ~19 tok/s ceiling
UD-Q3_K_XL, 3.63 bits/weight: 12.91B x 3.63 / 8 = 5.85 GB -> ~13 tok/s ceiling
UD-Q8_K_XL, 4.84 bits/weight: 12.91B x 4.84 / 8 = 7.81 GB -> ~10 tok/s ceiling
The bits per weight are file averages over 428B. Four DIMMs often run slower than two, which lowers the ceiling. The DSpark draft can raise real speed. We have no local measurement of that gain.
Software Support, Checked 29 October 2026
| Runtime | Status | Source |
|---|---|---|
| llama.cpp (stock) | Not supported yet. PR #31192 opened 26 October, still open | GitHub |
| llama.cpp mainline error | ”done_getting_tensors: wrong number of tensors; expected 1191, got 1179” | unsloth GGUF discussion #3 |
| Unsloth Desktop | Updated llama.cpp binaries on 26 October | unsloth GGUF discussion #3 |
| Ollama | Only minimax-m3.1-flash:cloud. No local tag | ollama.com |
| MLX | mlx-community Text-4bit tested with mlx-lm 0.32.2; original-checkpoint conversion is PR #2003, merged 23 October | Hugging Face, GitHub |
| vLLM 0.33.0 | Recipe lists B200/B300/GB200/GB300 or MI355X at TP4, and H100/H200 at TP8 | vLLM recipes |
| Strix Halo build | Needs the ROCmFPX fork of llama.cpp (Vulkan) | Harsha001 card |
Build the PR and run the 3-bit file on a 24GB card with 192GB of RAM:
git clone https://github.com/ggml-org/llama.cpp
git -C llama.cpp fetch origin pull/31192/head:minimax-m31
git -C llama.cpp checkout minimax-m31
cmake llama.cpp -B llama.cpp/build -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release
cmake --build llama.cpp/build --config Release -j --target llama-server
./llama.cpp/build/bin/llama-server \
-hf unsloth/MiniMax-M3.1-Flash-GGUF:UD-Q3_K_XL -c 32768 -ngl 99 --n-cpu-moe 57 \
--temp 1.0 --top-p 0.95 --top-k 0 --min-p 0.0 \
--chat-template-kwargs '{"reasoning_effort":"medium"}'
Lower --n-cpu-moe until the GPU is full. These are MiniMax’s recommended samplers. One owner reports that reasoning cannot be switched off, and that low effort failed a simple test.
What to Buy
Prices as of October 2026, from our price reference. The read date is in brackets.
| Option | Price | What it runs |
|---|---|---|
| Used RTX 3090 24GB + 192GB DDR5 | $1,541 average for the card (resaleprices, 22 October); 192GB RAM check current listings | UD-Q3_K_XL with the experts in RAM |
| Mac Studio M5 Ultra 256GB (64-core GPU, 1TB) | $9,499 (apple.com, 22 October) | Original weights in MLX, or UD-Q3_K_XL at 131K |
| GMKtec EVO-X2 128GB (Ryzen AI Max+ 395) | $3,499.99 (GMKtec store, 26 October) | Pruned E93 build only |
| NVIDIA DGX Spark 128GB | check current listings | Pruned E93 build, ~12.6 tok/s measured |
The cheapest good route is a 24GB card plus RAM. A used RTX 3090 24GB holds the 12.8B always-read weights and a 131K cache. 192GB of DDR5 holds the 3-bit experts. Your board must take 4 x 48GB DIMMs; check its memory list first.
The 256GB Mac Studio is the one-box answer. It is the only single machine here that runs MiniMax’s original weights. Apple sells it; we have no affiliate link for it. Configure it on apple.com.
Do not buy a 128GB box for this model. It runs only the pruned 1-bit build. A DGX Spark or a Ryzen AI Max+ 395 128GB box is a good buy for 120B-class models such as Ornith 1.5 122B. Treat MiniMax on it as a test.
Honest Caveats
- We did not run the model. Every fit row is arithmetic from file sizes and config.json.
- Every speed number is an owner’s post. The Spark figure is a lower bound from a busy machine.
- Stock llama.cpp cannot load these files yet. Commands and file layouts can change before PR #31192 merges.
- The cache figure is our estimate. It does not include the MSA index cache.
- The DGX Spark memory figure is second-hand. The 117.2 GiB comes from a community card for another model.
- Top-1 tables come from Unsloth. The pruned builds were measured with perplexity on a different text, so the two are not comparable.
- The benchmark table is MiniMax’s. We have not seen independent results.
Sources
- MiniMax-M3.1-Flash model card: parameters, context, inputs, MSA, quantization-aware training, DSpark, benchmark claims
- config.json: hidden_size, num_hidden_layers, num_key_value_heads, head_dim, moe_layer_freq, num_local_experts, num_experts_per_tok, intermediate sizes, quantization_config
- File trees for unsloth GGUF, Harsha001 Strix Halo GGUF, mlx-community Text-4bit, mlx-community oQ3e-mtp and the official repo: byte sizes
- Unsloth MiniMax-M3.1-Flash guide: memory table, top-1 agreement, NVFP4 + BF16 note on UD-Q8_K_XL, llama.cpp PR build, official DeepSeek comparison
- Harsha001 Strix Halo GGUF card: pruning, perplexity, GSM8K, DGX Spark speeds, ROCmFPX fork, licence summary (community-reported)
- mlx-community Text-4bit card: original quantization kept, token-for-token match, ~249 GB peak, mlx-lm 0.32.2
- Unsloth GGUF discussions #2 and #3: RTX 4070 report, mainline load error, updated binaries
- llama.cpp PR #31192 and mlx-lm PR #2003: support status
- vLLM recipe for MiniMax-M3.1-Flash: supported GPUs and tensor-parallel sizes
- Ollama library: minimax-m3.1-flash: cloud tag only
- Our Beam 1.0 page: 128GB M5 Max working set, M5 Ultra wired limit, the 117.2 GiB Spark figure
- OpenClaw DC hardware price reference, last updated 28 October 2026: used RTX 3090, Mac Studio M5 Ultra and GMKtec EVO-X2 rows
See Also
- Can I run Mistral Large 4 locally? — the 1T MoE that needs 256GB even at 1 bit
- Can I run Beam 1.0 501B locally? — another 23B-active MoE for the 256GB tier
- Can I run MiniMax H3 locally? — MiniMax’s video model, which fits a 24GB card
- Can you run DeepSeek V4.1 Flash locally? — the model that beats it on MiniMax’s own table
- Can I run local LLMs on 128GB RAM and 24GB VRAM? — the PC build behind the 2-bit route
- Best models for AMD Ryzen AI Max+ 395 boxes — what a Strix Halo should run instead
- Best local LLM for a Mac Studio M5 Ultra 256GB — the other models for the 256GB box
- —n-cpu-moe explained — how to put experts in system RAM