GPT Image 2.5 ad headline text: quote the copy, test medium vs high
For an ad still with a headline, quote the exact words, state position and type style, and render at medium and high to compare. A Sume script and its cost.

To get an exact headline in a GPT Image 2.5 ad still, put the words in quotes in the prompt, say where they sit and what the type looks like, then render the same prompt at medium and high quality and read the small text at full size. That is the workflow OpenAI's and fal's guides describe, and it takes two calls on Sume.
Sources: OpenAI's Image prompting guide and fal's How To Use GPT Image 2.5, both read on 2026-10-02, and Sume's Image API page for the request fields.
What do the guides say about exact text?
OpenAI's guide says to put required wording in quotes and describe its position and typography, and to check spelling and legibility in the output. fal's guide adds two habits: lock the quoted copy before the first serious render, and request small type comparisons at medium versus high quality when legibility matters.
Neither guide claims the model never misspells. The checking step is part of the method. For the wider list of models Sume has that handle text, see which Sume models to try for readable text.
How do I write the prompt?
Use three parts: the exact words, their position, and the type style. Keep the headline short, because fewer characters leave less room for error. Write the same sentence for every test run so that quality is the only variable.
| Part | Example |
|---|---|
| Exact words | The headline reads "Cold brew, ready in 5" in double quotes. |
| Position | Top third, left aligned, 10% margin. |
| Type style | Bold sans-serif, white on a dark background. |
| Scene | A can on a wet slate table, soft side light. |
How do I compare medium and high on Sume?
This script sends the identical prompt at two quality levels and prints each image URL and its usage.cost. quality accepts auto, low, medium, high, xhigh and max, and an omitted value defaults to high. It needs pip install requests.
import os, requests
PROMPT = ('A cold brew can on a wet slate table, soft side light. '
'Headline text reads "Cold brew, ready in 5", top third, '
'left aligned, bold white sans-serif.')
for quality in ("medium", "high"):
r = requests.post(
"https://api.sume.com/v1/images",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
json={"model": "openai/gpt-image-2.5", "prompt": PROMPT,
"quality": quality, "aspect_ratio": "4:5"},
timeout=60,
)
r.raise_for_status()
body = r.json()
print(quality, body["data"][0]["url"], "cost", body["usage"]["cost"])What does the quality step cost?
Sume's docs give the output estimate at 1024×1024: xhigh is $0.09366 and max is $0.21072 before input tokens and Sume pricing. fal's guide lists low at $0.00588 and high at $0.05268 for the same size. So high costs about nine times low before anything else is added, which is why the test is two calls and not ten. Your own usage.cost is the number that matters, because it includes Sume's pricing.
If a call runs past the 30-second blocking budget, Sume answers 202 with a job envelope and you fetch the image from the job result; check the status code, not the body shape.
What if the text is still wrong?
Shorten the headline, increase the type size in the prompt, and run again. A completed image is billed even when a letter is wrong, whereas a failed generation is not. Sume does not run an OCR check for you, so read the result, or add your own check before publishing.
What is a sensible routine for a batch of ad stills?
Fix the copy first, as fal's guide advises, then run one pair at medium and high on the longest headline in the set. If medium reads cleanly, use it for the rest and save the difference; if only high does, use high for every still that carries small type.
Keep a text file of the exact strings you quoted so the check is a comparison, not a guess. When the copy is legally sensitive, such as prices or claims, treat the render as a draft and verify the words against your approved text before publishing.
Sources
- Image API
- Image prompting (OpenAI, read 2026-10-02)
- [How To Use GPT Image 2.5: Prompts & Workflows [2026] (fal, read 2026-10-02)](https://fal.ai/learn/tools/how-to-use-gpt-image-2-5)
Related posts
More in Use cases
- Ad still from a packshot: tell GPT Image 2.5 what must not move
Turn a product packshot into an ad still with GPT Image 2.5 by listing what must not move: shape, colour, label text. A Sume request and a checklist.
- Keep the same face in a GPT Image 2.5 edit: the prompt block to use
To keep a person recognisable in a GPT Image 2.5 edit, send the photo as a reference and spell out what must not change. The exact wording and a Sume call.
- Halloween product teaser: a 15-second vertical clip from one still
Make a 15-second Halloween teaser for a product with Seedance 2.5 on Sume: first-frame still, 9:16 at 720p, native audio, and how to read the price first.
- Halloween narrator voiceover with spooky music for a video
Make a Halloween story video audio track: a slow narrator from Sume TTS, an instrumental horror bed from the music router, mixed with ducking in Timeline 1.0.
Written by Sume