---
title: Get legible text and typography in images
display: 'Get legible *text* and typography in images'
nav_title: Text in images
summary:
  - "GPT Image 2.6 Sunburst spells a short name right most of the time: put each piece of text in quotes after \"reads exactly\", then read every letter."
  - "Already have the exact text, like a logo? Add it as a reference image and ask the model to paint it on your existing image."
  - "Let code set legal lines, prices, translations and text in video."
description: Prompt GPT Image 2.6 for legible text in a scene, put your own logo on an existing image with reference images, and set the type in code when the wording must be exact or change often.
section: images
order: 80
type: guide
level: Build
roles: [marketer, artist]
time: { read: 8, do: 15, wait: 1 }
needs: ["The exact wording, approved before you generate", "Any plan with credits for GPT Image 2.6 Sunburst"]
last_verified: 2026-11-11
models_checked: ["GPT Image 2.6 Sunburst", "Ideogram 4.5", "Ideogram 4.5 Precise Edit"]
hero: images/text-and-typography-in-images/liseron-cart-text-to-image.webp
video: tutorials/text-and-typography-in-images.mp4
video_caption: Text in images
about: "The best image models now spell short text right most of the time. In this lesson, GPT Image 2.6 Sunburst paints a perfumer's name on the side of a delivery cart from the prompt alone. Then, with a logo that already exists, it paints that exact logo onto a cart with no lettering, using reference images. The models and prices in this lesson are as of November 2026."
chapters:
  - { at: 0, title: "Prompt", image: "/media/images/images/text-and-typography-in-images/ch-01-prompt.webp" }
  - { at: 41.93, title: "Use your logo", image: "/media/images/images/text-and-typography-in-images/ch-02-use-your-logo.webp" }
related: [prompt-images, key-art-and-store-assets, presenter-video-with-avatar, image-models-guide]
thumb: images/text-and-typography-in-images/thumb.webp
steps:
  - title: "Pick the model and describe the scene"
    text: "Create › Images, Model › GPT Image 2.6 Sunburst. In Prompt, describe the scene first: the kind of image, the setting, the light and the subject."
  - title: "Write the text exactly"
    text: "End the prompt with the lettering: each piece of text in quotes after \"reads exactly\", how it looks and where it sits, then \"no other text\" with the places stray text could appear."
    prompt: |-
      On the side of the box, hand-painted lettering in a bold ivory brush script with a long swash, a burgundy shadow and a gold inline reads exactly "Liseron", and the small spaced capitals below it read exactly "PARFUMEUR", with no other text anywhere: no road signs, no number plate, no markings
  - title: "Generate and read every letter"
    text: "Click Generate, then zoom in and read each word letter by letter, with the same capitals and punctuation, and check there is no other text."
  - title: "Add your image and your logo as references"
    text: "Reference Images: image 1 is the cart without lettering, image 2 the logo, in that order, since the prompt names them by number."
  - title: "Ask for the logo, keep the rest"
    text: "Keep GPT Image 2.6 Sunburst, Image Count 1, Width 2048, Height 1152, Output Format PNG, Quality High, and click Generate."
    prompt: |-
      Paint the logo from image 2 on the side panel of the cart in image 1, as hand-painted sign-writing that follows the panel's angle. Keep every letter, the swash and the colours of the logo exactly as in image 2. Keep everything else in image 1 exactly the same. No other text.
  - title: "Check the logo letter for letter"
    text: "Compare the result with the logo itself: letter shapes, swash, colors and spacing. Then check the driver, the road and the light in image 1 didn't change."
agent_steps:
  - title: "Connect the Scenario MCP"
    text: "Connect your agent and sign in once at [mcp.scenario.com](https://mcp.scenario.com). Then tell it which Scenario team and project to use, so every file lands there."
  - title: "Give the agent the files"
    text: "Nothing for the first route: the text is in the prompt. For the logo route, the cart with no lettering and the logo; upload them with upload_asset or give their asset IDs, cart first."
  - title: "Brief the agent: text in the prompt"
    text: "The article shows only the lettering part of the prompt; write your own scene first and keep the lettering part word for word at the end."
    prompt: |-
      Use GPT Image 2.6 Sunburst (model_openai-gpt-image-2-6-sunburst) and read its parameters with model_schema_get. Width 2048, height 1152, quality high, one image. No reference. Quote the cost with a dry run first and wait for my go.

      The prompt is my scene description, then this ending, word for word:
      Scene: [a tracking shot of a green delivery cart with a box on the back on a mountain road at golden hour, and its driver]
      Ending:
      On the side of the box, hand-painted lettering in a bold ivory brush script with a long swash, a burgundy shadow and a gold inline reads exactly "Liseron", and the small spaced capitals below it read exactly "PARFUMEUR", with no other text anywhere: no road signs, no number plate, no markings
  - title: "Brief the agent: your logo as a reference"
    prompt: |-
      Same model and settings, output PNG. referenceImages is an array with the cart first and the logo second. Quote the cost with a dry run first and wait for my go.

      Prompt, word for word:
      Paint the logo from image 2 on the side panel of the cart in image 1, as hand-painted sign-writing that follows the panel's angle. Keep every letter, the swash and the colours of the logo exactly as in image 2. Keep everything else in image 1 exactly the same. No other text.
  - title: "Check and redo"
    text: "Accept when every word reads exactly as in the prompt or the logo, letter for letter with the same case, the lettering follows the surface, and there is no other text anywhere. Reject a missing, doubled or swapped letter, a changed case, invented text on signs or plates, or a changed logo."
    prompt: |-
      Crop the lettering of each result at full size and show it next to the text I asked for and next to the logo. Spell out what you read, letter by letter, and list any other text in the image. Redo a failed take once with the same prompt; if it fails again, tell me so I can shorten the text.
  - title: "File the results and report"
    prompt: |-
      Create a collection called "Cart lettering" with the kept results and the logo. Report each asset ID with its model and the total cost spent.
updated: 2026-11-11
canonical: https://learn.scenario.com/images/text-and-typography-in-images
---

Last updated: 2026-11-11

# Get legible text and typography in images

> Prompt GPT Image 2.6 for legible text in a scene, put your own logo on an existing image with reference images, and set the type in code when the wording must be exact or change often.

In short:

- GPT Image 2.6 Sunburst spells a short name right most of the time: put each piece of text in quotes after "reads exactly", then read every letter.
- Already have the exact text, like a logo? Add it as a reference image and ask the model to paint it on your existing image.
- Let code set legal lines, prices, translations and text in video.


The best image models now spell short text right most of the time. In this lesson, GPT Image 2.6 Sunburst paints a perfumer's name on the side of a delivery cart from the prompt alone. Then, with a logo that already exists, it paints that exact logo onto a cart with no lettering, using reference images.

:::note As of November 2026
The models, settings and prices in this article are the ones Scenario offered in November 2026. New models and updates arrive often, so check the model library for newer options before you choose.
:::

:::steps Quick version
1. Pick **GPT Image 2.6 Sunburst** and describe the scene.
2. Put each piece of text in quotes after "reads exactly", typed just as it should appear. Say how it looks and where it sits.
3. End with "no other text", and name the places stray text could appear. Click **Generate**.
4. Zoom in and read every letter.
5. To use your own logo, add the image and the logo under **Reference Images**, and ask the model to paint the logo from image 2 on image 1.
:::

## Before you start

- **Approve the wording first.** The model paints exactly what you type, typos included. Get the text signed off before you generate, not after.
- **Keep it short.** A name, a title, a short tagline. The more words, the more chances one comes out wrong. Long copy, small print and anything legal belongs in a layout tool (see [Set the text in code](#set-the-text-in-code)).
- **Know your two routes.** If the text doesn't exist yet as artwork, write it in the prompt (Steps 1 to 3). If you already have the exact lettering, like a logo, give it to the model as a reference image (Steps 4 to 6).
- **Where it lives.** Both routes use the image generation panel, under **Create**. The cost of each run shows on the **Generate** button.

## Step 1: Pick the model and describe the scene

Under **Model**, pick **GPT Image 2.6 Sunburst**. In **Prompt**, describe the scene first: the kind of image, the setting, the light, the subject. The film's prompt starts with the camera and the place (a tracking shot on a mountain road at golden hour), then the cart and its driver.

![GPT Image 2.6 Sunburst picked, with the start of the scene prompt in the Prompt box](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/088f5d9804563848928ab053b2dcee833b2f7fabf87e8846b9eaf4c440e01019.webp)

## Step 2: Write the text exactly

The lettering goes at the end of the prompt. This is the part of the film's prompt that sets it, word for word:

```text
On the side of the box, hand-painted lettering in a bold ivory brush script with a long swash, a burgundy shadow and a gold inline reads exactly "Liseron", and the small spaced capitals below it read exactly "PARFUMEUR", with no other text anywhere: no road signs, no number plate, no markings
```

![The end of the prompt, with "Liseron" and "PARFUMEUR" in quotes after "reads exactly"](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/ef2f82cc44052aef460781dbe24e1365b01a4eb8caa704020bdf15b803da7163.webp)

Three rules make it work:

- **Put each piece of text after "reads exactly", in quotes, typed just as it should appear.** The model copies what's between the quotes. Capitals, and even a full stop, show up in the picture. "Liseron" comes out in upper and lower case; "PARFUMEUR" in capitals.
- **Say how it looks and where it sits.** Name the surface ("on the side of the box"), the style ("a bold ivory brush script with a long swash"), the details ("a burgundy shadow and a gold inline") and how the lines relate ("the small spaced capitals below it"). Keep the words themselves short.
- **End with "no other text", and name the places it could appear.** Models like to add text: road signs, number plates, labels. Listing them ("no road signs, no number plate, no markings") keeps the picture clean, so the only words in it are yours.

## Step 3: Generate and read every letter

Click **Generate**. The result opens in the viewer.

![The green delivery cart on the mountain road, with "Liseron" in ivory brush script and "PARFUMEUR" below it](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/2cb8a1f7e0a35c89aa39ca0e44b81597a2e9c313eab70fe59d948611ce6bd97c.webp)

Don't judge the text at the size the viewer opens at. Zoom in and read each word, letter by letter. Here both are right.

![Close-up of the lettering: "Liseron" with its swash, and "PARFUMEUR" in spaced capitals](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/3abdcd3d9009e29e587cee93dd5ed2c062f117c931017a7257e7bd538528f01e.webp)

:::check
**Accept when:** every word reads exactly as in the prompt, letter for letter, with the same capitals and punctuation; the lettering sits where you asked and follows the surface; and there is no other text anywhere in the image.
**Reject when:** a letter is missing, doubled or swapped, the case changed, a word you didn't ask for appeared (a sign, a label, a plate), or the lettering floats instead of sitting on the surface. Generate again, or shorten the text.
:::

## Step 4: Add your image and your logo as references

If you already have the exact text, like a logo, and want it on an existing image, don't retype it: add it as a reference.

Open **Reference Images** and add two images, in this order:

1. **Image 1:** the cart without lettering, the image you want to keep.
2. **Image 2:** the logo.

You can drag and drop or paste them, choose them with **Select from Library**, or **Upload** them. Each one also appears as a chip under the prompt (**@im...**), so you can point to it.

![Reference Images with the plain cart as image 1 and the Liseron logo as image 2](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/cc16e06993628e98e496e0632978dacdfa05c0b222ae040bfd432588f1e0bd90.webp)

:::compare
![The green delivery cart with a plain side panel and no lettering](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/7fd52e5e5b797a1d90023edc892172e7ad219666b1bd406ba220a1391673f6e8.webp "Image 1: the cart")
![The Liseron logo: ivory script with a red swash and PARFUMEUR below, on a dark background](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/a191c912956f468d15c086ae9252fee6267405ef6ca7d6c79330eb07e3aa09b2.webp "Image 2: the logo")
:::

The order matters: the prompt calls them image 1 and image 2.

## Step 5: Ask for the logo, keep the rest

Keep **GPT Image 2.6 Sunburst**. In **Prompt**, ask the model to paint the logo from image 2 on the cart, and to keep everything else the same. The film's prompt:

```text
Paint the logo from image 2 on the side panel of the cart in image 1, as hand-painted sign-writing that follows the panel's angle. Keep every letter, the swash and the colours of the logo exactly as in image 2. Keep everything else in image 1 exactly the same. No other text.
```

![The logo prompt in the Prompt box, with the two image chips below it](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/0dba9bb98998135cc417c1c2e5345d0175156b3bf329b4230bb26ee112ead19c.webp)

The prompt does four things: it says where the logo goes and how it's applied ("follows the panel's angle"), what must not change in the logo (every letter, the swash, the colors), what must not change in the image, and that no other text should appear.

Click **Generate**. In the film, this ran with **Image Count** 1, **Width** 2,048, **Height** 1,152, **Output Format** PNG and **Quality** High.

## Step 6: Check the logo letter for letter

The logo is on the cart, letter for letter, following the panel.

:::compare
![The cart before, with a plain side panel](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/7fd52e5e5b797a1d90023edc892172e7ad219666b1bd406ba220a1391673f6e8.webp "Before")
![The same cart with the Liseron logo painted on the side panel](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/de8955a8a259d6338342bb4fa8b66f1f616948461281ff68254ecfa106db7112.webp "After, logo from image 2")
:::

Compare it with the logo, not with your memory of it: the letter shapes, the swash, the colors, the spacing of the capitals. Then check that the rest of image 1 (the driver, the road, the light) didn't change.

## Which route to use

| You have | Use | Why |
|---|---|---|
| Short new text: a name, a title, a tagline | The text in the prompt (Steps 1 to 3) | Fast, and the lettering is drawn into the scene with its light and surface |
| Exact lettering that already exists: a logo, a wordmark | The lettering as a reference image (Steps 4 to 6) | The model copies the artwork instead of redrawing it from words |
| Long copy, small print, legal lines, prices, translations, text in video | Set it in code or a layout tool | It must be exact, and it changes often |

### Models for text

| Model | Good for | Notes |
|---|---|---|
| **GPT Image 2.6 Sunburst** | Lettering in a scene, and editing with reference images | The model used in this lesson. Use **Quality** High when the image has small text |
| **Ideogram 4.5** | Text-first designs: posters, logos, menus, packaging, app screens, signage | Write every piece of text in quotes with where it sits and how it looks. Turn Magic Prompt off when wording and numbers must be followed word for word |
| **Ideogram 4.5 Precise Edit** | Changing the text on an existing image and nothing else | Write the edit first, then list everything that must stay unchanged |

Whatever the model, read every letter. A text-first model can still add lettering you didn't ask for. On this poster, Ideogram 4.5 got the title and tagline right, and filled the neon sign in the background with invented letters:

:::compare
![A burger poster titled EMBER & BUN, LATE NIGHT GRILL - OPEN TILL 2 AM, made with GPT Image 2.5 Sunburst](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/38e193d43e15b9a1fc3c363db4bbd57f93474a3524a8bc3e98460b468b1bac4c.webp "GPT Image 2.5 Sunburst")
![A poster with the same title and tagline as a flat illustration, made with Ideogram 4.5](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/de25cb88f3860dca2354498475a57dd5143b6a46ed60a924684822731de6b8f5.webp "Ideogram 4.5")
:::

![Close-up of the Ideogram 4.5 poster: the neon sign shows invented letters](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/c124d63c12aed40a17b265dc8fd69b734037805eff59b52ef9f0aa6b957fcdea.webp)

That's why the prompt in Step 2 ends with "no other text" and names the places it could appear.

## Set the text in code

When the wording must be exact, is long, or changes often, don't ask the model for it. Generate the image with no text and leave room for it, then set the type on top in your layout tool or in code. This is the right route for:

- legal lines, small print and prices;
- translations, where one image needs the same layout in several languages;
- text in video, which a video model can redraw or warp from frame to frame;
- anything that changes often, like a date or an offer.

:::compare
![The burger poster image generated with no text, with dark space at the top](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/cf194bd1a024f02ef16caefb4d4f030734345b2109dd2bde47906a0b66840f1e.webp "Generated with no text")
![The same image with EMBER & BUN and LATE NIGHT GRILL - OPEN TILL 2 AM set on top in code](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/87379a4a5f4c5bda4de80bafb05a0f9532b53c445ac1cb0e38cbdd30c0152e2e.webp "Title set in code")
:::

To leave room, ask for it in the prompt (for example, an empty dark area at the top) and add "no text" so the model doesn't fill it.

## Common problems

| What you see | What to do |
|---|---|
| A letter is missing, doubled or swapped | Shorten the text, put it in quotes after "reads exactly", and generate again |
| The capitals came out wrong | Type the text in quotes exactly as it should appear: the model copies the case |
| Extra words appeared on signs, labels or plates | End the prompt with "no other text" and name each place it could appear |
| The lettering looks pasted on, not painted | Name the surface and the technique ("hand-painted on the side of the box") and ask it to follow the surface's angle |
| The logo changed shape or color | Use the logo as a reference image and say "keep every letter, the swash and the colors exactly as in image 2" |
| The rest of the image changed when adding the logo | Add "keep everything else in image 1 exactly the same", and check that the image to keep is image 1 |
| Small text is blurry | Use **Quality** High, keep the text larger in the frame, or set it in code |
| The text must be long, legal or translated | Generate with no text and set it in code |

## What's next

Text is one part of a good prompt: [Prompt images](https://learn.scenario.com/methods/prompt-images.md) covers the rest, from subject to constraints. To put lettering to work in a full campaign, see [Key art and store assets](https://learn.scenario.com/playbooks/key-art-and-store-assets.md). Next in this course, [Live generation](https://learn.scenario.com/images/live-generation.md) shows how to sketch on a canvas and watch a model render it as you draw.

Source: https://learn.scenario.com/images/text-and-typography-in-images
