Greeting Card
Greeting cards are a flagship print-on-demand product and a compound test: exact cover text, a decorative border, and print-ready geometry (A6, clean margins, bleed) at once.
Greeting card design: "Happy Birthday" front cover; hand-lettered script; pastel watercolor floral border; A6 portrait; print-ready with clean margins and 3 mm bleed.
Results
FLUX.2
FLUX.2 [pro]
FLUX.2 [dev] Turbo
Gemini 2.5 Flash Image
GPT Image 1.5
Ideogram 3.0
Luma Photon
Nano Banana 2
Nano Banana 2 Lite
Nano Banana Pro
Qwen-Image
Recraft V3
Seedream 4.5
Seedream 5.0 Lite
Stable Diffusion 1.5
What the models actually wrote
Expected
Happy Birthday
Rendered
- FLUX.2 · seed 1111 H a p p y B i r t h d a y 100% match · 5/5 The main text "Happy Birthday" is clearly legible and correctly spelled in a two-line script. The surrounding dimension labels are garbled and nonsensical, but the required text itself is accurate.
- FLUX.2 · seed 2222 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly as required, spelling "Happy Birthday" correctly in a flowing script broken across two lines. It is fully legible and centered within the floral frame.
- FLUX.2 · seed 3333 H a p p y B i r t h d a y 100% match · 5/5 The card text renders exactly as required, "Happy Birthday," in legible flowing script across two lines. The surrounding measurement annotations (e.g. "A6 '3 cm", "3 mm leed 3 cm") are gibberish, but these are not part of the required card text.
- FLUX.2 [pro] · seed 1111 H a p p y B i r t h d a y 100% match · 5/5 The visible text reads "Happy Birthday" across two lines in a flowing script, exactly matching the required phrase. It is legible and correctly spelled.
- FLUX.2 [pro] · seed 2222 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly as "Happy Birthday" across two lines in a flowing dark script, fully legible with no misspellings. This matches the required text precisely.
- FLUX.2 [pro] · seed 3333 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly as required, "Happy Birthday," in a cursive hand-lettered script split across two lines. Spelling and legibility are correct with no errors.
- FLUX.2 [dev] Turbo · seed 1111 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered exactly and legibly in a dark hand-lettered script across two lines. Spelling is correct with no errors.
- FLUX.2 [dev] Turbo · seed 2222 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is clearly legible in an elegant dark script, split across two lines. It matches the required text exactly with correct spelling.
- FLUX.2 [dev] Turbo · seed 3333 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered clearly and legibly in a stylized brush script across two lines, exactly matching the required text with correct spelling.
- Gemini 2.5 Flash Image · sample 1 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly as required, reading "Happy" and "Birthday" across two lines in a flowing script. It is fully legible with no misspellings.
- Gemini 2.5 Flash Image · sample 2 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered exactly and legibly in a two-line hand-lettered script, matching the required text with correct spelling.
- Gemini 2.5 Flash Image · sample 3 H a p p y B i r t h d a y 100% match · 5/5 The text reads "Happy Birthday" in a flowing multicolor watercolor script, matching the required text exactly. It is legible and correctly spelled across two lines.
- GPT Image 1.5 · sample 1 H a p p y B i r t h d a y 100% match · 5/5 The required text "Happy Birthday" is rendered exactly and legibly in a flowing two-line script with correct spelling. It matches the prompt requirement precisely.
- GPT Image 1.5 · sample 2 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered exactly as required in a flowing cursive script across two lines. Both words are legible and correctly spelled.
- GPT Image 1.5 · sample 3 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly as "Happy Birthday" in a flowing gold script across two lines, matching the required text. It is fully legible with correct spelling.
- Ideogram 3.0 · seed 1111 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly as required, spelling "Happy Birthday" correctly across two lines in a flowing script. It is fully legible and matches the required text precisely.
- Ideogram 3.0 · seed 2222 H a p p y B i r t h d a y 100% match · 5/5 The required text "Happy Birthday" is rendered clearly and legibly in a flowing script across two lines. Spelling is correct and the lettering is attractive and readable.
- Ideogram 3.0 · seed 3333 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered exactly and legibly in a flowing gold script with no misspellings or broken breaks. It matches the required text precisely.
- Luma Photon · seed 1111 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered legibly in cursive script, broken across two lines, with correct spelling. This matches the required text exactly.
- Luma Photon · seed 2222 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered clearly and legibly in a flowing cursive script, spelled correctly and broken across two lines. It matches the required text exactly.
- Luma Photon · seed 3333 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered clearly and correctly in a flowing script, spread across two lines. Spelling is accurate and fully legible.
- Nano Banana 2 · sample 1 H a p p y B i r t h d a y W i s h i n g y o u a w o n d e r f u l d a y ! 100% match · 5/5 The required text "Happy Birthday" is rendered clearly and correctly in a decorative multicolor pastel script. An additional legible subtitle "Wishing you a wonderful day!" appears below, but the required phrase is spelled correctly and prominent.
- Nano Banana 2 · sample 2 H A P P Y H a p p y B i r t h d a y 100% match · 5/5 The required phrase "Happy Birthday" is legibly rendered in script, spelled correctly. There is an additional smaller printed "HAPPY" above the script, creating a slight redundancy, but the core text is accurate and clear.
- Nano Banana 2 · sample 3 H a p p y B i r t h d a y 100% match · 5/5 The text reads exactly "Happy Birthday" in a flowing calligraphic script, spelled correctly and fully legible across two lines. It matches the required text precisely.
- Nano Banana 2 Lite · sample 1 H a p p y B i r t h d a y 100% match · 5/5 The required text "Happy Birthday" is rendered exactly and legibly in a two-line hand-lettered script. There are no spelling errors or broken line breaks in the main greeting; the production footer text is separate and unrelated to the required text.
- Nano Banana 2 Lite · sample 2 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly as required, "Happy Birthday", spelled correctly in a flowing two-line script. It is fully legible and stylistically appropriate for a greeting card.
- Nano Banana 2 Lite · sample 3 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered legibly and accurately in a two-line calligraphic script with no misspellings. It matches the required text exactly.
- Nano Banana Pro · sample 1 H a p p y B i r t h d a y 100% match · 5/5 The text reads exactly "Happy Birthday" as required, rendered in a legible gold cursive script across two lines. No misspellings or broken characters are present.
- Nano Banana Pro · sample 2 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered legibly in a two-line pastel calligraphic script exactly as required, with correct spelling. The gradient coloring is decorative but fully readable.
- Nano Banana Pro · sample 3 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered exactly and legibly in an elegant pastel script across two lines, matching the required text with correct spelling.
- Qwen-Image · seed 1111 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered exactly and legibly in a pink cursive script, split across two lines. Spelling is correct with no errors.
- Qwen-Image · seed 2222 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered legibly in cursive script across two lines, matching the required text exactly with correct spelling.
- Qwen-Image · seed 3333 H a p p y B i r t h d a y 100% match · 5/5 The main greeting "Happy Birthday" is legibly rendered in cursive script exactly as required. There is a small line of garbled, illegible text below it that does not match any required content but does not affect the required phrase.
- Recraft V3 · seed 1111 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly as required, spelling "Happy Birthday" correctly across two lines in a flowing script. It is fully legible and matches the required phrase.
- Recraft V3 · seed 2222 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly as required, reading "Happy Birthday" across two lines in a legible cursive script with no misspellings. The lettering is clear and matches the requested hand-lettered style.
- Recraft V3 · seed 3333 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly as required, "Happy Birthday," split across two lines in a flowing script font. It is fully legible with no misspellings.
- Seedream 4.5 · seed 1111 H a p p y B i r t h d a y 100% match · 5/5 The text "Happy Birthday" is rendered clearly and legibly in a black cursive script across two lines, exactly matching the required text with correct spelling.
- Seedream 4.5 · seed 2222 H a p p y B i r t h d a y 100% match · 5/5 The text reads "Happy Birthday" across two lines in a hand-lettered cursive script, spelled correctly and fully legible, matching the required text exactly.
- Seedream 4.5 · seed 3333 H a p p y B i r t h d a y 100% match · 5/5 The card legibly renders "Happy Birthday" in a decorative cursive script exactly as required, split across two lines. Spelling is correct and fully legible. Note the surrounding mockup labels contain typos ("3 mm beed", "3 pint read") but these are annotations, not the card text.
- Seedream 5.0 Lite · seed 1111 H a p p y B i r t h d a y 100% match · 5/5 The text renders exactly "Happy Birthday" across two lines in a flowing script, spelled correctly and fully legible. It matches the required text precisely.
- Seedream 5.0 Lite · seed 2222 H a p p y B i r t h d a y 100% match · 5/5 The text reads exactly "Happy Birthday" in flowing cursive script, broken across two lines. Spelling is correct and the lettering is fully legible.
- Seedream 5.0 Lite · seed 3333 H a p p y B i r t h d a y 100% match · 5/5 The text reads 'Happy Birthday' set across two lines in a graceful pink cursive script, exactly matching the required phrase with correct spelling. It is fully legible and well-centered.
- Stable Diffusion 1.5 · seed 1111 H a p p y B i r t h d a y ! B i r l h a y 100% match · 5/5 The intended text was "Happy Birthday" but the script rendered a redundant and misspelled repetition, showing "Happy Birthday" followed by a distorted "Birlhay." The lettering is decorative but partially illegible and does not exactly match the required text.
- Stable Diffusion 1.5 · seed 2222 H a p p y B t h p p y B t h l a y 71% match · 3/5 The required text "Happy Birthday" is badly misspelled and broken into three garbled lines, with only the first word "Happy" correct. The rest is illegible nonsense rather than "Birthday."
- Stable Diffusion 1.5 · seed 3333 H a p p y B i r h o p a y 79% match · 3/5 The top word "Happy" is legible and correct, but the second word is garbled as "Birhopay" instead of "Birthday," and there appears to be a small tag with additional scrambled text. This fails the exact-match requirement for "Happy Birthday."
Run-to-run consistency
Scores
| Text Accuracy | Prompt Adherence | Resolution | Latency | Cost | |
|---|---|---|---|---|---|
| FLUX.2 | 5.0 / 5 | 5.0 / 5 | 2.0 / 5 | 4.0 / 5 | 4.0 / 5 |
| FLUX.2 [pro] | 5.0 / 5 | 5.0 / 5 | 2.0 / 5 | 2.0 / 5 | 4.0 / 5 |
| FLUX.2 [dev] Turbo | 5.0 / 5 | 5.0 / 5 | 2.0 / 5 | 4.0 / 5 | 4.0 / 5 |
| Gemini 2.5 Flash Image | 5.0 / 5 | 5.0 / 5 | 3.0 / 5 | 3.0 / 5 | 4.0 / 5 |
| GPT Image 1.5 | 5.0 / 5 | 4.6 / 5 | 3.0 / 5 | 1.0 / 5 | 3.0 / 5 |
| Ideogram 3.0 | 5.0 / 5 | 4.6 / 5 | 3.0 / 5 | 2.0 / 5 | 3.0 / 5 |
| Luma Photon | 5.0 / 5 | 3.8 / 5 | 4.0 / 5 | 2.0 / 5 | 4.0 / 5 |
| Nano Banana 2 | 5.0 / 5 | 5.0 / 5 | 3.0 / 5 | 2.0 / 5 | 3.0 / 5 |
| Nano Banana 2 Lite | 5.0 / 5 | 5.0 / 5 | 3.0 / 5 | 3.7 / 5 | 4.0 / 5 |
| Nano Banana Pro | 5.0 / 5 | 5.0 / 5 | 3.0 / 5 | 1.0 / 5 | 1.0 / 5 |
| Qwen-Image | 5.0 / 5 | 5.0 / 5 | 2.0 / 5 | 3.0 / 5 | 4.0 / 5 |
| Recraft V3 | 5.0 / 5 | 5.0 / 5 | 3.0 / 5 | 3.0 / 5 | 4.0 / 5 |
| Seedream 4.5 | 5.0 / 5 | 4.6 / 5 | 5.0 / 5 | 1.3 / 5 | 4.0 / 5 |
| Seedream 5.0 Lite | 5.0 / 5 | 5.0 / 5 | 5.0 / 5 | 1.0 / 5 | 4.0 / 5 |
| Stable Diffusion 1.5 | 3.7 / 5 | 2.5 / 5 | 1.0 / 5 | 4.0 / 5 | 5.0 / 5 |
New model? New benchmarks.
We re-run the identical 37-prompt suite on every model release. Get the scores, and what changed in the rankings, in your inbox.
You're on the list.
We'll email you when new benchmark results ship.
Frequently asked questions
Image generation is stochastic: the same prompt produces different images on every run, so a single sample measures luck, not ability. Every model runs each benchmark three times with fixed seeds (1111, 2222, 3333), or three unseeded samples where the API accepts no seed. Scores average all three samples, and the consistency benchmarks measure the variation itself.
Yes. Every model receives the same prompt text with default parameters and no per-model tuning, so differences in output reflect the model, not prompt engineering. The suite is versioned and prompts are append-only, which keeps historical scores comparable.
The results on this page are scored on this exact prompt, so the strongest model for it is easy to spot; this benchmark sits in the Print-Production Graphics category. Scores are per model version and reflect this benchmark only. For a ranking across every benchmark see the model rankings, and to weight the numbers by a specific job see the use-case pages.
Each image is scored 0 to 5 per criterion. Measured criteria (resolution, latency, cost, transparency, color accuracy) are computed automatically; quality criteria (text accuracy, prompt adherence, composition) are judged by an automated Claude vision tier against each prompt’s checklist. Page scores are unweighted means over all of a model’s runs in that scope. Blind expert-panel review has not run yet; the dataset is pilot-0.
Model output is a starting point, not a finished asset. Production work usually needs background removal, exact brand colors or editable text, none of which generation guarantees on every run. The IMG.LY AI Editor gives your users those controls to refine any model’s output to production quality.
The suite re-runs on notable model releases so the rankings stay current. The results shown are the pilot-0 dataset, scored by measured criteria plus an automated Claude vision tier, with blind expert review planned. Prompts are versioned and append-only, so scores stay comparable across runs.

