Motion Language Reference
.motion is Motionly’s source format. The editor should create and update it visually, but agents and contributors need to keep the syntax clean.
Canvas
Text
size, not fontSize.
Asset
import accepts PNG/JPEG, static or animated SVG, GIF, MP4, WebM, MOV/M4V, and .lottie. Animated assets use the same editable layer transforms and timeline clip syntax as images.
Animation
easing, not ease.
Useful Properties
xywidthheightscalerotationoriginX/originY(normalized transform origin)skewX/skewYopacityblurbrightnessshadowsizecolorfill,stroke,strokeWidth(simple path SVG overrides)centerlayer
Audio
.motion, play during preview, remain on the bottom track, and export with MP4. Dragging audio horizontally updates start.
Timeline Tracks and Clips
main, overlay, and audio. Track content records legacy/purpose metadata (primary, video, image, text, effect, or audio). Visual roles and content do not restrict editing: every visual track behaves as a simple layer, accepts any visual content, and allows gaps or overlaps. hidden suppresses a visual track, muted disables track audio, and order persists layer stacking. Audio remains bottom-only.
Media clips use start, duration, trimIn, and trimOut. Regular text/image/overlay/effect elements use start and duration as a non-destructive visibility window, so trimming and splitting do not rewrite authored animations. Existing numeric clip tracks remain backward compatible.
Easing
Preferred:power3.outsmoothsoftease-outlinear
Product Rule
Do not make.motion authoring the main user workflow. Keep it readable because it is the source of truth, but build UI controls first.