Archived docs Get your API Key
Get started
Tutorials
Guides
Reference
Help for AI agents
🤖 AI Assistant

Element

An element is the smallest renderable unit in a movie. Elements live inside a scene's elements array or on the movie's top-level elements array (overlaying every scene). The shape of an element depends on its type field.

Element types

Type Description Reference
image Static image. Image element
video Video clip. Video element
text Styled text overlay. Text element
html HTML snippet or full webpage screenshot/recording. HTML element
component Pre-built animated component from the library. Component element
audio Audio track. Audio element
voice AI text-to-speech voiceover. Voice element
audiogram Audio waveform visualisation. Audiogram element
subtitles Automatic or manual subtitles. Subtitles element

The template element type is deprecated. Use the template movie-level field to reference a saved template instead.

Common properties

All element types share the following base properties:

  • id — unique identifier.
  • type — element discriminator. Required on every element.
  • condition — string expression; element is rendered only when truthy.
  • variables — element-local variables.
  • comment — free-form note.
  • duration — element length in seconds. -1 auto-calculates from the asset; -2 matches the container.
  • start — start time in seconds relative to the parent container.
  • extra-time — additional time after the element ends.
  • z-index — stacking order override (-99 to 99).
  • cache — reuse the cached render when inputs match.
  • fade-in, fade-out — opacity envelope, in seconds.

Visual elements (image, video, text, html, component, audiogram) additionally share:

  • position, x, y — placement.
  • width, height, resize — sizing.
  • rotate, crop, zoom, pan, pan-distance, pan-crop — transformations.
  • chroma-key, correction, flip-horizontal, flip-vertical, mask — visual effects.

Audio-producing elements (video, audio, voice, audiogram) additionally share:

  • muted — silence the element.
  • volume — gain (0–10, 1 = unity).

Example

{
    "resolution": "full-hd",
    "scenes": [
        {
            "elements": [
                { "type": "image", "src": "https://example.com/photo.png" },
                { "type": "text", "text": "Hello", "style": "001" }
            ]
        }
    ]
}

Elements placed at the movie level (instead of inside a scene) render above every scene for the entire movie:

{
    "scenes": [/* … */],
    "elements": [
        { "type": "image", "src": "https://example.com/logo.png", "position": "top-right" }
    ]
}