Podcast audio to a 45-second teaser video with Timeline source_in
Timeline 1.0 takes an audio spine with a source_in in-point and a still as a static hold, so a podcast excerpt plus cover art renders as a video with no editor.

A podcast teaser video needs three things: an excerpt of the audio, one image to look at, and a video file to post. Timeline 1.0 does all three in one render. audio.source_in sets the in-point into a single audio file, audio.duration_seconds sets the length, and a still in video[] is held on screen for the whole slot. No waveform or caption is drawn; the picture is static.
Which fields make the excerpt?
| Field | Effect |
|---|---|
audio.url | One Sume-hosted spine. Exclusive with audio.parts. |
audio.source_in | In-point into that single file. Output length is still duration_seconds. |
audio.duration_seconds | Output length, 1 to 1800 seconds. |
video[].source_url | A Sume-hosted clip or still. A still is a static hold. |
output.width / height | Even integers 256 to 2160. Default output is 1080x1920. |
How do I find the 45 seconds worth posting?
Run video inspect on a video version of the episode with transcribe: true and sentence segmentation to get timed text. The transcript is billed at the speech-to-text rate, $0.01 per audio minute on the docs page, and the probe and stills are unbilled. Pick the sentence that opens the excerpt and use its start time as source_in. Video inspect needs a video file, so an audio-only file needs a separate speech-to-text call.
What does the render request look like?
This one takes a 45-second excerpt starting 12 minutes 30 seconds in and holds one cover still for the whole length at 1080x1080. Both URLs must already be this workspace's media.sume.com files. Send mode: "sync" if you want the finished job back in the response; the default is async.
curl -X POST https://api.sume.com/v1/timeline-1.0/render \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: podcast-teaser-001" \
-d '{
"audio": {
"url": "https://media.sume.com/artifacts/artf_demo/episode.wav",
"source_in": 750,
"duration_seconds": 45
},
"output": { "width": 1080, "height": 1080 },
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/cover.png",
"start": 0, "duration": 45 }
]
}'What does it cost, and can I add a fade?
The render is billed at $0.10 per output minute, and the docs round the output up to a whole minute, so a 45-second teaser counts as one. Add output.fade_in_seconds and fade_out_seconds (0 to 5 each) to soften the edges of the excerpt. To check the document without billing, call POST /v1/timeline-1.0/plan first.
Sources
Related posts
More in Use cases
- App Store preview poster frame: default 5 seconds, check it
Apple's default poster frame for an app preview is 5 seconds in. Extract that exact frame from your render with Sume video_frames before you upload.
- A 15-second 'previously on' recap from one episode with source_in
Detach an episode's audio once, then list three moments twice in one Timeline 1.0 render: video[].source_in for picture, audio.parts source_in for sound.
- Prime Big Deal Days beauty video ads: avatar clips, 4-60 s
Make beauty product ads for Prime Big Deal Days with Avatar Video: scripts must estimate to 4-60 seconds, and product_image is optional. Sizes and prices.
- Bulk product videos for Prime Big Deal Days: 100 Format runs
Queue up to 100 Format runs in one bulk request with a concurrency window of 1 to 16, then poll one queue id. Setup, limits and the traps to avoid.
Written by Sume