Files
frames/packages/cli
zooqueen 1d910c40de audio: name the voice route the CLI actually takes
Kokoro stays: it is an open-source model that runs on the user's machine, and
it is what `frames tts` invokes when there is no Hanzo credential. Hosted
speech on `POST /v1/audio/speech` is preferred when a credential resolves.

Three statements about that order were not true. providers.ts claimed to
mirror the media-use skill's resolution order, but that skill is hosted-only
and returns an error without a credential rather than falling back — the CLI's
fallback is its own. The unit test repeated the claim in its describe name.
The prompting guide opened with the hosted endpoint and then listed Kokoro
voice IDs under it, which are inputs to the local engine.
2026-08-13 18:10:27 -07:00
..

@hanzo/frames

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

Install

npm install -g @hanzo/frames

Or use directly with npx:

npx @hanzo/frames <command>

Both install the frames command.

Requirements: Node.js >= 22, FFmpeg

Commands

init

Scaffold a new Hyperframes project from a template:

npx @hanzo/frames init my-video
cd my-video

preview

Start the live preview studio in your browser:

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

npx @hanzo/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 @hanzo/frames render -o output.mp4
npx @hanzo/frames render -c ./my-composition.html -o output.mp4

lint

Validate your Hyperframes HTML:

npx @hanzo/frames lint ./my-composition
npx @hanzo/frames lint ./my-composition --json      # JSON output for CI/tooling
npx @hanzo/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 @hanzo/frames compositions

benchmark

Run rendering benchmarks:

npx @hanzo/frames benchmark ./my-composition.html

doctor

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

npx @hanzo/frames doctor

browser

Manage the bundled Chrome/Chromium installation:

npx @hanzo/frames browser

info

Print version and environment info:

npx @hanzo/frames info

docs

Open the documentation in your browser:

npx @hanzo/frames docs

upgrade

Check for updates and show upgrade instructions:

npx @hanzo/frames upgrade
npx @hanzo/frames upgrade --check --json  # machine-readable for agents

Documentation

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