Accented letters in AI image text: a proof list for Spanish and French

Headlines with é, ñ, ü or ¿ can come back with a wrong accent. Test two Sume models on your real copy, then check every mark against a proof list.

5 min readSume
All posts

If your headline has accents, such as the é in Café, the ñ in Año Nuevo or the opening ¿, test it on the exact model and quality you plan to use, and proofread every mark in the output. Sume cannot promise how any model draws a given character, so the safe routine is to put the copy in quotation marks, generate it on two models, and check the result against a proof list before it goes live.

Ideogram's page on fal describes Ideogram 4.5 as a model for posters and logos with accurate text rendering (read 2026-10-06, fal). GPT Image 2.5 is listed there as OpenAI's default image model for complex layouts (read 2026-10-06, fal). Neither page makes a claim about accented letters, so none is made here; the test below is how you find out.

What to check, character by character

Pick the words in your real copy that have marks, and build a small test set from them. Use real headlines, not made-up ones, since the length and the neighbouring letters change the result.

Marks to include in a text test, read 2026-10-06
LanguageMarksExample headline to test
Spanishñ, á, é, í, ó, ú, ¿, ¡¿Listo para el Año Nuevo?
Frenché, è, ê, à, ç, œ, « »Café de la Côte, ouvert dès 7 h
Germanä, ö, ü, ßFrühstück für Groß und Klein
Portugueseã, õ, ç, áPromoção de Verão

The test script

The script sends the same quoted line to two Sume models and prints each URL and its billed cost. Open them side by side and tick the proof list. Use the same ratio for both so the layout is comparable.

import os
import requests

HEADERS = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
LINE = "¿Listo para el Año Nuevo?"
MODELS = ("ideogram/ideogram-v4.5", "openai/gpt-image-2.5")

for model in MODELS:
    body = {
        "model": model,
        "prompt": f'A festive poster with the headline "{LINE}" in large, '
        "clear lettering on a deep blue background. No other text.",
        "aspect_ratio": "3:4",
        "quality": "medium",
    }
    r = requests.post("https://api.sume.com/v1/images", headers=HEADERS, json=body, timeout=60)
    if r.status_code == 200:
        d = r.json()
        print(model, d["usage"]["cost"], d["data"][0]["url"])
    else:
        print(model, r.status_code, r.text[:200])

A proof list you can reuse

Keep this list next to every foreign-language image and tick each line off before publishing. It takes two minutes and catches the errors a spell checker never sees, because the checker never looks at pixels.

  • Each accented letter is present and the accent points the right way.
  • No accent has been moved onto a neighbouring letter.
  • Opening marks such as the Spanish inverted question mark and exclamation mark are there.
  • Capital letters keep their accents where your language requires them.
  • Hyphens, apostrophes and quotation marks are the ones you typed, not look-alikes.
  • Nothing extra appears: no extra word, no half-rendered second line.

What it costs to test

A test of two models on three headlines is six generations. At Ideogram 4.5 medium that is three images at $0.075 billed each, and the GPT Image 2.5 side depends on its quality and size, so read the endpoint pricing line first. Run the test once, record which model got your accents right at the sizes you use, and keep that note with your brand assets. Repeat it when either model changes, because a result from last month is not a promise about next month.

Record the result

Write down what you found: the model, the quality tier, the ratio, the exact headline and whether each mark passed. A short table in your team wiki is enough. When a teammate later asks which model to use for the Spanish campaign, the answer is a lookup, not a new experiment.

Also decide in advance what happens on a failure. A sensible rule is two tries with a firmer prompt, then fall back to adding the text in code. That keeps a single stubborn headline from eating a day of generations, and it keeps the cost of a bad run bounded.

If a mark is wrong

Do not regenerate blindly. A small error is cheaper to fix with an edit call that quotes the old text and the new text, as shown in Fix one typo in an AI-generated image. If an edit does not fix it after one or two tries, remove the text from the art and add it in code with a real font; a font file always has the right glyphs.

Text length matters too. Translations are often longer than the English original and can wrap or shrink; Translated text in an image runs longer covers that.

Sources

Related posts

More in Models

All Models posts

Written by Sume