Repeatable AI images: seed returns 400 on Sume, so do this
Sume's schema accepts seed, but no image model lists it, so seed returns 400 unsupported_parameter. Pin the model and prompt, and keep the output file.

Do not send seed. The field is in the request schema for OpenRouter parity, but the catalog is the allowlist and no model advertises a seed descriptor, so Sume returns 400 unsupported_parameter rather than ignoring it. output_compression is in the same state. For a repeatable result, keep the generated file instead of trying to regenerate it.
Fields that are in the schema but rejected
From the residuals table in the repo's docs/api/images.md and the public docs.
| Field | Behavior in v1 | Alternative |
|---|---|---|
| seed | 400 unsupported_parameter | Store the output URL and asset |
| output_compression | 400 unsupported_parameter | Recompress after download |
| stream | 400 streaming_not_supported | mode async plus job events |
| size with WxH | 400 unsupported_parameter | image_size, or the tier on size |
| background (off GPT 2.5) | 400 unsupported_parameter | Use the GPT 2.5 rows |
Getting consistency without a seed
For a family of images that must match, use a reference. Generate one approved frame, then pass it in input_references with an edit-capable row and describe the change. For a set that must share a style, reuse the same model id, prompt prefix and ratio, and keep the files you like.
Keep a log of the requested model, the stored model and the job id, since retired ids run as their successors.
import os, requests
r = requests.post(
"https://api.sume.com/v1/images",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
json={"model": "openai/gpt-image-2.5", "prompt": "test", "seed": 7},
timeout=60,
)
print(r.status_code, r.json().get("error", {}).get("code"))Note
Check the live catalog; a future row may list seed, and the descriptor will say so.
Sources
Related posts
More in Developers
- Image model sume/auto or a pinned id: when to send which
Send sume/auto when you want Sume to choose and pin an id when you need the same look and price every time. Auto never names the model that ran.
- sume/auto or a fixed video model id: decision rules for client work
Use sume/auto for 3-10 s clips with no family requirement. Pin an id when you need over 10 s, 1080p-only, a given family or 4:3. Read 2026-10-13.
- Sume allows 256 px output; TikTok's API minimum is 360
Sume Timeline outputs can be as small as 256 px, below the 360 px minimum on TikTok's media transfer guide. Clamp sizes in your own code before upload.
- Sume TTS Router: Eleven rows have no timestamps or avatar voice
On Sume's TTS Router, Eleven rows refuse timestamps, segmentation, transcript_source and avatar selectors. Sonic rows accept them. Pick by the fields you need.
Written by Sume