Benchmarks · measured 2026-10-24

Up to 7.5× faster. No browser.

We rendered the same motion graphics with Volito and HyperFrames on one Mac: same encoder settings, both tools on their defaults, medians of three runs. Here is every number, how we got it, and where HyperFrames is still ahead.

1.9–7.5×
faster renders, across 11 render tests
9–14×
faster agent loop: 0.15–0.19 s a call, not 1.5–2.2 s
51 MB
installed, against 304 MB with Chrome

Render time, in seconds.

Shorter is faster. Short 1080p graphics, 3 to 5 seconds long, rendered to video or frames. The gap is widest on short renders, where HyperFrames spends about 3 s starting Chrome and loading the page.

  • Volito 0.1.0
  • HyperFrames 0.8.188

Lower third 1080p · 4.8 s

H.264 MP4
1.02 s7.60 s
7.5×
ProRes 4444 with alpha
2.80 s8.84 s
3.2×
ProRes 4444, every frame drawn
3.56 s8.84 s
2.5×
PNG frames
1.69 s6.63 s
3.9×

Kinetic title 1080p · 5 s

H.264 MP4
2.01 s5.80 s
2.9×
PNG frames
3.61 s11.49 s
3.2×

Moving squares 1080p · 3 s

10 squares
0.70 s3.92 s
5.6×
100 squares
1.53 s4.61 s
3.0×
1,000 squares
2.97 s6.27 s
2.1×
Show the numbers as a table
TestVolitoHyperFramesFaster
Lower third (1080p · 4.8 s): H.264 MP41.02 s7.60 s7.5×
Lower third (1080p · 4.8 s): ProRes 4444 with alpha2.80 s8.84 s3.2×
Lower third (1080p · 4.8 s): ProRes 4444, every frame drawn3.56 s8.84 s2.5×
Lower third (1080p · 4.8 s): PNG frames1.69 s6.63 s3.9×
Kinetic title (1080p · 5 s): H.264 MP42.01 s5.80 s2.9×
Kinetic title (1080p · 5 s): PNG frames3.61 s11.49 s3.2×
Moving squares (1080p · 3 s): 10 squares0.70 s3.92 s5.6×
Moving squares (1080p · 3 s): 100 squares1.53 s4.61 s3.0×
Moving squares (1080p · 3 s): 1,000 squares2.97 s6.27 s2.1×

Long renders

Thirty seconds of moving squares, 900 frames. Chrome’s start-up matters less over a long render, so the gap settles near 2×.

  • Volito 0.1.0
  • HyperFrames 0.8.188

Moving squares, long 1080p · 30 s

100 squares
10.02 s23.42 s
2.3×
1,000 squares
20.79 s38.90 s
1.9×
Show the numbers as a table
TestVolitoHyperFramesFaster
Moving squares, long (1080p · 30 s): 100 squares10.02 s23.42 s2.3×
Moving squares, long (1080p · 30 s): 1,000 squares20.79 s38.90 s1.9×

The agent loop, 9–14× faster.

An agent writing a graphic looks at it, checks it, fixes it and looks again, many times. Each of those calls comes back from Volito in under a fifth of a second.

  • Volito 0.1.0
  • HyperFrames 0.8.188

Agent loop on the lower third

One still frame
0.19 s2.23 s
11.7×
Four-frame preview
0.15 s2.02 s
13.5×
Check
0.16 s1.52 s
9.5×
Show the numbers as a table
TestVolitoHyperFramesFaster
Agent loop (on the lower third): One still frame0.19 s2.23 s11.7×
Agent loop (on the lower third): Four-frame preview0.15 s2.02 s13.5×
Agent loop (on the lower third): Check0.16 s1.52 s9.5×

HyperFrames does more per call: its snapshot writes full-size frames plus a contact sheet, and its check also audits layout and contrast. Re-checked from a fresh install with all 96 items, Volito’s still, preview and check took 0.14, 0.20 and 0.16 s.

Why it’s faster: no browser.

HyperFrames: HTML in Chrome

  1. Start Chrome about 3 s
  2. Load the page
  3. Screenshot every frame
  4. FFmpeg

Volito: a program per graphic

  1. frame(t, $) returns SVG
  2. resvg, ten frames at a time
  3. FFmpeg

Nothing to boot or load. Node runs the program and resvg rasterises the SVG in the same process. HyperFrames’ own log puts its start at 0.8 s to compile and 2.5 s to set up, before the first frame.

Frames that don’t change are drawn once. A frame is a pure function of time, so a frame that comes out identical to the last is reused. The chart shows the every-frame render too.

Less CPU and memory. Volito used less CPU time in every test, from about the same to 9× less, and less peak memory in all but one (10 squares).

Safer agent code. With no browser, code an agent writes runs in a sandbox with no network, require or eval.

Install size

  • Volito 0.1.0
  • HyperFrames packages
  • Chrome headless shell
Volito
51 MB
HyperFrames
111 MB193 MB Chrome304 MB

Where each one wins.

HyperFrames is a whole video platform; Volito is a graphics engine. Speed is not the only thing that matters, and HyperFrames is ahead on breadth.

Pick Volito for

  • 1.9–7.5× faster renders and a 9–14× faster agent loop in these tests
  • 36 brand styles or your own DESIGN.md, and every aspect from 16:9 to 9:16 from one item
  • ProRes 4444 and HEVC with real alpha, straight onto footage
  • Text that lands on the words of a transcript
  • Agent-written code runs in a sandbox with no network
  • 51 MB installed, no browser, no GPU

Fast, branded overlays, and an agent that iterates in a fifth of a second.

Pick HyperFrames for

  • 448 ready-made items (210 blocks and 238 components) to Volito’s 96
  • Whole videos: footage, an audio mix, captions and colour grading
  • WebGL 3D with models and textures, shader effects, Lottie, and real sub-frame motion blur
  • Studio, a visual editor in the browser and on the desktop
  • Cloud rendering on HeyGen, AWS Lambda or Google Cloud Run
  • 70k GitHub stars, 540 releases and production users

Whole videos, and anything that needs a browser’s full toolbox.

The two can combine: HyperFrames can drive any pure function of time through registerFrameSource, so a Volito graphic could play inside a HyperFrames project. We have not tried it yet.

How we measured

Setup

  • One Apple M4 Mac (10 cores, 16 GB, macOS 26.6.2), Node 22.19, FFmpeg 8.0.1.
  • Volito 0.1.0, measured under its earlier name MONARC Motion, against HyperFrames 0.8.188 with Chrome headless shell 152.
  • Both tools on their defaults: HyperFrames chose its own worker count (4 for the lower third); Volito draws 10 frames at a time.
  • The same encoder settings: x264 preset medium at CRF 16 for MP4, prores_ks 4444 for MOV.
  • 29 jobs run in turn, alternating the two tools: one warm-up round, then three measured rounds (two for the 30-second jobs). Medians reported; wall time is the whole command.
  • Other apps were open, so absolute times are not lab-clean; both tools ran under the same load.

Scenes

Lower third
Each tool’s own ready-made lower third (Volito’s lower-third against the HyperFrames catalog block lt-dark-card), 1920×1080, 30 fps, 4.8 s.
Kinetic title
One title built the same way in both: same Inter files, sizes, timings and eases, with a drifting glow that changes every frame. 5 s.
Moving squares
10, 100 or 1,000 squares on identical paths for 3 s, and 100 or 1,000 for 30 s (900 frames).
Agent loop
What an AI agent runs on the lower third: render one still, a four-frame preview, and a check.

Fairness notes

  • Volito draws a frame that comes out identical to the one before only once, which helps it on the lower third. The every-frame row turns that off: 3.56 s against 8.84 s.
  • The two lower thirds differ: the HyperFrames block is simpler (no full-frame scrim). The kinetic title and the squares are matched.
  • HyperFrames’ snapshot writes full-size frames plus a contact sheet, and its check also audits layout and contrast, so its agent calls do more work per call.
  • On macOS HyperFrames captures frames by screenshot; its docs say the BeginFrame capture on Linux is faster. These numbers are from macOS only.
  • Both tools gave identical frames on a second render, and byte-identical ProRes files.
HyperFrames ships often and has not been re-run since HyperFrames 0.8.188. These numbers are from one Mac on 2026-10-24; if you measure something different, especially on Linux, tell us and we will update this page.
$ npm install volito
Read the docsUse it from an agent