The CLI

Everything runs through one command, volito. Run it with npx volito … without installing, or install the package and call it directly.

Commands

volito list                                   # every item (--search words, --category c)
volito info stat                              # what it is, every prop and part
volito styles                                 # the built-in brand styles
volito moves                                  # every move, ease, idle, hit and mood
volito sheet title-card --mood playful --seed 7   # a new choreography, frames across time in one PNG
volito sheet stat --prop value=72 --prop suffix=% --prop chart=ring
volito still title-card --aspect 9:16 --t 1.5 --out frame.png
volito render banner --prop headline="Doors open at 9" --format webm --out banner.webm
volito check ./my-graphic.js                  # run it at every aspect, report problems
volito new promo-card                         # item.json + frame.js from a template
volito api                                    # the whole $ runtime, for writing graphics
volito guide                                  # how items and packs are laid out
volito mcp                                    # an MCP server on stdio, for agents

list, info, styles and moves take --json for machine-readable output. An item is named by its id (lower-third) or its full ref (essentials/lower-third); a path to a .js file or an item folder works anywhere an item does.

Options

OptionWhat it does
--prop name=valueA prop; repeat for more. Lists take "a; b; c". Chart rows take "Label: 42; Other: 17".
--props <json or file>Every prop at once.
--image name=pathA picture for an image prop: a file or a URL.
--style <name or DESIGN.md>A built-in style or your brand's DESIGN.md.
--accent --accent2 --ink --paper #hex · --mode dark|light · --display --text Font:900Overrides on the style.
--aspect 16:9|9:16|1:1|4:5|WxH · --duration s · --fps n · --width pxThe frame.
--bg #hex|transparentA ground under the graphic. Overlays are transparent by default.
--words transcript.json · --offset sLand text on a voice: [{w, s, e}] or Whisper JSON.
--motion part.setting=valueHow a part moves; repeat, * for every part. See Motion.
--mood m · --seed n · --speed xA choreography, a new take per seed, faster or slower.
--beat in=0.4 --beat out=-0.6Move the entrance and exit; negative counts from the end.
--packs <dir>More packs (also the VOLITO_PACKS environment variable).
--format mov|webm|mp4|hevc|gif|pngFor render; png or svg for still.
--out pathWhere to write. The extension picks the format when --format is not given.
--jsonMachine-readable output from list, info, styles and moves.

Environment

VariableWhat it does
VOLITO_FFMPEGThe ffmpeg to encode video with; otherwise the one on PATH.
VOLITO_PACKSExtra pack folders, :-separated, added to the built-in packs.

The older MONARC_MOTION_FFMPEG and MONARC_MOTION_PACKS names are still read.

Exit codes and errors

A finished render prints its format, size, frame rate, length, frame count, file size and time taken. check exits 1 when any aspect reports an error, and 0 when there are only warnings. Any other failure exits 2 with the reason: a wrong item name lists the nearest matches, and a missing ffmpeg says how to install it or point VOLITO_FFMPEG at one.