Skip to main content

An illustrated story rendered by Compose from the request below: each drawing sketches itself in, then fills with colour, under its caption.

The request that made it
The same request, built up step by step, is the illustrated story recipe. compose renders a video from a JSON timeline. You start with one clip and add more clips, transitions, overlays and effects as you need them.

Your simplest render

The smallest timeline is one track with one clip. This call renders the first three seconds of a video to MP4.
Assets: video, image, audio, text, timer, subtitles, shape, animation (Lottie), composition · Output: mp4 / webm / gif / mp3 (audio only) / jpg / png (still frame)
Without trim, a clip plays its source from the start for length seconds. Leave length off and it plays the whole source. To play one segment, add trim: { from, to } to the asset, in source seconds. length sets how long the clip lasts on the timeline, and trim picks which part of the source fills that time.

Join two clips

Put a second clip on the same track and a transition between them.
You set no timing here. Each clip plays its whole source, the second starts after the first, and the transition overlaps them by its duration. You do not need to know how long either file is. You can also write the timing out. This gives the same render, with the second clip starting duration seconds before the first ends.
See Transitions for the seven transition kinds, wipe shapes, directions and your own wipe patterns.

Everything else

How the timeline works

Tracks, clips, scenes, and when you can leave timing out.

Media clips

Video, images, audio and Lottie, with trim, speed, opacity and blend modes.

Placing and framing a clip

Position, scale, rotate, crop, fit and pin a clip, each shown before and after.

Text and titles

Readable titles, entrances and exits, and kinetic titles a word at a time.

Subtitles and timers

Every caption in one clip, from cues or an .srt file, and countdowns.

Fonts and languages

Google fonts by name, bundled families, your own files, and other scripts.

Shapes

Bars, cards, circles and SVG paths, with gradients, outlines and shadows.

Keyframes and easing

Animate anything numeric with 33 easings, and turn clips in 3D.

Transitions

Crossfade, fade, slide, push, wipe and zoom, and your own wipe patterns.

Effects

Colour, looks, stylised filters, keying and every other filter by name.

Audio and mixing

Levels, ducking, panning, the mix, voice clean-up and audiograms.

Output

Formats, size presets, frame rate, quality and transparent video.

Pricing and validation

One price per minute of output, and a free check before you render.

Edit like a professional

The pacing, transition and text conventions working editors follow.

Reference

Every field, generated from the schema the API validates with.

See also

  • Compose features: every engine feature, searchable, most shown before and after
  • Job output: the output shape every job returns
  • Animated captions: word-level captions over a rendered video
  • Compress: shrink the render to a size or quality budget
  • FFmpeg: drop to a raw command when the timeline cannot express it
  • Webhooks: receive job.completed instead of polling
  • Plan limits: render duration and file-size caps per plan
Last modified on October 20, 2026