Add a cold open to a YouTube video: move the best 10 seconds first
Put your best 10 seconds at the start of a video: detach audio once, then one Timeline 1.0 render with audio.parts and source_in. Plan call is free.

A cold open is the strongest 10 seconds of a video, shown first, then the video starts from the top. On Sume you do it with two jobs: Audio detach once to get the audio as a wav, then one Timeline 1.0 render whose video slots and audio parts both point back into the original file with source_in. The clip is never cut into separate files.
It suits creators with talking-head or tutorial videos, where the hook is in the middle and the intro is slow.
Why does it need the audio first?
Timeline renders from an audio spine plus ordered video slots. The slots decide the picture; the spine decides the sound and the length. The video's own audio is not used, so you extract it once and cut the spine with audio.parts[], up to 20 gapless slices, each { url, source_in, duration }. The join is sample-domain, with no re-encode of speech and no silence at the seam.
Detach returns sample-exact wav by default, and the output is capped at 900 seconds per job, with a source cap of 1800 seconds. For an 8-minute video one detach is enough.
What does the render body look like?
Say the video is 480 seconds and the hook is 312 to 322. The spine is two parts: the hook (source_in 312, duration 10) and the whole video from 0 for 480 seconds, so audio.duration_seconds is 490. The video slots mirror the same two ranges.
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: cold-open-vlog-41-v1" \
-d '{
"audio": {
"parts": [
{ "url": "https://media.sume.com/artifacts/artf_demo/vlog.wav", "source_in": 312, "duration": 10 },
{ "url": "https://media.sume.com/artifacts/artf_demo/vlog.wav", "source_in": 0, "duration": 480 }
],
"duration_seconds": 490
},
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/vlog.mp4", "start": 0, "duration": 10, "source_in": 312 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/vlog.mp4", "start": 10, "duration": 480, "source_in": 0,
"transition": { "type": "fade", "duration": 0.25 } }
],
"output": { "width": 1920, "height": 1080 }
}'Check the numbers once: part durations sum to 490, slot two starts at 10 and runs 480, so coverage ends at 490. If declared part lengths sum to less than duration_seconds, the job is refused with audio_parts_shorter_than_duration.
How do I check it before paying?
Post the same body to POST /v1/timeline-1.0/plan. It is unbilled, needs no idempotency key, and returns duration_seconds, segment_count, billable_minutes and estimated_cost_usd_micros. Render is $0.10 per ceil(output minute), so 490 seconds reserves 9 minutes, $0.90. Add $0.01 for the detach.
| Job | Endpoint | Cost | Cap that matters |
|---|---|---|---|
| Detach audio | POST /v1/audio-detach | $0.01 flat | 900 s output, 1800 s source |
| Plan | POST /v1/timeline-1.0/plan | Free | None beyond schema |
| Render | POST /v1/timeline-1.0/render | $0.10 per output minute | 1800 s audio, 200 slots |
What are the limits and honest caveats?
A fade between the hook and the main video is allowed on every slot after the first, at most 1 second and half the shorter neighbour. A hard cut is a better default for a cold open, so omit transition if you want it. Sources must be on media.sume.com, so import the video first with POST /v1/media-imports.
Sume picks nothing for you here. It does not find the best 10 seconds; you choose the timestamps, or read them from a transcript. For that, Video inspect can return a probe, stills and an optional transcript to help you find the line.
Finally, the original file is not changed. The render is a new MP4 and you decide what to upload. Poll GET /v1/jobs/:id/status and read the result as described in Jobs and results.
Sources
Related posts
More in Use cases
- Add yourself to an AI video with a reference photo (Gemini Omni)
How to put a real person into a new AI clip from a photo: what YouTube's Shorts Remix offers, and the Sume request with reference_image_urls and IMAGE_REF tags.
- Adobe: do not remove Content Credentials. Check before you trim a clip
Adobe's Gen AI guidelines say users must not remove, alter or disable Content Credentials. Before a trim or filter on Sume, test whether your file keeps them.
- Advantage+ video expansion for Reels: Meta's 2% lift claim
Meta's Advantage+ creative page claims a 2% conversion lift from video expansion on Facebook Reels. What that means if you already make native 9:16 video.
- AI ambient rain or white noise track: a Lyria prompt and a loop
Sume's music route makes tracks, not sound-effect loops. How to prompt an ambient bed, what to expect, and how to loop it under a long video with Timeline.
Written by Sume