Silent clip for your own music: sume/auto rejects audio off
sume/auto defaults to Gemini Omni Flash 1.1, where native audio is always on, so generate_audio false returns 400. Pin a model that offers silence.

If you send generate_audio: false with model: "sume/auto", Sume answers 400 unsupported_capability and submits nothing. Auto defaults to Gemini Omni Flash 1.1, where native audio is always on, and the docs say Sume never silently routes such a request elsewhere. To get a silent clip for your own music bed, name a catalog model whose generate_audio field allows it.
What auto promises
sume/auto is Sume-only. Its resolution is a pure function of the normalized request plus the catalog version. There is no load balancing and no A/B test, so an idempotent replay gets the same route and the same price. The default target for text, first and end frame, and reference requests is gemini-omni-flash-1.1.
The validation envelope is that model's. Duration is 3 to 10 seconds with a default of 8. Resolution is 360p, 720p, 1080p or 4K with a default of 720p. Aspect is 16:9 or 9:16.
Requests that fail closed
Unsupported constraints fail with 400 unsupported_capability and no provider submission. The docs list generate_audio: false, 2 or 11 seconds, and 480p or 768p as examples. The error names sume/auto, not the resolved model, and supported still lists the values the API accepts.
| Request on sume/auto | Result |
|---|---|
| generate_audio: false | 400 unsupported_capability |
| duration 2 or 11 | 400 unsupported_capability |
| resolution 480p or 768p | 400 unsupported_capability |
| Omit generate_audio, or send true | Accepted |
The fix
Read GET /v1/videos/models and look at each row's generate_audio value. Choose a model that supports a silent output, name it in model, and keep your music from the Music Router or your own file as the Timeline audio spine. The Music Router bills a fixed Music price per generation.
Do not fall back by catching the 400 and retrying on auto. The retry would fail again with the same message.
curl "https://api.sume.com/v1/videos/models" \
-H "Authorization: Bearer $SUME_API_KEY"Keep one policy in code
Decide per campaign whether the clip carries its own sound. If it does, use auto or Omni and leave generate_audio out. If the bed is yours, pin the model and render the final cut on Timeline with your track.
Sources
Related posts
More in Developers
- Captions fail on a silent Short with caption_no_speech: send cues
A silent clip has no speech to transcribe, so Sume's captions API returns caption_no_speech. Send cues with text, start and end to burn overlay text instead.
- 16 AI shots in one Sume Timeline render: the 8-fade cap
A 16-shot cut fits one Timeline render, but fades are capped at 8 in a row and renders chunk past 12 slots. Plan the cuts, with the doc limits.
- Size a batch from generation_limits so no clip hits queue_full
Read accepted_generation_jobs_limit from a Sume submit response and slice your clips. A 50-clip batch leaves 2 for a later wave on Startup and 26 on Pro.
- Sora Videos API removed: same submit-and-poll curl on Sume /v1/videos
OpenAI removed the Sora 2 models and Videos API on Sept 24, 2026. Sume POST /v1/videos keeps the async shape: submit, poll polling_url, download. Curl included.
Written by Sume