Fade out the end of a Short: Timeline fade_out_seconds limits
Sume Timeline fades video and audio at the ends with output.fade_in_seconds and fade_out_seconds, 0 to 5 each, summing to at most the length. Setup for Shorts.

Set output.fade_in_seconds and output.fade_out_seconds to fade a Timeline render at its ends. Each is 0 to 5 seconds, and their sum must not exceed the output length. Separately, soundtrack.fade_out_seconds fades a music bed and goes up to 10 seconds. Read from the Timeline docs on 2026-10-06.
Which fade does what?
| Field | Range | Applies to |
|---|---|---|
| output.fade_in_seconds | 0 to 5 | Start of the render |
| output.fade_out_seconds | 0 to 5 | End of the render |
| soundtrack.fade_out_seconds | 0 to 10 | The music bed only |
What fade suits a Short?
Short-form loops and quick cuts rarely want a long fade. A half-second fade-out stops the clip from ending abruptly, while a fade-in competes with the first frame that viewers judge in the first second. Leave fade_in_seconds at 0 for a hook and use a 0.5 to 1 second fade_out_seconds; pair it with a 1 to 2 second bed fade so the music does not outlast the picture.
{
"audio": {"url": "https://media.sume.com/artifacts/artf_demo/vo.wav", "duration_seconds": 40},
"video": [{"source_url": "https://media.sume.com/artifacts/artf_demo/b.mp4",
"start": 0, "duration": 40}],
"output": {"fade_out_seconds": 0.8},
"soundtrack": {"url": "https://media.sume.com/artifacts/artf_demo/bed.mp3", "fade_out_seconds": 1.5}
}Do fades change the length?
No. The output stays at the declared audio.duration_seconds; a fade is applied inside it. Use the unbilled plan call to confirm the length.
Sources
Related posts
More in Developers
- Pin the image model id on the queue row so a swap can't break old jobs
Store the Sume model id on each queued render row at enqueue time, then re-point only rows still carrying a retired id. Python sqlite3 sample for gpt-image-1.
- Poll many transcription jobs without a 429: next_poll_after_seconds
Poll Sume job status with the next_poll_after_seconds the API sends, back off on 429 with retry-after, and stop on a terminal status.
- Clicks or gaps when joining TTS MP3 clips: render WAV, join once
Joined MP3 voiceover clips can gap or click. Sume's Timeline audio docs explain why: MP3 adds priming padding at each edge. Keep WAV until the last step.
- Postgres SKIP LOCKED poll table for AI video jobs with next_poll_at
Track Sume video jobs in one Postgres table with next_poll_at, claim due rows with FOR UPDATE SKIP LOCKED and reschedule from next_poll_after_seconds.
Written by Sume