Flow Scenebuilder vs the Sume timeline API: sequence clips in code

Flow's Scenebuilder arranges clips in order. The Sume Timeline 1.0 route does the same from JSON: starts, fades, an audio spine, one MP4 out.

5 min readSume
All posts

Flow's Scenebuilder lets you arrange multiple clips in a sequence; the Sume equivalent is a Timeline 1.0 render, where you list the clips with start times and get one MP4 back. The difference is control: Scenebuilder is a canvas you drag on, while Timeline is a JSON program you can version, diff and run again.

What can Scenebuilder do?

Google's Flow help page says Scenebuilder lets you arrange multiple clips in a sequence. It lists rearranging clip order, trimming the beginning or end of a clip with handles, previewing the whole sequence and downloading the finished scene. The page I read does not describe transitions, music or export formats, so I make no claim about them.

How does Timeline 1.0 map to that?

The Timeline 1.0 docs describe a render with an audio spine (audio.url or audio.mode: "silence"), an array of video[] slots with source_url, start, duration and optional source_in, and optional transition on every slot after the first. Starts must increase and the first start must be 0.

Trimming with handles becomes source_in plus duration. Reordering is the order of the array. Preview does not exist as a separate step; a render is the preview, billed at the documented rate of $0.10 per ceil output minute, with no provider inference.

Scenebuilder actions and Timeline fields, read 2026-10-03
Scenebuilder actionTimeline 1.0 field
Arrange clips in sequencevideo[] slots with increasing start
Rearrange clip orderReorder the array and recompute starts
Trim start of a clipvideo[].source_in
Trim end of a clipvideo[].duration
Preview the sequenceSubmit a render and watch the result
Download the scenevideo_url in the job result

What does a two-clip render look like?

Two Omni clips of 8 and 10 seconds, with a short fade between them. The audio spine is declared as silence here so the clips' own sound is not the spine; see the next section for the audio caveat. Output width and height override the 1080 by 1920 default so a 16:9 pair stays landscape.

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: scene-001" \
  -d '{
    "audio": { "mode": "silence", "duration_seconds": 18 },
    "video": [
      { "source_url": "https://media.sume.com/artifacts/artf_demo/a.mp4", "start": 0, "duration": 8 },
      { "source_url": "https://media.sume.com/artifacts/artf_demo/b.mp4", "start": 8, "duration": 10,
        "transition": { "type": "fade", "duration": 0.25 } }
    ],
    "output": { "width": 1920, "height": 1080 }
  }'

What about the clips' own audio?

Omni clips carry native audio. In Timeline, the spine decides the output audio. To keep the clips' sound, detach it with audio detach and use the wav as audio.url, or join the detached files with the timeline audio route first. A silence spine, as above, gives a silent render.

Transitions are limited: types are fade, wipeleft, wiperight, slideup, slidedown and dissolve; the duration is at most 1 second and at most half the shorter neighbour. Past 8 adjacent fades the compiler refuses with too_many_chained_transitions, so insert a hard cut.

When is Scenebuilder still the better tool?

If one person is arranging five clips by eye, Scenebuilder is quicker than writing JSON. Timeline pays off when the same shape repeats (a 6-clip recap every week) or when a service, not a person, assembles the video. See Jobs and results for how to wait for the render.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume