Ideogram ad localizer API: exact_copy vs a Sume edit prompt
Ideogram's ad-localizer takes one language per call and an exact_copy mapping. On Sume you send the ad as a reference and spell out the copy in the prompt.

Ideogram's POST /v2/tool/ad-localizer rebuilds an ad in one target language, and exact_copy pins wording with one original => replacement mapping per line. Sume has no localizer tool or exact_copy field: you send the ad in input_references, write the replacement text in the prompt, and make one call per language.
Ideogram facts are from its API reference; Sume facts from Image generation, read 2026-10-01.
What does the localizer do?
The source ad goes in as image (max 25MB). Layout, logos, brand type and product are preserved, so no size is needed. language is required and each request covers one language. Without exact_copy, all visible marketing copy is translated; with it, listed elements are set character for character and unlisted ones stay as in the source. An optional prompt can add direction such as keeping a badge in English.
How do the controls compare?
| Control | Ideogram ad-localizer | Sume POST /v1/images |
|---|---|---|
| Source ad | image file | input_references (up to 16 on GPT Image 2.5) |
| Target language | language enum, one per request | In the prompt; one call per language |
| Fixed wording | exact_copy mapping lines | Quote the exact strings in the prompt |
| Variations | num_images | n up to 10 |
| Provider options | Not applicable | None: passthrough list is empty in v1 |
How do I write the prompt?
List each line the way exact_copy would: the original text, then the replacement, one per line, and tell the model to leave everything else unchanged. Set aspect_ratio: "auto" so the output matches the source ad. Sume does not enforce character-for-character placement, so check every output for typos before shipping.
For single-string fixes rather than a full rebuild, see changing text in an image.
Can I pass provider-specific options?
No. The docs say allowed_passthrough_parameters is empty for every endpoint in v1, so provider.options must be omitted or empty.
Sources
Related posts
More in Developers
- Ideogram async generation_id polling vs Sume's 202 job envelope
Ideogram returns images directly unless async or webhook_url is set, then you poll /v2/generations. Sume blocks up to 30s, then returns a 202 job.
- Ideogram API image URLs expire: download, or use Sume URLs
Ideogram's quickstart says image URLs expire, so download what you keep. Sume returns Sume-hosted signed URLs in data[].url. Where each result lives.
- Ideogram layerize API: text blocks vs Sume's flat image
Ideogram layerize returns positioned text blocks plus a text-free base. Sume's images API returns flat Sume-hosted signed URLs, with no layer output.
- Ideogram magic_prompt off and JSON prompts vs Sume passthrough
Ideogram 4.0 magic_prompt auto, on or off controls prompt rewriting. Sume has no passthrough parameters in v1, so that switch is rejected.
Written by Sume