Translate text in an image but keep brand names: the edit prompt
A prompt pattern for translating the words in an image on Sume while leaving brand names, prices and codes alone, with an Ideogram 4.5 request.

To translate text in an image and leave brand names untouched, list the protected strings in the prompt by name and say that everything else keeps its position, size and style. An image edit model does not have a glossary feature in the Sume Image API. Your prompt is the glossary.
Morphic's Ideogram 4.5 page, a partner page and not the vendor (read 2026-10-05), says the model translates text in an image and copies unchanged pixels from the source. Ideogram's launch post (read 2026-10-05) calls 4.5 the most precise edit model. Both are claims. A protected-names list is how you test them.
The prompt pattern
Four parts, in this order:
- The action: "Translate all visible text from English to Portuguese."
- The protected list: "Do not translate or change: Sume, Aurora Roast, SKU 4471, 12 oz."
- The numbers rule: "Keep all prices, dates and numbers exactly as they are."
- The preservation rule: "Keep layout, fonts, colors and the photo identical."
Build the protected list from your data
Do not type the list by hand for every image. Keep one list per brand in a file: product names, line names, trademarked terms, units, model numbers, and any word that is the same in every market. Generate the prompt from it. A short function that joins the list into the "do not translate" sentence removes a class of typos and keeps all images consistent.
When a new product launches, add its name to the list before you translate any image that shows it. A missing name is the usual reason a brand word gets translated.
When the model still changes a protected word
It can happen. Re-run from the original with the protected word moved to the start of the prompt, and add it to the preservation rule. If it still changes, make the edit in two parts: translate everything, then run a second edit that restores the one word to its original spelling, using the original image as a second reference. Each of those is a separate billed edit, so weigh it against fixing the word in a design tool. For one or two words, the design tool is usually quicker.
The request
Send the original image as the first reference. Leave out aspect_ratio: the Sume docs say an edit without it keeps the source shape.
curl -X POST https://api.sume.com/v1/images \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: label-pt-001" \
-d '{
"model": "ideogram/ideogram-v4.5",
"quality": "medium",
"prompt": "Translate all visible text from English to Portuguese. Do not translate or change: Aurora Roast, 12 oz. Keep prices and numbers exactly. Keep layout, fonts and colors identical.",
"input_references": [
{"type": "image_url", "image_url": {"url": "https://example.com/label-en.png"}}
]
}'Check the output
Open the result next to the original and read three things. First, every protected string must be unchanged, letter for letter. Second, every number must match. Third, no new text may appear in blank areas. If a protected name was translated, put it first in the list and repeat it once in the preservation rule, then run the call again as a new request with a new Idempotency-Key.
Each completed run is one billed image; failed or cancelled runs are not billed, per the Image API docs. For several languages, send one call per language from the original image, not a chain.
Treat the protected list as part of your content, not part of your code. A marketing owner should be able to add a name without a deploy. Store it next to the image assets, review it when a product is renamed, and log which list version each translated image used. When a market complains about a wrong word, that log tells you whether the list or the model was at fault. Keep the scope of this advice in view. It rests on the Sume docs and the vendor pages named in the sources, read on 2026-10-05, and on nothing measured by Sume. Where a behavior depends on your own images, such as how a model redraws a certain typeface, run a small pilot at the low quality tier and judge the result yourself before you plan a batch. Write down the prompt, the model id and the quality tier you used, so the run can be repeated. When the catalog or the docs change, re-read them; the live catalog is the contract, and a post is only a snapshot of it.
Sources
Related posts
More in Models
- Turkish TTS API: MAI-Voice-2.1 tr-TR vs Sume tr, and the dotted I bug
Turkish is on MAI-Voice-2.1 (tr-TR) and in Sume's voice tags (tr). Upper-casing a script in code turns i into I; the failure and a one-cent test to catch it.
- /v1/videos audio_url references: Seedance 2 yes, Omni and Kling no
Only models whose supported_input_references lists audio_url take audio references on Sume: Seedance 2.x, Wan 3.0 and MiniMax H3 yes; Omni and Kling no.
- Veo 3.1 1080p needs 8 seconds; Omni on Sume does 3 to 10 at 1080p
Veo 3.1 only renders 1080p and 4K at 8 seconds. Sume's Omni row takes any length from 3 to 10 seconds at 1080p, so a 5-second clip costs $0.94 billed.
- Veo 3.1 preview ids shut down October 22: a swap checklist
Three Veo 3.1 preview ids end on October 22, 2026, and Google points to gemini-omni-1.1-flash. A request translator and the Sume model id for the same family.
Written by Sume