Silent lobby loop video: a 5-minute screen reel with no audio, $0.50

Make a muted lobby or event-screen video from ten 30-second clips with Timeline's silence spine. 300 seconds bills as 5 minutes at $0.10, so $0.50.

5 min readSume
All posts

To make a silent loop for a lobby screen or event wall, set audio.mode to "silence" and a declared duration_seconds on a Timeline 1.0 render, then list your clips in video[]. Ten 30-second clips come to 300 seconds, which bills as 5 minutes at $0.10 per ceil(output minute): $0.50.

A silence spine is a declared length with no audio file, so it takes no url, parts, gain_db or source_in. Source: Timeline 1.0, read 2026-10-04.

The numbers

Venue screens usually need no sound, and a generated clip that carries audio can start playing on a screen that should stay quiet. The check below tells you which clips have an audio track before you rely on the spine.

Silent loop arithmetic (read 2026-10-04)
ItemValueRule
Clips10video[] takes 1 to 200 slots
Clip length30 sOn-screen duration
Spine300 saudio.duration_seconds, 1 to 1800
Billable minutes5ceil(300 / 60)
Price$0.50$0.10 per ceil(output minute)
Segments10Chunked by auto strategy past 12 slots, so single is allowed here

Check the audio

Ask POST /v1/video-inspect with frames: false for each clip. That is a probe only, with no stills, and probe.has_audio tells you whether the source carries sound. The docs do not say whether source-clip audio survives under a silence spine, so confirm the finished render's audio with one more probe rather than assuming.

curl -X POST https://api.sume.com/v1/video-inspect \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: probe-lobby-clip-01" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/lobby-01.mp4",
    "frames": false
  }'

Build the render body

Build the timeline body in a loop. Start values rise by 30, output is 1920 by 1080 at 30 fps, and fade_in_seconds and fade_out_seconds stay at 0 for a loop so the last frame can hand off to the first.

import json

clips = [f"https://media.sume.com/artifacts/artf_demo/lobby-{i:02d}.mp4" for i in range(1, 11)]
body = {
    "audio": {"mode": "silence", "duration_seconds": 300},
    "video": [{"source_url": u, "start": i * 30, "duration": 30, "fit": "cover"} for i, u in enumerate(clips)],
    "output": {"width": 1920, "height": 1080, "fps": 30},
}
print(json.dumps(body))

Plan then render

Send it to /v1/timeline-1.0/plan first and confirm billable_minutes is 5. Then render with an Idempotency-Key. Every source must be a media.sume.com URL, so import clips with POST /v1/media-imports before building the body.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume