When to use
- Social media templates with brand overlays
- Product images with text and badges
- Multi-layer video compositions
- Branded content with logo placement
upload_image + text_prompt → composer, or upload_video + text_prompt + upload_image → composer.
Inputs
Image layers. Accepts multiple inputs and supports loop mode.
Text layers. Accepts multiple inputs and supports loop mode.
Video layers. Accepts multiple inputs and supports loop mode.
Audio tracks. Accepts multiple inputs and supports loop mode. Connecting audio makes the composition render as a video.
Outputs
The composed image. Emitted when the composition has no video layers.
The composed video. Emitted when any video layer is present.
Configuration
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.The canvas background fill, as a hex color. Visible where no layer covers it.
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.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.
Where the exported video begins, in composition seconds (omit for 0). Trims the whole output — picture and audio together.
Where the exported video ends, in composition seconds (omit for the composition’s end).
Only used when
arrangement is sequence. Seconds of cross-dissolve between consecutive clips (0 = hard cuts).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 exactStart 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.