Skip to main content
This page is the field-by-field reference for the elements[] array in POST /v1/renders. For full request body examples see the Render Examples section.

How to read this page

Dimension fields accept a pixel number (960), a percentage string ("50%"), or an angle string ("90°" / "90deg") depending on context.

Common fields

These fields are present on every element type.

Advanced transform & looks

These fields are accepted on every visual element (video, image, text, gradient, shape). They compose against the canvas backdrop and are ignored on audio.
video and image also accept the extended colour grade: temperature, tint, vibrance, highlights, shadows (in addition to brightness/contrast/etc.).

video

Plays a video clip on the timeline.

Source and trim

Video elements do not have a duration field. Clip length on the output timeline is determined by out_point − in_point (accounting for speed). To fix the output to a specific length, set a top-level duration on the request.

Position and size

Audio

Color adjustments

Cropping

Border and shadow

Effects, motion

AI media operations — background removal, gaze redirect, super-resolution — are not inline render fields. Run them first as standalone Tasks (POST /v1/tasks/{type}), then reference the processed output URL as a video element’s source_url.

audio

Plays an audio clip or background music track.

text

Renders a text layer on screen.
duration is required on text elements. Omitting it produces a zero-length window — the text will not appear in the render.

image

Renders a static image on screen.
Both id and duration are required on image elements. An empty or missing id causes the image to be silently skipped by the renderer. A missing duration produces a zero-length window.

gradient

A rounded gradient card / bar / pill as one element (§5e). Accepts the common transform/looks fields plus:

shape

A first-class vector primitive: SVG path fill + stroke, morphing, trim paths (§5b).

Composition-level features

Set on the render request itself (siblings of elements), not on individual elements:

Sub-objects

Motion

Used in motion[] on video, text, and image. These are pre-built motion presets — not keyframe animations.

Effect

Used in effects[] on video and image.

ChromaKeyProps

WordAnimation

Used as word_animation on text. Drives word-by-word animated text synchronized to timestamps.

Word

Used in word_animation.words[]. Timestamps are absolute timeline seconds — the same clock as the element’s time, motion time, and everything else.

WordSpec

Used in words[] on text. Per-word timing with an optional style override (whole-word matches only).

ValueCounter

Used as counter on text. Rewrites the text from an eased numeric sweep.

TextGlow

Used as glow on text.

Gradient object

Used as gradient on gradient elements and as background_gradient on the request.

DropShadow

Used as shadow on gradient / shape elements.

Matte

Used as matte on visual elements. Drives coverage from another layer’s isolated render (the source auto-hides).

MaskConfig

Used as mask on visual elements (layered on the analytic mask_shape).

AudioGenerator

Used as audio in a motion[] entry. Each frame the soundtrack FFT reduces to the feature and offsets the element’s properties by amount × feature.

RangeSelector

Used as selector in a motion[] entry on text. Shapes the animation amount by position along the text.

Group

Used in the request-level groups[]. Composes member → group → parent (pixel-space, aspect-correct).