We put Qwen3.8 Flash, DeepSeek V4.1 Flash, MiMo V2.6 Flash and Step 3.7 Flash against each other across four one-shot coding tests, all run on EmpirioLabs. Same prompt each, one shot, no edits, and every result rendered live in a real browser.
Watch the four way comparison
Specs at a glance
| Qwen3.8 Flash | DeepSeek V4.1 Flash | MiMo V2.6 Flash | Step 3.7 Flash | |
|---|---|---|---|---|
| Maker | Alibaba | DeepSeek | Xiaomi | StepFun |
| Context window | 1,000,000 tokens | 1,000,000 tokens | 1,000,000 tokens | 256,000 tokens |
| Input | Text, images and video | Text and images | Text, images, video and audio | Text, images and video |
| Reasoning | Effort up to max | Effort up to max | Thinking on or off | Effort up to max |
| Structured output | Strict JSON Schema | JSON mode | Strict JSON Schema | JSON mode |
| Input price | $0.16 per 1M tokens | $0.30 per 1M tokens | $0.14 per 1M tokens | $0.20 per 1M tokens |
| Output price | $0.47 per 1M tokens | $1.20 per 1M tokens | $0.28 per 1M tokens | $1.15 per 1M tokens |
How we ran it
Each model received the identical prompt for four tasks: build a Ferris wheel at night in a single HTML file; build a pizza baking in a wood-fired oven in a single HTML file; build a toy train set in a single HTML file; build kites flying over a beach in a single HTML file. Every task asked for a single self-contained HTML file with no external libraries that animates on its own. Qwen3.8 Flash, DeepSeek V4.1 Flash and Step 3.7 Flash ran at reasoning_effort: "max"; MiMo V2.6 Flash, which has no effort setting, ran with thinking on. Every model had a 65,536 token output budget and one shot per task. The line counts and tokens-per-second readouts on each panel are measured from the real API calls, and each result is the file the model returned, rendered as-is.
What to look for
DeepSeek V4.1 Flash returned its files fastest, at about 191 tokens per second. MiMo V2.6 Flash wrote the longest files, about 930 lines on average, and Step 3.7 Flash the most compact, about 490. Qwen3.8 Flash used the most output tokens, about 48,000 per task including its reasoning. Watch how each model brings its scene to life: the motion, the detail and how it keeps running on its own. We are not declaring a winner. Run the clip and judge the outputs for your own use case.
Run the same test on EmpirioLabs
curl https://api.empiriolabs.ai/v1/chat/completions \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-8-flash",
"reasoning_effort": "max",
"messages": [{"role": "user", "content": "Build a Ferris wheel at night in a single HTML file."}]
}'
Swap model to deepseek-v4-1-flash, mimo-v2-6-flash or step-3-7-flash to run the same request against the others, or try them interactively in the playground.
Frequently asked questions
Were the results edited or retried?
No. Each panel is the first file the model returned for that prompt, rendered exactly as returned. A request that came back without a file was sent again.
Why the highest reasoning setting?
A fair head to head shows each model at its best, so each ran at its highest reasoning setting: max effort for Qwen3.8 Flash, DeepSeek V4.1 Flash and Step 3.7 Flash, thinking on for MiMo V2.6 Flash.
Which model should I use?
MiMo V2.6 Flash has the lowest output price of the four here. Run your own workload against each before deciding: the same request works for all four with only the model name changed.



