Create videos with one command.
Pick a template, hand it your data, get an MP4 back — or a PNG — from your terminal or straight from your browser. Run it again tomorrow and you get the same pixels, frame for frame.
Animated Wireframe
@m0saic/dsl-tutorial/v1
npx m0saic make @m0saic/dsl-tutorial/v1 -w 1280 -h 720 -o tutorial.mp4
QR Code
@m0saic/media/qr/code/v1
npx m0saic make @m0saic/media/qr/code/v1 --props '{"outputFormat":"mp4"}' -w 1080 -h 1080 -o qr.mp4Scroll Wall
@m0saic/media/scroll_wall/v1
npx m0saic make @m0saic/media/scroll_wall/v1 --input-dir ./clips -w 1920 -h 1080 -o wall.mp4
Code Snippet Morph
@m0saic/code/snippet-morph/v1
npx m0saic make @m0saic/code/snippet-morph/v1 -w 1280 -h 720 -o walkthrough.mp4
KPI Card
@m0saic/alpine/kpi-card/v2
npx m0saic make @m0saic/alpine/kpi-card/v2 -w 1280 -h 800 -o kpi.mp4
One string is the whole layout
Rectangles subdivide a canvas — no pixels, no coordinates, just structure. The entire surface:
Your data fills the tiles
Every rectangle is a content slot: images, video, text, colors — or another template. Templates map JSON props to geometry, so a chart is data in, motion out.
--props '{"values": [72, 45, 88, 31, 66]}'ffmpeg compiles it to pixels
The engine builds a deterministic render plan and ffmpeg executes it. Same inputs, same bytes — on your laptop or in CI. Output is an MP4 or PNG small enough to email. No browser in the pipeline.
m0 is the open layout language.
m0saic is the engine that compiles it — open language, open formats, open templates; commercial engine.
m0saic is not a video editor. It is a video compiler.