Rendering and formats
Volito draws every frame as SVG in Node, rasterises it with resvg and hands the frames to ffmpeg. No browser, no GPU, the same picture on every machine.
Formats
| Format | What you get |
|---|---|
mov | ProRes 4444 with alpha. The default, for every desktop editor. |
hevc | HEVC with alpha in .mov. Small files for Final Cut, iMovie and Safari on macOS. |
webm | VP9 with alpha, for the web and CapCut. Needs an ffmpeg built with libvpx. |
mp4 | H.264, no alpha, drawn on --bg (black by default). |
gif | Animated GIF with 1-bit transparency. |
png | A folder of PNG frames with alpha. |
svg | One frame as SVG, from still. |
volito render lower-third --out priya.mov # ProRes 4444 + alpha
volito render lower-third --format hevc --out priya.mov # small alpha file for Apple apps
volito render lower-third --format webm --out priya.webm
volito render lower-third --format mp4 --bg "#000000" --out priya.mp4
volito render lower-third --format png --out frames/Overlays and full-frame items
Items are either overlays (lower thirds, callouts, annotations) that render transparent so they sit on footage, or full-frame items (title cards, backdrops, transitions) that draw their own ground. --bg puts a colour under either. MP4 has no alpha, so overlays rendered to MP4 get a black ground unless you pass one.
How a frame is drawn
Node runs each program in a fresh vm context holding the same worker source the MONARC PRO editor uses. Only strings and numbers cross into it; eval, Function, require, process and the network are out of reach, and a frame that runs too long is stopped. Text is measured with fontkit against the bundled faces; frames are rasterised by resvg. Text beyond a face's Latin cut is shaped by fontkit and drawn as outlines, so Devanagari, Cyrillic, Greek and Vietnamese set properly. Frames that don't change between two moments are drawn once.
vm keeps mistakes contained, but it is not a security boundary. Run packs you trust, as you would any npm package.
Speed
| On an Apple M4 laptop | |
|---|---|
| A still frame from the command line | 0.14 s |
| A 5-second lower third to ProRes 4444 with alpha | 2.5 s |
| A contact sheet of eight frames (an agent preview) | about 0.3 s |
| Installed size | 51 MB, with the fonts and packs |
Nothing here depends on a GPU, so the same numbers hold on a server or in CI.
Scripts and languages
Latin, Latin Extended, Vietnamese, Cyrillic, Greek and Devanagari (Hindi) ship in the bundled faces and are shaped properly. Not every face covers every script: when the style's face lacks a character, the renderer takes it from the first bundled face that has one, so check a still in the face you picked.