Ideogram material swap API: 4 masks vs Sume's one mask_url
Ideogram's material-swap tool takes up to 4 masks and material images. Sume's images API has one optional mask_url plus up to 16 references.

Ideogram's POST /v2/tool/material-swap is a dedicated tool: one product photo, up to 4 masks and the material images to apply. Sume's images API has no such tool. It has one optional mask_url on ChatGPT Image 2.5 edits, plus up to 16 image references and a prompt, so a 4-region swap becomes a prompt that names each region.
Ideogram facts are from its API reference and Sume facts from Image generation, both read 2026-10-01.
What does Ideogram's material swap accept?
The endpoint is multipart. image is required (max 25MB); masks holds up to 4 files, each with the same pixel dimensions as the photo; materials holds reference images whose color, texture, pattern scale and orientation are applied to the masked regions, paired by position. It returns a generation_id to poll, or delivers to a webhook_url.
What does Sume offer instead?
| Need | Ideogram material-swap | Sume POST /v1/images |
|---|---|---|
| Masks | Up to 4 masks files | One optional mask_url (public HTTPS), ChatGPT Image 2.5 edits |
| Material images | materials, one per mask | Up to 16 image references on ChatGPT Image 2.5 |
| Region-to-material pairing | By position | Not a parameter; describe it in the prompt |
| Result | Poll generation_id or webhook | data[].url, Sume-hosted and signed |
How do I do a multi-region swap on Sume?
Send the product photo and the material images as input_references, set mask_url to one mask that covers the regions you want changed, and say in the prompt which material goes where. Treat the pairing as a prompt instruction, not a guarantee: the docs define no per-mask pairing. For edits, the docs also say to prefer aspect_ratio: "auto" to match the reference, and note that omitting the field is not the same as auto.
If you need strict one-mask-one-material control, run one edit per region and feed each result into the next. Compare that against Ideogram 4.5 precise edit limits if you are weighing masks.
What happens if I send a parameter Sume does not list?
It is rejected, not dropped. The docs say a request that sets a parameter the selected model does not list is rejected with 400 unsupported_parameter. Read the model's capability descriptors from GET /v1/images/models first, since mask_url is documented for ChatGPT Image 2.5 only.
Sources
Related posts
More in Developers
- Ideogram API seed for repeatable results vs Sume's 400
Ideogram endpoints take an optional seed for repeatable results. Sume's image schema has seed, but no model advertises it, so it returns 400.
- Edits 15-minute export vs Sume's 900-second trim and detach cap
Edits now exports up to 15 minutes on iOS. Sume trim and audio detach also top out at 900 seconds of output, from a source up to 1800 seconds.
- Edits compare 3 reels: read the clips with Sume video inspect
Instagram Edits compares up to 3 reels by views and watch time. Sume video inspect adds what the clips contain: probe facts, stills and an optional transcript.
- Instagram Edits in/out effects vs Sume timeline transitions
Edits adds 15 in and out effects on iOS. A Sume timeline compiles six transition types, capped at 1 second and 50% of the shorter neighbour.
Written by Sume