Garbled text was the other classic AI tell, and unlike hands it has a clean technical explanation.
Why it happened
Classic diffusion models encode a prompt into a semantic embedding — a representation of meaning, not of characters. 'A shop sign reading BAKERY' arrives at the image model as roughly 'shop sign, bakery-ness'. The model has learned what signage looks like as visual texture: letterform-shaped marks, in rows, with the spacing and stroke weight of type. So it renders exactly that. Convincing signage made of characters that aren't letters. The model was never asked to spell, because spelling wasn't in the representation it received.
What changed is architectural. Newer models use stronger text encoders and, in several cases, autoregressive components that operate over discrete tokens — a pipeline that can carry character-level information through to the image. That's why gpt-image-2 will reliably put a short, quoted string on a poster, something no 2023 model could do at all.
Where it still breaks
| Situation | Reliability today |
|---|---|
| One to three words, quoted, prominent in frame | Usually correct |
| A short line on a sign, book cover, or mug | Often correct, worth a couple of rolls |
| A full sentence | Frequently drifts — a wrong or duplicated word |
| A paragraph, menu, newspaper, dense UI | Reliably fails past the first line |
| Text at small scale or steep perspective | Degrades sharply |
| A specific real brand's exact logo lockup | Approximated, rarely exact; often refused |
| Non-Latin scripts | Much weaker than Latin across all three models |
How to ask
- 1.Put the exact string in quotes: a poster with the text "OPEN LATE" — this is a real signal to modern encoders, not folklore.
- 2.Say it once. Repeating the string, or mentioning it in three different clauses, invites the model to render it twice.
- 3.Keep it short. Every extra word compounds the failure probability.
- 4.Give it a surface and a scale. 'Large hand-painted lettering across the shop window' anchors where and how big; a floating unattached string does not.
- 5.Make the frame generous. Text needs pixels. A tight crop on the sign will outperform the same sign in a wide street scene.
- 6.Check every letter before you use it. Near-misses are the norm and they're easy to skim past — you read the word you expected.
For anything where the text must be exactly right — a real product, a client deliverable, anything with a brand name in it — generate the image without text and set real type over it. That is standard practice, not a compromise, and it gives you correct kerning and an actual typeface rather than an approximation of one.
The inverse problem: unwanted text
Models often add spurious signage, watermark-like marks, or gibberish captions to scenes that plausibly contain them — storefronts, packaging, screens, magazine spreads. On models with a negative prompt, 'text, watermark, signature, logo' handles most of it. Without one, describe the surfaces as blank: 'unbranded packaging', 'plain white signage', 'clean unmarked wall'. Every image published here is screened for rendered text and watermark artifacts before it goes live, which is why you won't find gibberish signage in the gallery — it's filtered, not absent.
- Browse by model — See the same kind of prompt across all three engines we publish with
- Negative prompts that actually work
- How images are screened before publishing