Make a Top 5 vertical video from five stills with Sume Timeline
Five images, a 30-second silent Timeline at 1080x1920, then burned captions: the slot math, the still-motion limit and the cost in Sume.

A Top 5 Short is five still images held for equal slots on a silent Timeline, then captioned. On Sume that is one POST /v1/timeline-1.0/render with audio.mode: "silence" and five video[] slots, followed by one video captions job. A 30-second list costs $0.10 for the render, since Timeline bills ceil output minutes at $0.10, plus the $0.20 caption job. Prices read from the Sume docs on 2026-10-06.
How do I lay out the five slots?
Six seconds each fits 30 seconds. video[0].start must be 0 and later starts must increase, so the starts are 0, 6, 12, 18 and 24. Stills are static holds: the job accepts a motion field but ignores it and reports motion_ignored, so do not plan a zoom on a photo. If you want movement, generate a short clip from the image first and use that clip as the slot.
import json
stills = [f"https://media.sume.com/artifacts/artf_demo/pick{i}.jpg" for i in range(1, 6)]
body = {
"audio": {"mode": "silence", "duration_seconds": 30},
"video": [{"source_url": u, "start": i * 6, "duration": 6,
"fit": "cover"} for i, u in enumerate(stills)],
"output": {"width": 1080, "height": 1920, "fps": 30},
}
print(json.dumps(body, indent=2))What about the numbers on screen?
Timeline has no text layer. Put the ranking in the captions job: one cue per slot such as #5 ..., timed to the same six-second boundaries. Cues are limited to 400 characters each, 200 cues and a 60-second video, so a 30-second list is well inside the limits.
What does it cost?
Run the unbilled plan call first to confirm billable_minutes is 1.
| Step | Rate | Cost |
|---|---|---|
| Timeline render, 30 s | $0.10 per ceil minute | $0.10 |
| Video captions, up to 60 s | $0.20 per job | $0.20 |
| Plan call | Unbilled | $0.00 |
Sources
Related posts
More in Use cases
- Tote bag mockup with an AI image API: your logo on a canvas bag
Send your logo as a reference to GPT Image 2.5 on Sume and ask for a canvas tote on a plain studio set. Check the logo against the original before you list it.
- Trim an ad cutdown from an MCP client: dry run, wait, result
Cut a 15-second holiday ad version from an MCP client with Sume video_trim: dry_run shows the $0.02 estimate, then jobs_wait and jobs_result return the MP4.
- 12 sale plates from an MCP client: compose, then one batch wait
Fan out 12 Sume timeline_compose jobs for holiday sale plates, then wait for all with one jobs_wait on job_ids, and read the results in one call.
- Two-camera podcast clip for Shorts: alternate angles with source_in
Cut between two camera files against one audio spine in Timeline 1.0: equal on-spine starts and source_in keep both angles in sync. Python builder included.
Written by Sume