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.

5 min readSume
All posts

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.

Headline prompt parts (OpenAI and fal guidance, read 2026-10-02)
PartExample
Exact wordsThe headline reads "Cold brew, ready in 5" in double quotes.
PositionTop third, left aligned, 10% margin.
Type styleBold sans-serif, white on a dark background.
SceneA 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

Related posts

More in Use cases

All Use cases posts

Written by Sume