Features

Every feature of the Compose API

Compose is a full video editor in one JSON request, at a fraction of what most JSON video APIs charge. Here is everything a timeline can do, each with the JSON field that does it. Hover a preview to play the real render.

Try

117 features · 80 rendered previews · 322 more filters by name · $0.04/min, every feature included

Timeline

How a video is put together: layers, scenes and timing.

Reference in the docs
  • Tracks

    Stack clips in layers. The first track is the bottom of the picture.

    timeline.tracks
  • Scenes

    Write the video scene by scene, each with its own clips and a transition into it.

    timeline.scenes
  • Overlays

    Put a logo or a watermark over every scene, however the video is cut.

    timeline.overlays
  • Nested timelines

    Group layers into one clip that moves, scales and fades as one, up to three levels deep.

    "type": "composition"
  • Automatic timing

    Leave the timing out and clips play end to end at their own length. A music bed can run to the end.

    start, length: "end"
  • Automatic crossfade

    Two clips that overlap with no transition between them dissolve into each other.

    overlapping clips
  • Background

    Any colour behind the picture, or transparent for png and webm output.

    timeline.background
  • Effects on a layer or the whole video

    Grade or treat a whole track or the final picture and mix, not one clip at a time.

    track.effects, timeline.effects
  • Effects for part of a clip

    Run an effect for a stretch of the clip, in seconds or percent.

    effect.start, effect.length

Media and clips

The footage, stills, sound and animation a timeline is built from.

Reference in the docs
  • Video

    Footage by URL, with its own sound and volume.

    "type": "video"
  • Images

    Stills by URL, which take motion from keyframes like any clip.

    "type": "image"
  • Audio

    Music, voice-over and sound effects, mixed with everything else.

    "type": "audio"
  • Lottie animation

    Lottie files from LottieFiles or After Effects, drawn with their transparency.

    "type": "animation"
  • Trim

    Use part of a source, from one second to another.

    asset.trim
  • Speed

    Slow motion or fast forward. The sound's pitch follows the speed.

    speed
  • Opacity

    See-through clips, or fades in and out with keyframes.

    opacity
  • Blend modes

    Blend a clip into what is under it, the way light leaks and textures are laid on in an editor.

    blendMode
    • normal
    • multiply
    • screen
    • overlay
    • darken
    • lighten
    • add
    • difference

Text and titles

Titles that stay readable and arrive with intent.

Reference in the docs
  • Text clips

    Titles and labels set in any size, weight and colour, with italic and alpha.

    "type": "text"
  • Fonts

    Any Google font by name, a bundled family, or your own TTF, OTF or WOFF files.

    style.font, inputs.fonts
    • Inter
    • Bebas Neue
    • Anton
    • Montserrat
    • Poppins
    • Roboto
    • Oswald
  • Other scripts

    Arabic, Devanagari and other scripts shape correctly through bundled fallbacks, with no font file uploaded.

    style.font
  • Stroke

    An outline round the letters, so white text survives a bright picture.

    style.stroke
  • Shadow

    A soft shadow behind the text for depth and readability.

    style.shadow
  • Background box

    A solid box behind the text, the look of a caption.

    style.background
  • Alignment

    Which edge of the text sits on its position: left, centre or right.

    style.align
  • Entrances

    Bring a title in rather than cutting it on.

    style.animate.type
    • fade
    • slideUp
    • slideDown
    • slideLeft
    • slideRight
    • blur
    • scale
  • Kinetic titles

    Split a title so it arrives a letter, word or line at a time, in the order you choose.

    animate.by, stagger, order
    • letter
    • word
    • line
    • start
    • end
    • center
    • edges
    • random
  • Exits

    Take a title away the way it came in, instead of cutting it off with the clip.

    style.animate.out
    • fade
    • slideUp
    • slideDown
    • slideLeft
    • slideRight
    • blur
    • scale

Captions and timers

Words timed to the picture, and clocks that count.

Reference in the docs
  • Subtitles

    Every caption of a video in one clip, timed to the words and styled once.

    "type": "subtitles"
  • Subtitles from a file

    Load an existing .srt or .vtt file instead of writing the cues out.

    subtitles.src
  • Typewriter captions

    Show each line at once, or type it out word by word.

    subtitles.reveal
    • line
    • typewriter
  • Timers

    A countdown or a stopwatch over the clip, styled like any text.

    "type": "timer"
    • SS
    • SS.S
    • SS.SS
    • MM:SS
    • MM:SS.SS
    • HH:MM:SS

Shapes and graphics

Cards, bars, badges and icons, drawn by the engine with no file.

Reference in the docs
  • Shapes

    Draw rectangles, circles and more as clips.

    "type": "shape"
    • rect
    • ellipse
    • circle
    • triangle
    • diamond
    • path
  • Gradients

    Two colours instead of one, running vertically, horizontally, diagonally or out from the centre.

    shape.gradient
  • Outlines

    An outline with a real hole, so the footage shows through.

    shape.stroke
  • Rounded corners

    Square through to fully round, which on a wide box is a pill.

    shape.radius
  • Soft edges

    Feather a shape's edge, the way a spotlight or a vignette is made.

    shape.softness
  • Shape shadows

    Lift a card or a bar off the footage behind it.

    shape.shadow
  • SVG paths

    Paste path data from a design tool and draw it as a clip.

    shape.path, viewBox
  • Lower thirds

    A bar on one track and the words on another, so each is styled and timed on its own.

    shape + text
  • Progress bars

    Keyframe a shape's width and it becomes a progress bar.

    transform.size keyframes

Layout and framing

Where a clip sits, how big it is and what part of it shows.

Reference in the docs
  • Position

    Put a clip anywhere, in pixels or percent of the frame.

    transform.position
  • Scale

    Draw a clip at any size, from full frame down to picture in picture.

    transform.scale
  • Rotate

    Turn a clip by any number of degrees.

    transform.rotate
  • Anchor

    Choose whether a position points at the clip's middle or its top-left corner.

    transform.anchor
  • Box size

    Give a clip its own box, which the picture then fills.

    transform.size
  • Fit

    How a picture fills a box of another shape: letterboxed, cropped, stretched, or over a blurred copy of itself.

    transform.fit
    • contain
    • cover
    • fill
    • blur
  • Crop

    Trim the edges of a source to punch in on the subject.

    crop
  • Rounded clips

    Round the corners of a clip, so a small one reads as a card.

    crop.radius
  • Flip

    Mirror a clip left to right or top to bottom.

    flip
  • Corner pin

    Pin a clip's four corners onto a screen or a sign in the shot.

    transform.corners
  • Vertical video

    Build 9:16 video with titles clear of the buttons a platform draws over it.

    output.size: "shorts"

Motion

Anything that changes over a clip.

Reference in the docs
  • Keyframes

    Animate position, scale, rotation, opacity, size, colour and more, by time or by percent of the clip.

    [{ time, value, easing }]
  • Easings

    33 motion curves, from linear to bounce and elastic.

    keyframe.easing
    • step
    • linear
    • smooth
    • easeInSine
    • easeOutSine
    • easeInOutSine
    • easeInQuad
    • easeOutQuad
    • +25 more
  • 3D turns

    Swing a clip in around either axis, with as much depth as you choose.

    rotateX, rotateY, perspective
  • Animated effects

    Ramp a blur, a grade or a glow across a clip instead of holding one value.

    effect settings as keyframes
  • Animated volume

    Duck the music under a voice and bring it back up.

    asset.volume keyframes

Transitions

How one clip or scene becomes the next.

Reference in the docs
  • Crossfade

    One picture dissolves into the next.

    "transition": "crossfade"
  • Fade

    Dip through black between two clips, for a chapter break.

    "transition": "fade"
  • Slide

    The next clip slides in over the last.

    "transition": "slide"
  • Push

    The next clip pushes the last one out of frame.

    "transition": "push"
  • Wipe

    Reveal the next clip in place, along an edge or through a shape.

    "transition": "wipe"
    • edge
    • circle
    • box
    • barnDoorHorizontal
    • barnDoorVertical
  • Zoom

    Scale into the next clip.

    "transition": "zoom"
  • Hard cut

    Cut straight from one clip to the next.

    "transition": "none"
  • Direction

    Send a slide, push or wipe left, right, up or down.

    transition.direction
  • Custom wipes

    Use any greyscale image as the wipe pattern. Dark areas reveal first.

    transition.map

Picture effects

Grade, finish, stylise and key the picture.

Reference in the docs
  • Chroma key

    Remove a solid background colour (green screen). Put the keyed clip on an UPPER track, and the removed area shows the track below.

    "type": "chromaKey"
  • Color

    Grade the picture by hand. Every parameter is optional, and one left out leaves that quality unchanged.

    "type": "color"
  • Looks

    A one-word look: greyscale, boost (vivid social pop), muted (desaturated, cinematic), lighten and darken (exposure), contrast, negative, sepia (brown archive tone), oldFilm (sepia with grain, dust, scratches, projector flicker and a vignette).

    "type": "look"
  • Blur

    Soften the picture. 5 to 15 makes a backdrop that keeps text over it readable.

    "type": "blur"
  • Sharpen

    Crisp up soft footage.

    "type": "sharpen"
  • Denoise

    Clean the grain a small sensor adds in low light. Works across neighbouring frames as well as inside each one.

    "type": "denoise"
  • Glow

    Make the bright parts of the picture bloom. Best on lights against a dark frame: a city at night, a stage, a candle.

    "type": "glow"
  • Film grain

    A layer of film grain, so digital footage feels less clinical.

    "type": "grain"
  • LUT

    Grade the picture with a 3D LUT, the .cube file a colourist or a grading app exports.

    "type": "lut"
  • Vignette

    Darken the corners to pull the eye to the middle of the frame.

    "type": "vignette"
  • Camera shake

    Handheld camera energy on a steady shot. The picture is zoomed in slightly so its edges never show.

    "type": "shake"
  • Glitch

    Digital break-up: blocks of the picture jump sideways and the colours tear. For a beat or a scene change, so give it a short length.

    "type": "glitch"
  • Pixelate

    Large square pixels over the whole picture.

    "type": "pixelate"
  • Posterize

    Flatten the picture into a few steps of each colour, like a screen print.

    "type": "posterize"
  • RGB shift

    Pull the red and blue channels apart sideways, for a chromatic, analogue-video edge.

    "type": "rgbShift"
  • Scan lines

    The dark horizontal lines of a CRT monitor.

    "type": "scanLines"
  • Sketch

    Turn the picture into a pencil drawing.

    "type": "sketch"
  • Trails

    Blend the last moments of the clip together, so moving lights and people leave streaks.

    "type": "trails"
  • Region blur

    Blur one part of the picture and leave the rest sharp: a face, a number plate, a logo, a screen.

    "type": "blurRegion"
  • Mask

    Show the clip only where an image says: white or opaque keeps it, black or clear cuts it away, grey fades it. A picture seen through a logo, or any shape you can draw.

    "type": "mask"
  • Outline

    A stroke round the edge of a layer that has transparency: a keyed subject, a picture in picture, a logo. With dropShadow it is the sticker look. Does nothing on a clip that fills the frame. Text and shapes have their own stroke.

    "type": "outline"
  • Drop shadow

    A soft shadow under a layer that has transparency, so a logo, a cut-out or a picture in picture lifts off what is behind it. Does nothing on a clip that fills the frame.

    "type": "dropShadow"
  • Every other filter

    322 more filters by name, each checked against its own settings before the render starts.

    "type": "engine"

Sound

Level, clean and mix the audio.

Reference in the docs
  • Volume

    Set each clip's level, or keyframe it to duck under a voice.

    asset.volume
  • Fades

    Fade music in and out without keyframes.

    fadeIn, fadeOut
  • Stereo pan

    Place a sound left or right.

    pan
  • Mixing

    Every audio track plays together in one mix, which effects can treat as a whole.

    tracks
  • Visualizer

    Draw the sound over the picture: the audiogram look. In the TIMELINE's effects it draws the final mix, which is the usual place. On a track or a clip it draws that track's or that clip's own sound.

    "type": "visualizer"
  • EQ

    Three-band tone control. More bass and treble on a music bed, or less boom on a voice.

    "type": "eq"
  • Compressor

    Even out a voice, so quiet words and loud words sit at one level. The defaults suit speech.

    "type": "compressor"
  • Limiter

    Stop peaks from clipping. Add gain to make a track louder with no distortion, or leave gain at 0 as a safety net on the final mix.

    "type": "limiter"
  • Noise gate

    Close the microphone between phrases, so room noise drops away in the pauses.

    "type": "gate"
  • High pass

    Cut everything below a frequency. Wind, traffic and handling noise live under the voice.

    "type": "highPass"
  • Low pass

    Cut everything above a frequency. Music from the next room, or a voice on the phone.

    "type": "lowPass"
  • Loudness

    Bring sound to a standard loudness, riding the level as it goes. -16 suits online video and podcasts, -23 is broadcast.

    "type": "loudness"
  • Pitch

    Raise or lower the pitch without changing the speed.

    "type": "pitch"
  • Echo

    A repeat behind the sound.

    "type": "echo"
  • Reverb

    Place a dry voice in a hall.

    "type": "reverb"
  • Voice noise removal

    Remove steady background noise from under speech: a river, a fan, a street. Trained on voices, so keep it off music.

    "type": "voiceDenoise"

Output

What comes back: format, size, frame rate and quality.

Reference in the docs
  • Formats

    Video, an animated gif, sound alone, or a single still.

    output.format
    • mp4
    • webm
    • gif
    • mp3
    • jpg
    • png
  • Size presets

    Name a platform or a resolution instead of working out the pixels.

    output.size
    • 360p
    • 720p
    • 1080p
    • 1440p
    • 4k
    • tiktok
    • reels
    • shorts
    • +7 more
  • Any size

    Any width and height, for any aspect ratio.

    output.resolution
  • Frame rate

    Up to 1080p at 30 fps on Free, 1440p at 30 fps on Pro and 4K at 60 fps on Studio. Animated graphics render up to 1080p at 30 fps.

    output.fps
  • Quality

    Trade file size for quality in one word, or set the codec and its settings yourself.

    output.quality
    • draft
    • standard
    • high
    • max
  • Transparent video

    A see-through background in webm or png, for overlays you place elsewhere.

    background: "transparent"
  • Part of a video, or one frame

    Render a stretch of the timeline, or one frame as a poster image.

    output.range

Tools and pricing

Checking, listing and paying for a render.

Reference in the docs
  • Free validation

    Check a timeline exactly as a render would, with any problems, warnings and the price, at no cost.

    POST /compose/validate
  • Effect lists

    Every effect and filter with its settings, so code and agents can build from the live list.

    GET /compose/effects
  • MCP server

    Claude, ChatGPT and other agents check and render timelines through the Rendobar MCP server.

    validate_compose
  • TypeScript SDK

    Typed timelines, validation and the effect lists from @rendobar/sdk.

    compose.validate()
  • Old requests keep working

    A timeline written for an older version of the API still renders, and the response says what was upgraded.

    upgraded
  • One price

    Every feature on this page is included, billed per second of finished video at $0.04/min, with a 15-second minimum.

    $0.04/min

Questions

What can the Compose API do to a video?

117 features across the timeline, media, text, captions, graphics, layout, motion, transitions, picture and sound effects, and output. Every one is a field in the same JSON timeline, and 80 of them have a rendered preview here.

How do I add an effect to a clip in a compose job?

Give the clip an effects list and put one entry in it per effect, each with a type and only the settings you want to change. The list runs in the order you write it, and the same list works on a track or the whole timeline.

Do effects, transitions and titles cost extra?

No. Compose bills one rate per minute of finished video, $0.04/min, however many features the timeline uses. Animated graphics such as kinetic titles and 3D turns render up to 1080p at 30 fps on self-serve plans.

Can I animate a title word by word?

Yes. Give the text an animate entrance with by set to letter, word or line, and add out to animate it leaving. Stagger and order set the rhythm, so a kinetic title is a few fields on one text clip.

How do I check a timeline before I render it?

Send it to POST /compose/validate, or call compose.validate in the SDK. It parses the timeline exactly as a render would, costs nothing, and returns any problems, the warnings and what the render will cost.

Can an AI agent use these features?

Yes. Through the Rendobar MCP server, Claude, ChatGPT and other agents read the same list of effects, check a timeline with validate_compose, and render it. Every preview here is a request an agent can copy as written.

Scale your video generation.

Create an account and render your first videos on $5 of free credit. No card, no subscription.