Which Sume image models take no output_format? Soul and Ideogram 4.5
Soul and Ideogram 4.5 publish an empty output_format list on Sume: omit the field. Recraft V4 lists webp only; the other 16 rows take png, jpeg and webp.

Two Sume image models list an empty output_format enum: Soul (higgsfield/soul) and Ideogram 4.5 (ideogram/ideogram-v4.5), read 2026-10-03. The provider picks the file type for both, so you leave output_format out of the request. A third row, Recraft V4, lists webp as its only value. The other sixteen rows (both ChatGPT Image 2.5 ids included) list png, jpeg and webp.
The Image API page says a request that sets a parameter the selected model does not list is rejected with 400 unsupported_parameter rather than silently dropped. For a model whose descriptor is an empty list there is no valid value to send.
What each group accepts
Count taken from the catalog descriptors.
| Group | Models | What to send |
|---|---|---|
| Empty list | Soul, Ideogram 4.5 | Omit output_format; the provider chooses (the Soul description says PNG) |
webp only | Recraft V4 | webp or omit |
png, jpeg, webp | ChatGPT Image 2 and 2.5 (both ids), Nano Banana 2 and Pro, Seedream 5.0 Lite, 4.5 and 4.0, Grok Imagine, Qwen Image and Max, Imagen 4 Fast and Ultra, Flux 2 Pro and Flex, Ideogram V3 | Any of the three |
Read the descriptor instead of hard-coding
A client that sets output_format by default breaks on the empty-list models. The safer pattern is to ask the catalog and send the field only when its list is not empty and contains your choice.
import os
import requests
headers = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
models = requests.get("https://api.sume.com/v1/images/models", headers=headers, timeout=30).json()["data"]
wanted = "webp"
for m in models:
allowed = m["supported_parameters"]["output_format"]["values"]
ok = "send it" if wanted in allowed else "omit it"
print(m["id"], ok)What about compression and transparency
output_compression is in the schema but no model advertises it, so it returns 400 for everyone. Transparent stills come from background: "transparent" on ChatGPT Image 2.5, not from picking a format. If you need a specific file type from Soul or Ideogram 4.5, convert after download, for example with Pillow.
Sources
Related posts
More in Developers
- Image retry returns 409 idempotency_conflict: new key per payload
A 409 idempotency_conflict on a Sume image job means the same Idempotency-Key was reused with a different payload. Derive the key from the payload in Python.
- Image-to-image strength or denoise: no field on Sume, do this
No strength, denoise or seed field exists on Sume's Image API; it returns 400 unsupported_parameter. How to control how far an edit moves from the reference.
- Sume images 400: read details.supported and retry in Python
A 400 invalid_request from Sume's image API lists the accepted values in details.supported. Parse it in Python, then choose a value on purpose.
- Image API provider.only returns 400 provider_not_available on Sume
Sume's Image API accepts provider routing fields but publishes one sume endpoint per model, so any other provider slug returns 400 provider_not_available.
Written by Sume