MiniMax
M3
The general-purpose frontier
- Released
- 2026
- Architecture
- Dense MoE hybrid
- Context
- 1 M tokens
- Modalities
- Text · Vision · Code · Audio
- License
- Proprietary API
- Best at
- Reasoning, long-horizon refactors
№ 001 A field report on frontier coding models
Three frontier models. One battleground: shipping real code on modern stacks — measured down to the last £10 on the invoice.
“Bring the whole repo.”
“Per token, on your hardware.”
“~80% of M3 at ~40% of the price.”
Three philosophies, one job: ship the website.
MiniMax
The general-purpose frontier
DeepSeek
The coder's specialist
Nex AGI
The balanced mid-premium est.
Note
N2-Pro specs are industry-typical mid-premium estimates for 2026,
modelled against public benchmarks. Edit the data attributes in
index.html to swap in real numbers.
A scored, side-by-side comparison of the things you'll actually use.
Independent scores. Higher is better (lower latency is better).
“Build a React + Tailwind pricing card with a toggle for monthly / yearly billing.”
Here's how each model writes it.
import { useState } from "react";
export function PricingCard({ plan }) {
const [yearly, setYearly] = useState(false);
const price = yearly ? plan.yearly : plan.monthly;
return (
<article> className="rounded-2xl p-6 bg-zinc-900 text-white shadow-xl">
<h3> className="text-xl font-semibold">{plan.name}</h3>
<p> className="mt-1 text-zinc-400">{plan.tagline}</p>
<button> onClick={() => setYearly(!yearly)}
className="mt-4 w-full rounded-lg bg-indigo-500 py-2">
Switch to {yearly ? "monthly" : "yearly"}
</button>
<div> className="mt-6 text-4xl font-bold">${price}</div>
</article>
);
}
import { useState, useMemo } from "react";
type Plan = {
name: string; tagline: string;
monthly: number; yearly: number;
};
export function PricingCard({ plan }: { plan: Plan }) {
const [yearly, setYearly] = useState(false);
const price = useMemo(
() => (yearly ? plan.yearly : plan.monthly),
[yearly, plan]
);
return (
<section> className="card p-6 rounded-2xl shadow-lg">
<header>
<h2>{plan.name}</h2>
<small>{plan.tagline}</small>
</header>
<button> onClick={() => setYearly(v => !v)>
Billing: {yearly ? "Yearly" : "Monthly"}
</button>
<strong>${price}</strong>
</section>
);
}
import { useState, useCallback } from "react";
type Billing = "monthly" | "yearly";
type Plan = {
name: string; tagline: string;
monthly: number; yearly: number;
};
export function PricingCard({ plan }: { plan: Plan }) {
const [billing, setBilling] =
useState<Billing>("monthly");
const toggle = useCallback(
() => setBilling(b => b === "monthly" ? "yearly" : "monthly"),
[]
);
return (
<article> aria-labelledby="plan-name"
className="rounded-2xl border border-zinc-800 bg-zinc-900 p-6 shadow-lg">
<header>
<h3> id="plan-name" className="text-lg font-semibold">{plan.name}</h3>
<p> className="text-sm text-zinc-400">{plan.tagline}</p>
</header>
<button> type="button" onClick={toggle}
className="mt-5 w-full rounded-lg bg-amber-500 py-2 font-medium">
Pay {billing} · ${billing === "yearly" ? plan.yearly : plan.monthly}
</button>
</article>
);
}
Bigger component in one go. Tailwind-heavy, accessibility-light, ships fast.
Tighter types, useMemo, semantic HTML. Less code, more considered.
Generics, a11y labels, useCallback. Production-grade on the first pass.
Public list prices, USD per million tokens.
MiniMax M3
$3/ M in·$15/ M out
DeepSeek V4 Pro
$0.55/ M in·$2.19/ M out
Nex-N2-Pro
$1.20/ M in·$6.00/ M out
£10 ≈ $12.20. Model: 50/50 input/output split — one token in for every token the model writes back — for a typical coding & web-dev workload.
0 tokens per month on £10
Best for: deep, agentic refactors on a real codebase. £10 won't go far if you're piping your whole repo in every prompt.
0 tokens per month on £10
Best for: heavy IDE use, daily pair-programming, indie-hacker pricing. £10 stretches to “never look at the meter” territory.
0 tokens per month on £10
Best for: builders who want one model that does both code and copy well. Balanced workhorse without premium markup.
The honest answer for most teams shipping a modern website in 2026.
Pick A · M3 if
Pick B · V4 Pro if
Pick C · N2-Pro if
“M3 · V4 Pro · N2-Pro.” The architect · the editor · the all-rounder on a budget.
Signed & authored report
Prepared, designed & researched by
— W.A.