Writing "no text" in the prompt does not stop an image generator from writing. We learned this generating the cover of every article on this blog with AI: across 24 logged runs between September 3 and October 8, 2026, 11 covers came out on the first try with letters, numbers or glyphs that look like writing, all of them with "no text" in the prompt. What fixed it was not repeating the phrase louder. It was no longer asking for objects that carry text.
Why does AI put text in the image even when you ask for "no text"?
Because the object you asked for comes with text attached. A terminal has code, a sign has words, a server rack has labels, a "hacker" background has binary digits. The model draws the typical version of the object, and the typical version has writing on it.
In the 10 cases where our log recorded where the text was, it was always in one of these places:
- a terminal or editor with code (readable
if/else, a full$ git commit) - a monitor with patterns resembling Arabic or Korean script
- a sign: we asked for a "dead-end signpost" and got DEAD-END written on it
- a server rack with "GPU" painted on it
- diff bubbles with
+and- - a data background with "data packet" written on it, or a
1010110sequence
We use Gemini's Nano Banana 2 (nano-banana-2), at 16:9 and 2K resolution. The rule applies to any generator trained on images from the web: the scene you describe pulls in the details that usually come with it.
How did the number of redone covers change?
It dropped from 11 in 12 to 2 in 12, after we started swapping the object instead of reinforcing the ban. The numbers come from our execution log, one line per published article:
| Period | Runs with cover outcome logged | Redone for text or glyphs | Redone only for mascot color | Right on the 1st try |
|---|---|---|---|---|
| September 3 to 26 | 12 | 9 | 2 | 1 |
| September 27 to October 8 | 12 | 2 | 0 | 10 |
Read it carefully: this is an operations log, not a controlled experiment. What supports the reading is that the 2 failures in the second period were exactly the two objects still in the prompt: a terminal with code (it produced if/else) and a "matrix" background (it produced 1010110).


How do you write the prompt so no text comes out?
Replace every object that carries writing with an abstract substitute, and close the prompt with a broad ban. The table we use today:
| Instead of asking for | Ask for |
|---|---|
| a terminal or editor with code | terminal window filled only with abstract colored horizontal bars, no code symbols |
| a matrix or binary background | plain dark gradient background with soft glowing dots, no binary digits, no 0s or 1s |
| a sign, label or bubble with content | the object without a writing surface: arrow, icon, empty bubble |
| a named rack or panel | server rack with blinking lights only, no labels |
The full skeleton, ready to copy:
Dynamic cartoon illustration, dark navy to deep purple gradient background
with soft glowing dots.
[YOUR SCENE, described only with shapes: bars, blocks, icons, empty frames]
Plain background, no screens with code, no signs, no labels.
Absolutely no letters, numbers, words, code, glyphs or symbols anywhere in the image.
This article's cover came out right on the first try with that skeleton: two frames with geometric shapes, a magnifying glass, an eraser and a check icon. It is a single case and proves nothing on its own; the table above is what carries the weight.
Do you still need to check the image with the right prompt?
Yes, at full size, looking at the background and the corners. Our check was already mandatory before uploading a cover, and it still let one through: the cover of a tutorial published on September 14 has binary digits in the top right corner. The log for that run mentions nothing, because the check looked at the mascot's color and stopped there.
The list we use now before uploading any cover:
- Open the PNG at full size, not the thumbnail.
- Scan all four corners and the background behind the character.
- Look at screens, panels and bubbles: a glyph that "looks like" a letter counts as text.
- Check the mascot's color. Two covers came out with it white and one with it pink.
- Found text? Do not reinforce the ban. Find which object brought the text in and swap it for a substitute from the table.
Can this check be automated?
Not reliably yet, at least not the way we tried. We wrote a script that measures the share of pixels in the mascot's color and ran it against the 44 covers we have on disk: it failed a cover where the mascot was purple, just small, and passed both covers our log marks as having a pink mascot. We dropped it. For text, the natural path is OCR, but glyphs that imitate writing are exactly what OCR does not read as letters. For now the check is visual, with the list above.
If you automate this kind of workflow with a coding agent and don't want to count tokens on every retry, Verboo Code offers unlimited tokens.



