The Duck Transform Ladder
An objective, rubric-scored benchmark of AI image-editing models.
Everyone benchmarks AI images on how pretty they look. That is a matter of taste. This benchmark measures something you can actually score: does the model do what you asked? We gave six image-editing models the same source image — a plain pink rubber duck — and the same eight edit instructions, arranged easy to hard. Three runs per model, no retries, no cherry-picking — and every run is published below with a ✓ / ½ / ✗ mark on each edit, so you can re-derive every score by counting.
Only one model rendered the mirror correctly
The hardest edit — “stand the duck on a small round mirror with a correct reflection” — broke almost everything. Across 18 attempts (six models × three runs), only OpenAI gpt-image-2 got it right, and it got it right 3 times out of 3. Every other model failed this rung in its own distinctive, repeatable way.

The mirror rung, zoomed in — top three models, three runs each.
Results
Each run scores up to 8 (one point per edit); a model’s score is its total across the three published runs, out of 24, normalized to 100. Every setting is published for comparability. These scores also feed the cross-benchmark model leaderboard.
- 1
OpenAI gpt-image-2
24/24 · 100.0OpenAI API · /v1/images/edits · default quality · 1536×1024
Runs: 8 · 8 · 8 / 8
None. The only model to render the mirror reflection correctly on every run — a subtle pink contact reflection on the disc, which is what a small flat mirror should show at this camera angle.
- 2
Google Nano Banana 2
21.5/24 · 89.6Gemini API · generateContent · gemini-3.1-flash-image · aspectRatio 3:2
Runs: 7.5 · 7.5 · 6.5 / 8
Mirror: a real reflection, but it spills well past the edge of the disc — the right edit with flawed execution (½) on every run. One run also turned the face-away duck blue (an unrequested change: zero).
- 3
Meta Muse Image
21/24 · 87.5meta.ai · manual (no public API) · reasoning strength: thinking
Runs: 7 · 7 · 7 / 8
Mirror: the reflection spills out as a whole second duck — and it carries the reversed “FRENZY” text from the previous edit. Spilling is a flawed edit; inventing content in it is a failed one (zero). Identical on all three runs.
- 3
Nano Banana 2 Lite
21/24 · 87.5Gemini API · generateContent · gemini-3.1-flash-lite-image · aspectRatio 3:2
Runs: 6.5 · 7.5 · 7 / 8
Same spilling-reflection family trait as full Nano Banana 2 (½ each run), plus one blue-bleed duck (zero) and one wireframe drawn as a plain outline (½).
- 5
FLUX 2 Pro (edit)
10/24 · 41.7AIMLAPI · flux-2-pro/edit
Runs: 2 · 4 · 4 / 8
Cannot hold eight instructions: renders only 5–6 ducks, merges edits (a wireframe duck wearing the top hat), bleeds styles between slots, and twice drew a mirror reflection with no duck standing on it.
- 6
Qwen Image Edit
7/24 · 29.2AIMLAPI · alibaba/qwen-image-edit
Runs: 2 · 1 · 4 / 8
Colour instructions bleed everywhere — including the “unchanged” first duck turning blue — plus missing edits, out-of-order slots and huge run-to-run variance. v2 gives no credit for a duck merely being present, which is why its score fell furthest from v1.
Every run, every grade
All three runs for every model, each edit marked ✓ (1 point, done as asked), ½ (the right edit, flawed execution) or ✗ (0 — missing, out of order, or with unrequested changes). The score is what you can count — no hidden runs. Flagship trio first, then the challenger tier.


The eight edits
The identical prompt given to every model, alongside the unedited source image.

The source. Generated by a non-contestant model (Seedream 5 Lite) so no entrant has a home-field advantage.
- 1Unchanged (leave the duck exactly as-is)
- 2Recolour it solid blue
- 3Turn it to face directly away from the camera
- 4Make it transparent glass
- 5Render it as a black line-art wireframe
- 6Balance a red top hat on it, standing on a soccer ball
- 7Write “FRENZY” in black capitals on its side
- 8Stand it on a small round mirror with a correct reflection
Run it yourself — the verbatim prompt
Here is a photo of a rubber duck. Create one image showing this exact duck 8 times in a horizontal row on a plain white background. From left to right: 1) the duck unchanged, 2) the duck recolored solid blue, 3) the duck rotated to face directly away from the camera, 4) the duck made of transparent glass, 5) the duck drawn as a black line-art wireframe, 6) the duck wearing a red top hat and balancing on top of a soccer ball, 7) the duck with the word "FRENZY" printed on its side in black capital letters, 8) the duck standing on a small round mirror with its correct reflection visible. Keep every duck the same size and evenly spaced. Do not add anything else.
Paste this with any photo of a rubber duck into the image model of your choice — or run the ladder on your own photo here, no setup needed.
How it’s scored
- One mark per edit, printed on the images above: ✓ = 1 point, the edit done exactly as asked · ½ = half a point, the right edit with flawed execution · ✗ = 0 — missing, out of the requested order, or carrying any change that wasn’t asked for. Invented content is an automatic zero — a spilling reflection is a flawed edit; inventing text inside it is a failed one.
- Three runs per model on the identical prompt and source image, no retries, no cherry-picking — and every run is published above with its marks. A run scores /8; the model’s score is its total /24. No number on this page comes from a run you can’t see.
- Every model runs at its defaults, and all settings are published above. Meta Muse Image has no public API yet, so its runs were done by hand on meta.ai (reasoning strength: thinking); the others ran through their APIs.
- Fine details — the reflection, the lettering — are graded zoomed in, per slot, so a subtle-but-correct rendering isn’t mistaken for a failure. This benchmark scores prompt-adherence, not image beauty.
- Correction log: this is scoring v2 (9 July 2026), rescored after a sharp catch on the launch Reddit thread. v1 averaged hidden runs and couldn’t distinguish a flawed reflection from an invented one — Meta Muse moved from 2nd to 3rd under v2, and FLUX and Qwen swapped (v1 gave credit for a duck merely being present; v2 only pays for edits done). When we’re wrong, we re-grade in public.
- Free to reuse with attribution to The Duck Transform Ladder (CC BY 4.0). Press & data requests: promptfrenzy.com/press.
Run the ladder on your own photo
Upload any object — a toy, a mug, your pet — and get the same eight transformations, run on gpt-image-2, the model that won this benchmark. Free, no setup.
Try the prompt →