minimax m3.1 flash built a submarine chase through an underwater city for about $0.21. gemini 3.8 flash spent $1.43 on the same brief, 7x more. deepseek v4.1 flash spent $0.38, and claude haiku 5.5 about $0.17.
the setup
minimax released m3.1 flash with a list price of $0.15 in and $0.60 out per million tokens. we put it against three other flash models on one job: a third-person chase on autopilot, in one html file.
- models: minimax m3.1 flash, deepseek v4.1 flash 1017, gemini 3.8 flash, claude haiku 5.5
- every reply is the full html file, reasoning on medium, no browser for the models
- three.js 0.170 from a cdn, every texture made in code
- test date: oct 19, 2026
the job: a small submarine flees through a city on the sea floor, with drones firing behind it. tunnels, arches, a pillar slalom and a closing gate are on the route.
eleven rounds, one brief
the brief came in four stages: route and vehicles, action and camera, the city, then effects and sound. after that every model got seven more rounds:
- a fix round with the bugs we found in a 50-second run
- daylight: clear turquoise water and sun rays from the surface
- sea life: kelp, fish, jellyfish and rays
- a second fix round
- a third fix round: nothing floating in the water, proper fish
- textures and materials on every surface
- the hero submarine: hull, glass canopy, engines, lights
the numbers
cost is what openrouter billed, time is generation time across all rounds. tokens include reasoning.
| model | cost | time | output tokens |
|---|---|---|---|
| claude haiku 5.5 | $0.17 | 35m 27s | 250k |
| minimax m3.1 flash | $0.21 | 29m 25s | 281k |
| deepseek v4.1 flash | $0.38 | 27m 09s | 692k |
| gemini 3.8 flash | $1.43 | 40m 50s | 326k |
minimax came out 7x cheaper than gemini and 1.8x cheaper than deepseek. haiku was the cheapest of the four.

what each model built
the frames below are from the final versions, 8 to 12 seconds into the chase.




- gemini 3.8 flash – the densest reef: corals, kelp and fish schools in almost every frame
- deepseek v4.1 flash – the most detailed hull plating and the most jellyfish
- claude haiku 5.5 – the cheapest run, with the plainest sea floor
- minimax m3.1 flash – the second cheapest, and the only model that needed extra tries
gemini spent the most and got the most sea life on screen.
what went wrong on the way
every model broke something before the final version.
- deepseek's first full build was a black screen: the fade-in never lifted. one fix round brought the chase back
- minimax's first build stalled at 8 seconds, with the submarine stuck against a building
- on the sea-life round minimax broke its file three times in a row with the same one-character bug. we counted all three tries in its tokens, time and cost
- gemini's first build was filled with huge pink and blue planes that hid the city
deepseek wrote 692k tokens, more than twice any other model, and still had the shortest total time.
the brief
the overview every model got before stage one:
You are building a complete, polished real-time 3D experience step by step: A HIGH-SPEED CHASE THROUGH AN UNDERWATER CYBERPUNK CITY. You will receive the work in 4 stages. In every stage you get your current code and the next part of the brief, and you reply with the COMPLETE updated HTML file (never a diff, never "the rest stays the same").
THE EXPERIENCE
- A city built on the sea floor, deep under the ocean: towers, domes, glass tubes and tunnels, neon signs, holograms, cables, docks, machinery. The exact look, mood and story of the city are YOUR OWN design — make it memorable.
- A chase: a small fast underwater vehicle (sub-bike, mini-sub, jet craft — your choice) flees at full speed, and one or more pursuers hunt it (drones, security subs, a giant mechanical creature — your choice). The camera rides right behind the fleeing vehicle, third person, slightly above.
- The route is full of action from the very first second — no long straight stretches: tight turns between towers, diving under arches, threading through a glass tunnel, slaloming between pillars, a narrow gap that barely fits, a near miss with a moving obstacle (a passing cargo sub, a closing gate, a rotating fan), a vertical drop along a tower wall, a burst out of the city's edge into the open dark ocean and back in.
- The pursuers stay close and visible behind and beside the hero: they weave, fire lasers / torpedoes / grappling cables that miss, crash into obstacles and get replaced.
- The camera must feel the speed and the water: lag and spring on turns, roll into banks, FOV kick on boosts, shake on near misses and explosions, slight underwater wobble. Smooth, never nauseating, always readable.
- One chase lasts about 40–60 s, ends in a dramatic escape moment, then fades and restarts.
AUTOPILOT (required)
The chase plays by itself with nobody touching anything — it will be recorded for a video. The route is a fixed designed course through real city geometry, and the vehicles are driven along it by a steering controller (speed, acceleration, banking, avoidance), not a rigid camera spline: the hero must visibly pass through the real gaps, tunnels and arches without clipping. Optional: a key toggles manual control (WASD/arrows + Shift boost), but the autopilot is what matters.
TECHNICAL RULES (all stages)
- ONE self-contained HTML file. three.js only, loaded through an importmap from https://cdn.jsdelivr.net/npm/three@0.170.0/ (build/three.module.js and examples/jsm/ addons are allowed). No other libraries, no external models, textures, images or fonts — all geometry and textures are made in code (canvas textures, procedural shaders).
- The scene must FILL the whole window. It may be shown as small as 930x380 (wide and low!) and as large as 1920x1080; handle resize and keep the hero vehicle well framed at both extremes.
- Starts immediately, no menu, no click needed. body margin 0, no scrollbars.
- Smooth 60 fps on a mid-range GPU: merge or instance repeated geometry, reuse materials, cap pixel ratio at 2, no per-frame allocations in hot loops.
- requestAnimationFrame loop with delta time clamped (max 50 ms).
- Zero runtime errors: declare every variable you use, guard against undefined, double-check every function, variable and three.js API name you reference.
Reply with the complete HTML file only — no explanations, no markdown fences.no model saw another model's code.
our take
on price, minimax m3.1 flash lives up to its list rate: a full 3d chase, reworked round after round, for about 21 cents. gemini 3.8 flash built the richest sea for 7x the money. if you need a cheap model to iterate on a scene many times, minimax and haiku are the two to try first.
sources
- minimax m3.1 flash on openrouter – the model and its list price
- minimax api platform
- deepseek v4.1 flash 1017 on openrouter
- gemini 3.8 flash on openrouter
- claude haiku 5.5 on openrouter
- briefs, builds, timings and bills: our test, oct 19, 2026