Video Assembly
video-assembly
Sets the ordered list of video and image segments to assemble into one timeline around the main asset.
video-assembly[N] accepts an absolute or relative URL, or the reserved token main. Segments are indexed from 0 to 19 (up to 20 segments total, counting the main video). Sparse indices compact in order.
| Value | Effect |
|---|---|
| URL | A video or image segment to include at position N |
main | The URL-path asset; if omitted, the main plays first and segments append after it |
The main token. If no segment has the value main, the main video plays first and all indexed segments append after it. To build a custom order (intro → main → outro), use video-assembly[0]=intro.mp4, video-assembly[1]=main, video-assembly[2]=outro.mp4.
Still images as segments. PNG, JPEG, WebP, AVIF, HEIC, BMP, and TIFF files may appear as segments. A still photo may also anchor the URL path for a pure slideshow with no video file at all — the still joins as an image segment.
Base64 twin. video-assembly64[N] accepts a Base64-encoded URL for segment URLs that contain reserved characters.
Scope
Assembly applies to all outputs: fm=mp4/webm, gif, hls/dash, thumbnails, spritesheets, and audio-only m4a/mp3/wav (which carry the assembled soundtrack). A video-assembly[N] list alone does not trigger a render — also pass fm=mp4 or another output format.
Long assemblies route to the async queue via the standard long-video threshold (423) — poll the same URL until the finished render is served.
Segment failure
If a segment URL cannot be fetched, probed, or is not a decodable video or image, the render fails with 424 Failed Dependency. Assembly refuses to silently drop content.
A render that uses assembly reports video-assembly in X-Imgix-Video-Operations.