Files
frames/packages/cli
zooqueenandHanzo Dev 70b41673a3 frames: rebrand the fork to Hanzo Frames
Forked from HyperFrames (Apache-2.0), full history preserved.

Hosts are mapped explicitly and BEFORE the identifier rename, because
hyperframes.heygen.com is not decoration: 175 of its occurrences are $schema
identifiers that a validator dereferences. A blind rename would have left them
naming a host that never serves them. The schema files are in this repo under
docs/schema, so the mapped host is one we can actually serve -- that is the
condition that makes the rewrite safe, and serving them is a deploy task, not
an edit. docs/schema/hyperframes.json is renamed to frames.json to match the
identifier it is now published under.

api.heygen.com and the CLI auth against heygen.com are left UNRENAMED on
purpose. They are a dependency on HeyGen's SaaS, not a name of ours to take,
and the right move is to remove that integration rather than rebrand it.

LICENSE and CREDITS.md are untouched; NOTICE records the lineage.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 23:42:24 -07:00
..

frames

CLI for creating, previewing, and rendering HTML video compositions.

Install

npm install -g frames

Or use directly with npx:

npx frames <command>

Requirements: Node.js >= 22, FFmpeg

Commands

init

Scaffold a new Hyperframes project from a template:

npx frames init my-video
cd my-video

preview

Start the live preview studio in your browser:

npx frames preview
# Studio running at http://localhost:3002

npx frames preview --port 4567

render

Render a composition to MP4. Run from the project directory; the positional argument is the project directory (not a file), so render the project's index.html directly, or point at a specific composition file with -c:

npx frames render -o output.mp4
npx frames render -c ./my-composition.html -o output.mp4

lint

Validate your Hyperframes HTML:

npx frames lint ./my-composition
npx frames lint ./my-composition --json      # JSON output for CI/tooling
npx frames lint ./my-composition --verbose   # Include info-level findings

By default only errors and warnings are shown. Use --verbose to also display informational findings (e.g., external script dependency notices). Use --json for machine-readable output with errorCount, warningCount, infoCount, and a findings array.

compositions

List compositions found in the current project:

npx frames compositions

benchmark

Run rendering benchmarks:

npx frames benchmark ./my-composition.html

doctor

Check your environment for required dependencies (Chrome, FFmpeg, Node.js):

npx frames doctor

browser

Manage the bundled Chrome/Chromium installation:

npx frames browser

info

Print version and environment info:

npx frames info

docs

Open the documentation in your browser:

npx frames docs

upgrade

Check for updates and show upgrade instructions:

npx frames upgrade
npx frames upgrade --check --json  # machine-readable for agents

Documentation

Full documentation: frames.hanzo.ai/packages/cli