Field note · 23 July 2026
Microsoft released Mage-Flow — a 4-billion-parameter model that does text-to-image and instruction editing, under an MIT licence. We had it measured, wired into our pipeline, and making production art the same evening. Every image on this page came out of it. Including the one above.
Most open image models arrive with a licence that quietly rules out commercial work. This one didn't.
A lot of the best open weights ship non-commercial. That's fine for a demo and useless for a client deliverable, so we read the licence before we read the benchmarks. Mage-Flow is MIT — genuinely usable in paid work. It also collapses two tools into one: the same 4B model generates an image and edits an existing one from a plain-English instruction, at any aspect ratio from 512 to 2048 pixels natively.
That combination is what got it onto the bench the same day it appeared.
On one RTX PRO 6000 Blackwell workstation. Median of warm runs at 1024×1024, our prompts, our hardware — not numbers copied off a model card.
The model card quotes 0.59s per image and roughly 18–20GB of memory on a datacentre A100. We measured 0.508s at 11.6GB. That gap matters commercially: at 11.6GB this runs on hardware a small studio already owns, rather than something you rent by the hour.
We publish the number we measured, on the machine we measured it on. If we can't reproduce a vendor claim, we say so.
Small image models usually smear lettering into convincing nonsense. This is the test we actually cared about — and none of these were retried.
Every image above is a first output. But we went back and generated that embroidered patch five more times, and the model misspelled the word “SCRAPPY” in all five — dropping a letter each time. Curved lettering is roughly a coin flip. The one above got it right; five in a row after it did not.
What did work: taking the correct patch and using the editing model to recolour it. The lettering survived untouched. So the practical rule we came away with is — generate until the text is right, then edit rather than regenerate, because editing preserves glyphs that generation will happily re-roll.
Treat output like this as a draft a human proofreads, never as typesetting. That's true of every image model we've tested, and anyone telling you otherwise hasn't run it five times.
Each step edits the previous result, not the original. Errors compound in a chain like this, which is exactly why it's worth showing.
Published because it cost us an hour and will cost you one too.
There's no prebuilt FlashAttention wheel for current-generation Blackwell workstation GPUs on CUDA 13. Mage-Flow ships a scaled-dot-product fallback, but it is not selected automatically everywhere: only the fast Turbo checkpoint declares it in its config. The quality and editing checkpoints default to FlashAttention and raise on the first attention call.
Setting the documented environment override alone is not enough — that fixes loading the text
encoder, not running it. You need the environment override and an explicit
set_attn_backend("sdpa") call after the pipeline is constructed. Backend resolution is
lazy, so setting it after load still wins.
Once that's in place the model runs clean on Blackwell with no FlashAttention installed at all, and the speed above is with the fallback — not despite it.
A model landed on a Tuesday. By that evening it was measured on our own metal, the licence was checked, the failure mode was found and documented, and it was wired into the pipeline behind a stable interface. That's the job. Bring your own AI — we'll make it behave.
Talk to usEvery image generated locally on our own GPU at 20 steps unless noted, one seed, first output kept — no cherry-picking and no retries. Prompt adherence is good, not perfect: one frame ignored part of its instruction. Model: microsoft/Mage-Flow (MIT). Nothing on this page touched a paid API.