Skip to main content
Composer arranges multiple image, text, and video layers on a canvas with control over position, size, rotation, and opacity. Each connected input becomes a draggable layer in the visual editor. Composer emits an image when the composition is fully static, or a video when any video layer is present.

When to use

  • Social media templates with brand overlays
  • Product images with text and badges
  • Multi-layer video compositions
  • Branded content with logo placement
Common patterns: upload_image + text_prompt → composer, or upload_video + text_prompt + upload_image → composer.

Inputs

Images
image
Image layers. Accepts multiple inputs and supports loop mode.
Texts
text
Text layers. Accepts multiple inputs and supports loop mode.
Videos
video
Video layers. Accepts multiple inputs and supports loop mode.
Audios
audio
Audio tracks. Accepts multiple inputs and supports loop mode. Connecting audio makes the composition render as a video.
Connect at least one image, text, video, or audio layer.

Outputs

Image
image
The composed image. Emitted when the composition has no video layers.
Video
video
The composed video. Emitted when any video layer is present.

Configuration

canvasPreset
string
default:"instagram_post"
A preset canvas size for common social media and e-commerce formats (Instagram, TikTok, YouTube, and more). Choosing a preset updates the canvas dimensions. Use custom to set your own size.
backgroundColor
string
default:"#FFFFFF"
The canvas background fill, as a hex color. Visible where no layer covers it.
arrangement
string
default:"overlay"
overlay times each layer with its own start/end; sequence plays video clips back-to-back in layer order, with lengths resolved from the real clips at render time.
duration
number
Total exported video length in seconds. Omit for automatic (covers every clip and timed layer); a shorter value trims the output, a longer one extends it. Ignored for image-only compositions.
outputStart
number
Where the exported video begins, in composition seconds (omit for 0). Trims the whole output — picture and audio together.
outputEnd
number
Where the exported video ends, in composition seconds (omit for the composition’s end).
sequenceCrossfade
number
default:"0"
Only used when arrangement is sequence. Seconds of cross-dissolve between consecutive clips (0 = hard cuts).
layers
array
Per-layer configuration (position, size, fit/crop, timing, trims, animations, motion, volume, text styling), one entry per connected input. Normally managed in the visual editor; for the full JSON shape see Composing video → For agents and the API.
Per-layer position, size, rotation, opacity, borders, and text styling are set in the visual editor on the node. For programmatic use (API, MCP, or the in-app copilot), pass the same fields as JSON — the Composing video guide has a complete worked example.

Editing on the canvas

Open the editor from the node to arrange layers visually:
  • Drag to position, handles to resize/rotate. Arrow keys nudge the selected layer (hold Shift for 10px steps); Escape deselects.
  • Snapping. While dragging, a layer snaps to the canvas’s edges and center and to other layers’ edges, with blue guide lines showing the alignment.
  • Align buttons. The Layout panel has one-click align to the canvas left / center / right and top / middle / bottom, on each axis.
  • Crop. Select an image or video layer and click ✂ Crop to drag a marquee over the full source — trimmed edges dim as you go. Click Done cropping or press Escape to finish. Exact Crop % fields are also in the Appearance panel.
  • Rich text. Text layers support alignment (left / center / right), line height, an outline (color + width), and a drop shadow (color + blur) alongside font, size, weight, color, and background.
  • Resizable panels. Drag the dividers beside the Layers and Properties panels to resize them, or double-click a divider to collapse / restore it — handy for giving the canvas and timeline more room.
  • Space to play. When the composition has video or audio, the spacebar toggles timeline playback (unless you’re typing in a field).

Timing video layers

When a composition includes video, a timeline appears below the canvas in the visual editor — one row per layer. Drag a bar’s edges to set when the layer appears and disappears (in seconds), drag the bar to move its window, or double-click it to make the layer visible for the whole video again. You can also type exact Start s / End s values in the layer’s Layout panel. Press play on the timeline to watch the composition — video layers play their actual frames (with sound), audio tracks come in on cue, and fades happen in place. Scrub the ruler above the rows to preview which layers are on screen at any moment. The output video runs long enough to cover the latest-ending layer, even past the end of the source clips. Layers without timing stay visible for the entire composition, and timing has no effect on still-image outputs. Video and audio bars show the full source clip: the bright region plays, the darker head/tail are trimmed away — drag the bright region’s edges to trim, or type Trim in s / Trim out s in the Layout panel. A timed clip plays from its trim-in point at its start time, and a clip with no end time plays out its full length — read from the real media at render time. The video’s length is automatic (covers every clip and timed layer) unless you set Duration s in the canvas panel; the timeline keeps hatched headroom past the end so you can extend by dragging, and blue snap guides appear when edges align. To trim the whole exported video (not a layer), drag the bracket handles on the timeline ruler, or set Video Range in the canvas panel — everything outside the range is cut from the output, picture and audio together.

Sequencing clips

To play videos one after another, switch the timeline’s Arrangement toggle to Sequence: video clips chain back-to-back in layer order (top row first), each sized by its real duration at render time. Because timing resolves when the composition renders, sequencing works even before upstream videos exist — and regenerated clips of a different length can never drift out of sync. Images and text keep their own timing for persistent overlays like logos and captions. Until the upstream nodes have run, the timeline shows clip lengths as estimates (dashed bars, with a note below the timeline) based on each source node’s settings — run the workflow once to load real durations. In Overlay mode, bars snap to other layers’ edges while dragging, making manual back-to-back placement easy too.

Animations

Every visual layer can animate in when it appears and out when it disappears: pick Animate in / Animate out in the layer’s Layout panel — Fade, or Slide left/right/up/down — each with its own duration (0.25–2s). Animations anchor to the layer’s timing window — an exit finishes exactly at the layer’s end time — and the preview shows them in place.

Audio

Connect audio nodes to add music or voice-over tracks, timed on the same timeline rows as visual layers. A video layer’s own sound is included automatically and gated to its timing window; everything is mixed into the output. Each audio track and video layer has a Volume control (0–200%), and a composition with audio always renders as a video — even if every visual layer is a still image.