Skip to main content

Common Element Properties

Every visual element (TEXT, IMAGE, VIDEO, GIF, and the deprecated SVG) shares the same placement, timing, and layering fields. This page is the canonical reference for those shared properties — element pages document only what is specific to their type and link back here.

Visual elements belong in payload.visuals or payload.scenes[n].visuals. Timing and animation fields below are for video projects; image projects use always-visible static elements and reject timing fields.

Placement & Transform​

PropertyTypeDefaultNotes
x, ynumber0Pixel position. Ignored when a position preset is used.
width, heightnumberauto (source / computed)Element size in pixels. Limited by plan input resolution for media.
positionPositionPresetcustom9-grid preset placement such as center-center. See PositionPreset.
anchorAnchorderived from position when preset is usedTransform origin for placement and rotation. See Anchor.
opacitynumber10 (invisible) to 1 (opaque).
anglenumber0Rotation in degrees, -360 to 360, around the anchor.
flipV, flipHbooleanfalseVertical / horizontal mirroring.

With custom coordinates, omitted anchor uses top-left. All sizes and positions are pixels on the output canvas, not CSS percentages. A preset overrides explicit x/y; for an inset or margin, use custom coordinates. See Layout for worked positioning examples.

Timing​

All times are seconds on the element's timeline — the project timeline, or the scene-local timeline when the element lives inside a scene. Inside a scene, duration-based defaults refer to that scene's resolved length. For source trimming and automatic duration, see Timing.

PropertyDefaultNotes
enterBegin0Element starts appearing.
enterEnd0Element is fully visible.
exitBeginproject.durationElement starts disappearing.
exitEndproject.durationElement is fully gone.

The element is invisible before enterBegin, animates in until enterEnd, stays visible until exitBegin, and animates out until exitEnd. The enter/exit windows only have an effect when paired with an enterAnimation / exitAnimation; with no animation the element simply cuts in at enterBegin and out at exitEnd.

Layering​

PropertyDefaultNotes
track0Z-order: higher tracks render above lower tracks. Inside scenes, scene elements always render below project-level (global overlay) visuals.

Animations​

PropertyDefaultNotes
enterAnimationnullXfade effect name for the enter window. See Animations.
exitAnimationnullXfade effect name for the exit window.

Supported effect names are listed in XFadeEffect.

Media-Only Properties​

Media elements add resizing and effect options. Support by type:

PropertyIMAGEVIDEOGIFTEXTSVG (deprecated)
resize (contain/cover)✅✅✅——
zoom (Ken Burns)✅✅✅——
filter✅✅✅—✅
cropParams✅✅✅——
chromaKey✅✅✅—✅
radius✅✅✅——

TEXT elements style themselves with style and customCode instead — rounded corners, shadows, and filters are all regular CSS there.

Audio Timing Is Different​

Audio items are not visual elements: they use enter / exit for timeline placement and audioBegin / audioEnd for source trimming, and have no transform, layering, or animation fields.