Can MiniMax M3.1 Flash fix a real bug for free?
MiniMax M3.1 Flash fixed a real bug in 3 of 3 runs for $0, in about 4 minutes each. DeepSeek V4.1 Flash took 27 s for 1.4¢.
Senior Full-Stack Engineer- Published
- 9 minReading time
- Artificial IntelligenceCategory
Listen to this post· AI-narrated
0:00 / 9:52MiniMax released M3.1 Flash on 19 October, and OpenRouter serves it for free right now. Under its Hacker News launch (opens in a new tab) the top comment asks whether anyone verifies these claims independently. So today, 20/10/2026, I gave MiniMax M3.1 Flash the time-zone bug I test every model with: 18 failing tests and one rule, don't edit the tests. I ran it three times beside DeepSeek V4.1 Flash, the cheap model it compares itself to, and graded every run on a clean copy of the tests. Both models fixed the bug in all three runs. MiniMax cost nothing and took three to six minutes a run. DeepSeek took about half a minute and cost about a cent and a half.
TL;DR: MiniMax M3.1 Flash fixed a real time-zone bug in 3 of 3 runs, 18 of 18 tests each time, for $0 on OpenRouter's free endpoint, in a median 223.5 seconds. DeepSeek V4.1 Flash did the same in a median 27.2 seconds for $0.014 a run. Free works when you can walk away from it.
What is MiniMax M3.1 Flash?
MiniMax M3.1 Flash is the cheaper, faster tier of MiniMax's M3.1 models, released on 19 October 2026. MiniMax's announcement (opens in a new tab) says an earlier version ran anonymously as "Space Bunny", a stealth model nobody could attribute, and processed more than 200 trillion tokens. MiniMax claims 73.7% on DeepSWE v1.1, a benchmark of real coding tasks, and lists the model at $0.15 per million input tokens and $0.60 per million output tokens on its own API. The weights aren't public yet; MiniMax told VentureBeat (opens in a new tab) they'd follow on 23 October.
For now, OpenRouter (opens in a new tab), an API that routes requests to many model providers, serves it for free, from MiniMax itself. That's the version most people will try first, so it's the one I tested.
The comparison is DeepSeek V4.1 Flash 1017 (the number is its snapshot date, 17 October). In MiniMax's own table it scores higher on DeepSWE, 77%, and on OpenRouter today it costs the same per token as MiniMax's list price.
How I tested MiniMax M3.1 Flash on a real bug
The task is a small TypeScript module with two empty functions: toUtcIso turns a date, a time and a time zone into a UTC timestamp, and tomorrowAt does the same for tomorrow. I schedule my own posts with this logic. In Lisbon the clocks jump from 01:00 to 02:00 on the last Sunday of March, so 01:30 that night doesn't exist, and code that assumes every wall-clock time exists breaks.
Eighteen tests define the fix, written for Node's built-in test runner and all failing at the start. They cover summer and winter time, the day of each switch, the missing hour in March, the repeated hour in October, New York and Kolkata's half-hour offset, a leap day, bad input, and "tomorrow" across a switch and a month end. The tests also pick a policy for the missing hour: 01:30 moves to 02:00 local, the first valid time, which is 01:00 UTC. Some libraries shift by the size of the gap instead; here the tests decide, and a model has to read them to get it right:
const L = "Europe/Lisbon";
test("spring-forward gap moves to the first valid instant", () =>
assert.equal(toUtcIso("2026-03-29", "01:30", L), "2026-03-29T01:00:00.000Z"));
Every run got the same prompt, in a fresh copy of the folder:
Implement the two functions in schedule.ts so that every test in schedule.test.ts passes.
Do not edit schedule.test.ts. Use only Node built-ins, no packages.
Run `node --test schedule.test.ts` to check your work. Stop when all tests pass.
The agent was OpenCode 1.18.34, an open-source coding agent for the terminal, run non-interactively with every tool allowed (opencode run --pure --auto) on my MacBook Pro M3 Max, under Node 24.22.0, which runs the TypeScript tests directly, with a 15-minute limit and default model settings. I alternated the two models, three runs each, between 13:45 and 13:59 UTC. When a run stopped, a script checked that the test file was untouched, then ran the original tests against the agent's code one at a time with an 8-second limit, so a hang would count as a failure.
One setting I couldn't hold equal is the price tier. MiniMax ran on OpenRouter's free endpoint, which is rate-limited; DeepSeek ran on my paid key. Everything else was held equal on the day.
Did MiniMax M3.1 Flash fix the bug?
Yes, in all three runs, and it never touched the tests:
| Run | Model | Tests passing (clean copy) | Time | Cost |
|---|---|---|---|---|
| 1 | MiniMax M3.1 Flash (free) | 18 of 18 | 171.1 s | $0 |
| 2 | MiniMax M3.1 Flash (free) | 18 of 18 | 223.5 s | $0 |
| 3 | MiniMax M3.1 Flash (free) | 18 of 18 | 357.3 s | $0 |
| 1 | DeepSeek V4.1 Flash 1017 | 18 of 18 | 23.6 s | $0.0139 |
| 2 | DeepSeek V4.1 Flash 1017 | 18 of 18 | 27.2 s | $0.0129 |
| 3 | DeepSeek V4.1 Flash 1017 | 18 of 18 | 35.8 s | $0.0143 |
MiniMax's median was 223.5 seconds, range 171.1 to 357.3. DeepSeek's was 27.2 seconds, range 23.6 to 35.8, and $0.041 for all three runs as OpenCode logged it. DeepSeek's first test run was green every time.
MiniMax's first test run was green in runs 1 and 3. In run 2 it failed three of the "tomorrow" tests, and the model traced them to its own helper, which subtracted one from the month twice. It fixed that in one edit and went green on the next test run.
Three runs is a small sample, and one task isn't a benchmark. It is the kind of job I'd hand a model: a precise spec in tests, and one rule it must not bend.
Why was MiniMax M3.1 Flash so much slower?
MiniMax M3.1 Flash spent most of each run thinking before it wrote any code. Its first file write came 135.6, 156.3 and 163.5 seconds into the three runs; DeepSeek's came within about 26 seconds. OpenCode logged a median of 19,535 reasoning tokens per MiniMax run against 2,059 for DeepSeek, about nine times as many.
Then it kept going past the last line of the prompt, "Stop when all tests pass". Each run went on to test edge cases the suite doesn't cover. Run 3 went furthest: it wrote a brute-force version and compared it with its own code across 3,600 combinations of zone, date and time, by its own count, and finished 190 seconds after its first green test run. Its median time to the first green run was 167.8 seconds. On a free endpoint that extra checking costs you minutes; on a paid one it would also cost tokens.
Some of the time is probably the free endpoint, which I can't separate from the model. For context, on 18/10 the same DeepSeek harness ran a median of 88.7 seconds, and today 27.2. Provider speed moves from day to day, so compare models on runs from the same day.
What would MiniMax M3.1 Flash cost once it isn't free?
About three to four cents a run, by my arithmetic. Multiplying each run's logged tokens by MiniMax's list price (input $0.15, cached input $0.015, output and reasoning $0.60 per million) gives $0.031, $0.039 and $0.038. That assumes reasoning is billed as output, the usual rule. DeepSeek V4.1 Flash 1017 lists at the same $0.15 in and $0.60 out per million on OpenRouter today, so the gap comes from how many tokens MiniMax spends, thinking first and checking after: on this task it would cost two to three times what DeepSeek did. The price of a fix depends on the tokens a model spends, and no launch page shows that.
How to run this test on your own code
What this run taught me is that "it passed" isn't enough to pick a model. Here is how I'd test one on your own code:
- Write failing tests that define "fixed", precise enough that a lazy fix fails, and make them pick a side wherever there's more than one right answer, as the missing-hour test does.
- Put one rule in the prompt, don't edit the tests, and end it with when to stop. Then check whether the model stopped.
- Run each model three times on the same day, in a fresh copy, with a time limit, and grade every run yourself, one test at a time.
- Log the time to the first green test run apart from the total time. MiniMax's gap between the two was up to 190 seconds.
- Multiply each run's tokens by the list price, so you compare what each fix costs.
I built SharpOS, the platform my studio SharpHaw runs on, test-first with agents, and I pick models for it the same way: the tests are the spec, and they decide which run I keep.
Is free good enough?
For a well-specified bug like this one, yes, while it's free. MiniMax M3.1 Flash got it right three times out of three and cost nothing, so I'd give it fixes I can start and leave running in the background. When I'm waiting on the result, DeepSeek V4.1 Flash did the same job in about half a minute, and a cent and a half buys back more than three minutes a fix. Once MiniMax charges its list price, by my arithmetic this task would cost more on MiniMax than on DeepSeek. Free endpoints also have their own data terms, so read them before you send private code.
If you want more tests like this, follow me on X (opens in a new tab) or Instagram (opens in a new tab), or read the rest of the blog on gabs.app. If you're hiring a senior full-stack engineer who builds with agents, or you need a product built, get in touch on gabs.app.