m0 is the addressing system for programmable visual composition.
The v1.0.0 language spec is frozen. Everything above builds on it without changing it.
m0saic compiles m0 layout strings into deterministic ffmpeg render plans. Templates are parameterized generators — they accept props (data, media, configuration), produce a valid m0 layout, and render it to video in a single CLI command.
The template ecosystem ships with the engine later this year. Templates are code — developers write them in TypeScript, publish them to the registry, and anyone can render them with a single CLI command. Categories span media utilities, data visualization, branded content, and social formats. Every template works at any resolution. Every render is reproducible.
@m0saic/media/screencap_grid_mp4/v1
One template, any video, any resolution. Generates a visual summary with ffprobe metadata in a top pane and a rows × cols grid of animated screencaps below. Each cell has an overlay layer where the timestamp renders. Gutters between cells are baked into the geometry itself, computed at render time from template parameters.
$ m0saic make \
@m0saic/media/screencap_grid_mp4/v1 \
-w 1920 -h 1080 \
--props '{"rows":3,"cols":4, \
"withInfoPane":true, \
"withTileTimestamp":true, \
"tileGap":0.001, \
"sourceId":"big_buck_bunny_1080p.mov"}' \
-o screencap_desktop.mp4$ m0saic make \
@m0saic/media/screencap_grid_mp4/v1 \
--input-dir ./raw-footage/ \
-w 1920 -h 1080 \
--props '{"rows":3,"cols":4, \
"withInfoPane":true, \
"withTileTimestamp":true}' \
-o ./screencaps/Same template, different resolution parameter. The m0 layout adapts the grid arrangement to fit the target aspect ratio. Batch mode runs every file in a directory through the same template — hundreds of renders, zero manual work.
@m0saic/hero/athlete-spotlight/v1
Weekly performance summaries generated from live sports data. One template serves every league — connect to any sports API, pass the athlete and time period, and get a broadcast-ready video. Same structure, different data, every week, no human in the loop.
$ m0saic make \
@m0saic/hero/athlete-spotlight/v1 \
-w 1080 -h 1920 \
--props '{"league":"nba", \
"athlete":"Stephen Curry", \
"period":"week-12"}' \
-o spotlight_nba.mp4Same template, three leagues, three athletes. Swap the props, get a new video. Ideal for automated social media pipelines — a cron job generates this week's spotlight for every athlete in a roster, ready to post without manual editing.
@m0saic/hero/github-dashboard/v1
Animated project dashboard — commit activity, contributor stats, language breakdown, and repository metadata composed into a single video. Same template renders at any aspect ratio. Data-driven layout where every panel is an m0 tile.
$ m0saic make \
@m0saic/hero/github-dashboard/v1 \
-w 1920 -h 1080 \
--props '{"repo":"https://github.com/ffmpeg/ffmpeg", \
"branch":"master", \
"period":"7d"}' \
-o dashboard_desktop.mp4Template pulls live data from the GitHub API. Layout, animation timing, and data presentation are all defined in the m0 composition layer — no manual editing required. Final output is under 1MB of HD video — small enough to embed in email, drop into a Slack thread, or present in a Teams meeting. Build the template once, run it forever.