|
id
String
|
Any unique string (e.g. "video1", "text1", "image1") |
Required / None |
Video, Image, Text, Rectangle, Audio |
Unique identifier for the element within the script. Used to map dynamic media inputs (inputID) and relative timeline triggers. |
|
play
Integer | Array | String
|
Milliseconds (e.g. 0, 3000), relative trigger (e.g. "image1.start", "video1.end"), or offset array (e.g. ["image1.start", 2000]) |
0 |
Video, Image, Text, Rectangle, Audio |
Defines when the element begins playback along the global video timeline. |
|
duration
Integer | String | Omitted
|
Positive integer in milliseconds (e.g. 3000, 5000), relative anchor (e.g. "video1.duration"), or omitted for audio/video |
Omitted (auto-calculated from source media for audio/video) | Required for static layers |
Video, Image, Text, Rectangle, Audio |
Playback duration of the element in milliseconds. For video and audio layers, duration can be safely omitted: the compositor engine automatically inspects and calculates the duration from the source media file. It can also anchor dynamically to another layer (e.g. "video1.duration"). |
|
position
Object
|
{"x": 0.0 to 1.0 or $var, "y": 0.0 to 1.0 or $var} |
{"x": 0.0, "y": 0.0} |
Video, Image, Text, Rectangle |
Normalized relative coordinates (0.0 to 1.0) originating from the top-left canvas corner. |
|
size
Object
|
{"w": 0.0 to 1.0 or $var, "h": 0.0 to 1.0 or $var} (set -1 to auto-preserve aspect ratio) |
{"w": 1.0, "h": 1.0} |
Video, Image, Text, Rectangle |
Normalized width and height relative to canvas dimensions. |
|
imageAspect
String
|
"preserve" | "fill" | "stretch" |
"preserve" |
Video, Image |
Controls how media scaling adapts to container size without distortion. |
|
mediaTrim
Array of Objects
|
[{"start": ms, "duration": ms}] (negative start trims from end, e.g. [{"start": -10000}]) |
None |
Video, Audio |
Trims source media playback bounds before compositing onto the canvas. |
|
textLines
Integer
|
Positive integer (e.g. 1, 2, 3) |
1 |
Text |
Maximum allowable lines for dynamic text before wrapping. |
|
textSizeFit
Boolean | String
|
true | false | "true" | "false" |
false |
Text |
Automatically calculates and fits font size to fit the container bounds. |
|
color
String
|
Hex color format (e.g. "0xFF000000", "0xFFFF0000", "0x88009CCC") |
"0xFF000000" |
Text, Rectangle |
ARGB hex color definition for text typography and rectangle backgrounds. |
|
font
String
|
PostScript font name from Pirsonal Font Library (e.g. "Lato-Regular", "Montserrat-Bold") |
"Arial" |
Text |
Font family applied to the typography layer. |
|
active
Boolean | String
|
true | false | "$variable_name" |
true |
Video, Image, Text, Rectangle, Audio |
Dynamic condition flag. If set to a template variable (e.g. "$image1_show"), the layer only renders when the variable resolves to true. |
|
zIndex
Integer
|
Integer >= 0 |
Layer index |
Video, Image, Text, Rectangle |
Visual stacking order. Layers with higher zIndex render in front of layers with lower zIndex. |
|
events
Array of Objects
|
[{"start": {...}}, {"start+1000": {...}}, {"end-1000": [...]}] |
[] |
Video, Image, Text, Rectangle, Audio |
Array of procedural animation and keyframe instructions triggered at specific offsets. |