Binge cut: join ten AI micro-drama episodes into one video

Ten one-minute episodes become one 10-minute video in a single Timeline 1.0 render: detach each episode's audio, join the parts, and expect a $1.00 render fee.

5 min readSume
All posts

A binge cut is one Timeline 1.0 render with one video slot per episode and the episodes' own audio joined as gapless parts. Timeline accepts up to 200 video slots, up to 1,800 seconds of output and up to 20 audio parts, so ten one-minute episodes fit with room to spare. The render fee is $0.10 per output minute, so a 10-minute binge costs $1.00 on the render, with no model inference.

The limits that matter

Run the plan endpoint first. POST /v1/timeline-1.0/plan is an unbilled preflight that reports problems in the body before you pay for the render, which matters when the file list is long and one URL is a typo.

Timeline 1.0 limits for a compilation (read 2026-10-07)
FieldLimit or rule
Output length (audio.duration_seconds)1 to 1,800 seconds
Video slots (video[])1 to 200
Audio parts (audio.parts[])Up to 20 gapless slices
First slotstart must be 0; later starts must increase
Chained fadesMore than 8 adjacent fades is refused, so use hard cuts
Render strategyauto chunks past 12 segments; single above 12 is refused
Default output1080x1920 MP4
Price$0.10 per output minute, rounded up

Why you detach the audio first

Timeline 1.0 builds a video from one audio spine plus ordered video slots, so a slot's picture is used and the spine supplies the sound. To keep each episode's own dialogue, extract it with audio detach (one call per episode, default WAV), then pass the files as audio.parts. The parts join in the sample domain with no re-synthesis, which is why the seams stay clean.

A three-episode example

The body below joins three 60-second episodes into a 180-second video. Every URL must already be a media.sume.com artifact of your workspace, so import files first. Add more slots with start at 60-second steps for the rest of the season.

{
  "audio": {
    "duration_seconds": 180,
    "parts": [
      { "url": "https://media.sume.com/artifacts/artf_ep1/audio.wav", "duration": 60 },
      { "url": "https://media.sume.com/artifacts/artf_ep2/audio.wav", "duration": 60 },
      { "url": "https://media.sume.com/artifacts/artf_ep3/audio.wav", "duration": 60 }
    ]
  },
  "video": [
    { "source_url": "https://media.sume.com/artifacts/artf_ep1/video.mp4", "start": 0, "duration": 60 },
    { "source_url": "https://media.sume.com/artifacts/artf_ep2/video.mp4", "start": 60, "duration": 60 },
    { "source_url": "https://media.sume.com/artifacts/artf_ep3/video.mp4", "start": 120, "duration": 60 }
  ]
}

Before you pay

Send the same body to POST /v1/timeline-1.0/plan first. It is an unbilled compile preflight that returns the duration, the segment count and the billable minutes without creating a job. Then send the render with an Idempotency-Key; a retry with the same key will not render a second time.

A plan cannot predict warnings about short sources that are padded or looped, so check the result's warnings[] after the render. If an episode's picture is a few frames shorter than its audio, that is where it shows up.

When a binge is the wrong tool

The binge is a second product made from episodes you already have. It does not replace the series on Shorts, Reels or TikTok, and it is a long video, so it belongs on a platform that takes long videos. Keep the individual episodes as the canonical files and treat the compilation as disposable: if you fix episode 4, re-run the render rather than editing the compilation.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume