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
Audio is imported and placed exactly like visual media: animport for the file, and one clip per placement on an audio track. The same file can appear as many times as you like.
start, duration, trimIn, trimOut — plus:
volume— linear gain,1is source level. Values above1are clamped, so preview and export always agree.mute— silence this clip without changing its volume.fadeIn/fadeOut— ramp lengths at the head and tail. Together they never exceed the clip; overlapping fades multiply.speed— playback rate,1is source speed. A clip atspeed 2consumes twice as much source per timeline second.
.motion, plays during preview, and is mixed into MP4 and WebM export.
The single audio "..." { start } node from earlier versions still loads. The editor converts it to an import plus a clip the first time the project is opened, so no manual migration is needed.
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 tracks sort below the visual ones, and a project may declare as many of them as it needs.
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.
Themes and archetypes
New generated projects can declare atheme once and compose scenes with
archetype blocks. Archetypes own layout, while titles, media aliases, effects,
and timing remain editable source. Existing coordinate-based projects continue
to parse unchanged.
