Prompt Library

AI Text in Images: How to Prompt Readable Ad Text (Not Gibberish)

Portrait of Anton Tokarev, media buyer and ad researcher

Written by Anton Tokarev

Media buyer, swipe-filer, ad stealer.

Most of my early AI ads were unusable for one reason: the text was nonsense.

I'd prompt an ad with a headline and get back a beautiful image with a garbled mess where the words should be - "SPME SKIM SIMPFIED" in a nice font, perfectly kerned. The image was great. The copy was illegible. And an ad you can't read is not an ad.

Then I learned the two things that fix it. First, you have to quote the exact text you want, word for word, in the prompt - the moment you describe it loosely ("a headline about skin"), the model invents its own spelling. Second, text isn't a caption you tack on and hope for. It's a design layer you build in stages: quote it, style it, place it, contrast it. Each stage moves the ad from "text appears" toward "text is designed."

This is the exact process I use to get readable, well-designed text into an AI ad, with the copy-paste prompts for each stage.

Let's make the words legible.

Why AI Writes Gibberish by Default

The model isn't spelling - it's rendering the shape of text it has seen. Left to invent, it produces letter-forms that look right and read wrong. The fix is to stop letting it invent.

The Text Layer: Text in an AI ad is a design layer you build, not a caption you hope for. You quote the exact words, style the type, place it deliberately, and contrast it against the image. The escalation from "text appears" to "text is designed" is what separates a gibberish render from a finished ad - and it starts with one rule: quote the text exactly, or the model invents it.

Anything you don't want the model to write, you fence off with the negative prompt layer - no gibberish text, no fake lettering - and everything you do want, you quote.

The 5 Stages of the Text Layer

At a glance:

  • Quote it

    What it controls
    Whether it's legible at all

    The core move
    exact words in quotes

  • Style it

    What it controls
    The type's personality

    The core move
    name the font style

  • Place it

    What it controls
    Where it sits

    The core move
    name the position

  • Contrast it

    What it controls
    Whether it's readable

    The core move
    name the contrast

  • Size & hierarchy

    What it controls
    What's read first

    The core move
    name the size relationships

Now the detail.

Stage 1: Quote the Text Exactly

The single most important rule. Put the exact words you want rendered inside quotation marks in the prompt. This tells the model the specific letters - the moment you describe text loosely, the model invents its own gibberish.

Use
Every prompt that includes any text element whatsoever - headlines, CTAs, logos, labels, packaging.
Avoid
The design deliberately calls for no legible text, or blurred background signage that shouldn't read - then you don't quote, you blur.
Prompt keywords
the text "Your skin. Simplified." on the banner
headline reads "Your Skin. Simplified." in a bold clean font
the words "SHOP NOW" on the button
logo that reads "AURUM" on the label
Minimal serum ad with the headline 'Your skin. Simplified.' rendered exactly as quoted above a bottle on marble
Quote the copy and the model renders those exact words
Skincare ad with the headline 'Skin that speaks for itself.' and a 'SHOP NOW' button rendered legibly beside a frosted serum bottle
Quoted words render exactly - no invented letters

What you see: the headline reads exactly as quoted - no gibberish, no substituted characters. The quotation marks told the model the specific letters to render rather than inventing its own. That's the difference between a legible ad and a nice-looking, unusable one.

Stage 2: Style the Type

Once the words render, you control the type's personality - because the font carries as much meaning as the words. A thin serif reads luxury; a bold sans reads confidence; a handwritten script reads warmth. Name the style the brand's register demands.

Use
Any text where the typographic style is part of the brand message - which is nearly all of it.
Avoid
The model can render it in a generic sans and the style isn't a signal - save the specificity for elsewhere.
Prompt keywords
clean modern sans-serif typography
bold condensed sans-serif headline
elegant thin serif, luxury typography
handwritten script font, warm and personal
heavy geometric sans-serif, confident and bold
all-caps headline, wide letter spacing
Dark luxury perfume ad with 'RARE. REFINED. REAL.' set in a wide-tracked thin serif across a golden bottle on marble
A thin, wide-tracked serif says luxury before you read a word
Lifestyle skincare ad with 'REAL SKIN. REAL RESULTS.' set in a heavy condensed all-caps sans in the upper left
A heavy condensed sans says results and confidence instead

What you see: the headline reads and carries a personality - the spaced thin serif says luxury and restraint, where a bold condensed sans would have said confidence and results. The typeface is doing message work, not just legibility work.

Stage 3: Place the Text

Where the text sits is a composition decision - it should occupy the negative space the image left for it, never crossing the subject or fighting the focal point. This is where the text layer meets photo composition: the empty zone in the frame is where the text belongs.

Use
Any ad with both an image and a text element - the placement decides whether the layout reads clean or cluttered.
Avoid
The text is the entire creative (a pure-type ad) - then placement is the whole layout, handled differently.
Prompt keywords
headline placed in the upper third
text in the clean negative space on the left
CTA button centered at the bottom
headline in the top-left, product on the right
text occupying the empty upper area of the frame
Minimal serum ad with 'THE LAST SERUM YOU'LL EVER NEED.' set across the upper third and a small 'SHOP NOW' at the bottom
Headline in the upper third, product below - no overlap, no competition

What you see: the headline occupies the upper third, sitting in the clean negative space the composition left for it. The product sits below in its own zone. Nothing overlaps, nothing competes, and the ad reads in a clean top-to-bottom order.

Stage 4: Contrast the Text

Text is only legible if it separates from what's behind it. Dark text on a light zone, light text on a dark zone, or a subtle shadow or panel behind the text to lift it off a busy area. It's a legibility decision and a design one at once.

Use
Any text over an image where the background varies in brightness - which is most real ads.
Avoid
The text sits over a clean flat zone with obvious contrast already - no extra treatment needed.
Prompt keywords
white text on dark background zone
dark text on light background area
text with subtle drop shadow for legibility
text over a semi-transparent panel for contrast
high contrast text, clearly readable
Serum ad with white headline 'Skin that speaks for itself.' across a slightly darkened top band and a white 'Shop Now' at the bottom
The background dips just enough for the white type to separate cleanly
Lifestyle skincare ad with the white headline 'Finally. Skincare that works.' set over a darkened upper band of a warm living-room scene
A darkened band across a busy interior keeps the white type readable

What you see: the text sits over a slightly darker part of the background - just enough that the white type reads cleanly against it. The contrast is legible without being harsh, and the text separates from the image completely. Legibility and design solved in one move.

Stage 5: Size & Hierarchy

When the ad has multiple text elements - a headline, a subhead, a CTA - their relative size tells the eye what to read first. The headline is largest, the subhead smaller and supporting, the CTA small but visually distinct. Hierarchy is how a multi-element ad reads in the right order.

Use
Any ad with more than one text element - headline plus CTA, or headline plus subhead plus button.
Avoid
The ad has a single text element - then hierarchy isn't a factor.
Prompt keywords
large headline, small supporting subhead
oversized headline, minimal CTA below
headline dominant, subhead and CTA smaller
small distinct CTA button, large headline above
clear type hierarchy, headline to subhead to CTA
Skincare ad with a huge 'Glow starts here.' headline, a smaller subhead beneath and a small white 'Shop the range' button
Three elements, three sizes - the eye reads them in the intended order

What you see: three text elements at clearly different sizes - the headline dominates, the subhead supports, the CTA is small but distinct. The size relationships tell the eye the exact order to read them, so the ad reads as a sequence rather than a competing wall of type.

Visual Comparison: The Same Ad at Five Levels of Text Prompting

Watching the escalation is the fastest way to internalise it. Same base idea - a skincare product on a light surface - with the text prompt built up stage by stage.

Level 1 - text described loosely: a beautiful image where the model invents its own copy. Nothing was quoted, so the words are whatever the model felt like writing.

Luxury serum ad where the model invented its own gold serif headline and shop button without any quoted copy
No quoted copy - the model writes its own ad for you

Level 2 - text quoted exactly:

Serum ad with a legible gold serif headline and 'SHOP NOW' box, styling and placement still incidental
It reads - but the styling and placement are whatever the model chose

Level 3 - quoted + styled + placed:

The same serum ad with the headline reset in a clean modern sans and placed in the left negative space
The type has personality and the placement is deliberate

Level 4 - quoted + styled + placed + contrasted:

The same serum ad with white type on a darkened top band and a bottom CTA, fully separated from the background
The text is fully legible against the image - contrast solved

Level 5 - full text layer with hierarchy:

Finished serum ad with a bold all-caps headline, a smaller subhead and a pill 'SHOP NOW' button at clear relative sizes
Headline, subhead and CTA at clear relative sizes - a finished ad

Same base image, transformed entirely by how the text was prompted.

The Full Readable Text Stack

The text layer goes near the end of the prompt, after the image and composition are set:

Prompt keywords
Clean skincare product ad, a serum bottle on a soft white surface with
natural window light and a few dried botanicals, clean negative space in the
upper left of the frame, the headline "Your skin. Simplified." in an elegant
thin serif font placed in the upper-left negative space in dark charcoal
text with clear contrast against the light background, a small "SHOP NOW"
button in the lower area in a clean sans-serif, clear type hierarchy with the
headline dominant, photorealistic product photography, professional ad design

Quoted text, a styled font, a deliberate placement, solved contrast, and a size hierarchy - the full text layer built in one prompt. The result is a legible, designed ad, not a nice image with nonsense written on it.

Conclusion: Build the Text, Don't Hope for It

Four to lock in:

1. Quote it or lose it. The single rule that fixes gibberish: put the exact words in quotation marks. Describe text loosely and the model invents its own spelling.

2. Text is a design layer, not a caption. Style it, place it, contrast it, size it. Each stage moves the ad from "text appears" to "text is designed."

3. Placement is composition. Text belongs in the negative space the image left for it - never crossing the subject or fighting the focal point.

4. Contrast is legibility. Dark on light, light on dark, or a subtle panel behind. If the text doesn't separate from the background, none of the other stages matter.

The rule of thumb that opens the module: the model renders the shape of text, not the meaning of it - so it invents gibberish unless you quote the exact words. Quote the text, style it, place it, contrast it. Text is a layer you build, not a caption you hope the model spells right.

So the move: take an ad where the text came out as gibberish and regenerate it with the exact headline in quotation marks, a named font style, and a placement in the clean negative space. Same image. My bet is the words finally render legibly - because you stopped hoping and started quoting.

Related: negative prompting, ad layout compositions, and the full AI ad prompt library.

Steal my ad concept & hook library

Every prompt, archetype, and hook I use in my own accounts. Updated weekly.

Join the free Skool community