hyperframes-cli

작성자: heygen-com

HyperFrames CLI dev loop — `npx hyperframes` for scaffolding (init), validation (lint, inspect), preview, render, and environment troubleshooting (doctor, browser, info, upgrade). Use when running any of these commands or troubleshooting the HyperFrames build/render environment. For asset preprocessing commands (`tts`, `transcribe`, `remove-background`), invoke the `hyperframes-media` skill instead.

npx skills add https://github.com/heygen-com/hyperframes --skill hyperframes-cli

HyperFrames CLI

Everything runs through npx hyperframes unless project instructions specify a local wrapper. Obey the local wrapper exactly. Requires Node.js >= 22 and FFmpeg.

Workflow

  1. Scaffoldnpx hyperframes init my-video (or capture from a URL)
  2. Write — author HTML composition (see the hyperframes-core skill)
  3. Lintnpx hyperframes lint
  4. Validatenpx hyperframes validate (runtime errors + contrast)
  5. Visual inspectnpx hyperframes inspect
  6. Previewnpx hyperframes preview
  7. Render — pick the variant:
    • Iterate: npx hyperframes render --quality draft
    • Deliver: npx hyperframes render --quality high --output out.mp4
    • CI / cross-host repro: npx hyperframes render --docker --strict --output out.mp4
    • Cloud (long / large): npx hyperframes lambda render ./my-project --width 1920 --height 1080 --wait (see Lambda below)

Run lint, validate, and inspect before preview. lint catches missing data-composition-id, overlapping tracks, and unregistered timelines. validate loads the composition in headless Chrome and reports runtime console errors plus WCAG contrast issues. inspect seeks through the timeline and reports text spilling out of bubbles/containers or off the canvas.

For motion-heavy work, prefer snapshot-driven iteration — see references/lint-validate-inspect.md for the discipline.

Agent Conventions

Cross-cutting rules that hold for every command:

  • --json is available on every command except render, preview, and play. Use it for any agent / CI invocation of the supported commands; output includes a _meta envelope (cli version, latest available, update advice). render reports status via stdout + exit code only — verify success with the post-render check below; preview / play are servers, no JSON.
  • doctor --json always exits 0, even when the environment is broken. Gate on the payload's ok field: npx hyperframes doctor --json | jq -e '.ok' > /dev/null. This insulates pipelines from CLI release churn.
  • Non-TTY mode is auto-detected. When stdout is not a TTY (CI, agents, piped output) the CLI auto-switches to non-interactive; init then requires --example. Pass --non-interactive to force this mode even on a TTY.
  • CI gating on render: --strict fails on lint errors, --strict-all fails on warnings too, --strict-variables fails on undeclared --variables keys.
  • Paths in --json are redacted$HOME becomes the literal $HOME so output is safe to paste into bug reports and agent contexts.
  • Post-render verification. After render returns exit 0, confirm the output file exists and has plausible size before reporting success: [ -s "$OUTPUT" ] || echo "render produced no output". The CLI prints ◇ <path> on success; for long renders also sanity-check duration with ffprobe -i "$OUTPUT" -show_format -v error.

Routing

Want to…Read
Scaffold a project (init, capture, skills)references/init-and-scaffold.md
Check correctness (lint, validate, inspect, snapshot)references/lint-validate-inspect.md
Preview or render (preview, play, render, publish)references/preview-render.md
Diagnose the environment (doctor, browser)references/doctor-browser.md
Cloud render on AWS Lambda (lambda deploy / sites / render / progress / destroy / policies)references/lambda.md
Everything else (info, upgrade, compositions, docs, benchmark, telemetry, asset preprocessing)references/upgrade-info-misc.md

Cross-Skill Hand-Offs

  • Tailwind projects (init --tailwind) → use hyperframes-core (Tailwind reference) before editing classes or theme tokens.
  • Registry blocks/components (hyperframes add, hyperframes catalog) → use hyperframes-registry for install paths, sub-composition wiring, and snippet merging.
  • Asset preprocessing (tts, transcribe, remove-background) → use hyperframes-media for voice selection, Whisper model rules, captions, and TTS-to-captions chain.
  • Parametrized renders (--variables) → declared via data-composition-variables on <html>; see hyperframes-core for the full schema.

Lambda (Cloud Rendering)

hyperframes lambda deploys distributed rendering to AWS Lambda and drives renders from your laptop or CI. End-to-end is three commands:

npx hyperframes lambda deploy                                             # provision SAM stack (Lambda + Step Functions + S3)
npx hyperframes lambda render ./my-project --width 1920 --height 1080 --wait
npx hyperframes lambda destroy                                            # tear down (S3 bucket is retained)

Use Lambda when a render is too long / too large for one host (multi-minute videos, 4K, large parallel batches) and you have AWS credentials configured. For dev-loop iteration stay on local render.

See references/lambda.md for prerequisites, all 6 subcommands (deploy, sites create, render, progress, destroy, policies), IAM policy validation, state files, and cost / cleanup rules.

Minimum Completion Gate

Static gates

npx hyperframes lint
npx hyperframes validate

Add inspect for layout-sensitive work and render --strict in CI to fail on lint errors.

Visual smoke test — required when the project uses sub-compositions

lint / validate / inspect evaluate each composition in isolation. They never load index.html and mount sub-compositions via data-composition-src, so they cannot catch cross-file mount failures (see hyperframes-corereferences/sub-compositions.md, "Common pitfalls"). The only gate that catches them is one that actually loads index.html and seeks the timeline.

Use hyperframes snapshot — it loads the project the same way render does (so it exercises the same mount path) but only captures the timestamps you request, so it's seconds instead of a full render:

# Capture one frame at the midpoint of every sub-composition.
# Midpoints = data-start + data-duration/2 for each host slot in index.html.
npx hyperframes snapshot --at <t1>,<t2>,<t3>,...

# Or, if you don't need per-scene targeting, an evenly-spaced sample:
npx hyperframes snapshot --frames 9

Output lands in snapshots/frame-NN-at-Xs.png. Eyeball each frame against the scene plan.

Per-frame red flags (each maps to a specific failure mode the static gates miss):

What you seeRoot cause
Text shows up tiny + unstyled in the top-left corner<style> block left in <head> outside <template> (Pitfall 1) — no CSS reached live DOM
SVG/icon elements blown up to canvas-sizeSame as above — no width/height constraints applied
Hero element of the scene is missing entirely; only background + watermark visibleHost-id ≠ template id (Pitfall 2) — timeline never ran, frame captured at initial state
Snapshot command logs Sub-composition timelines not registered after 45000msPitfall 2 — direct confirmation

snapshots/ can be deleted after eyeballing; the user-facing final render is a separate pass with npx hyperframes render.

heygen-com의 다른 스킬

hyperframes-animation
heygen-com
HyperFrames의 모든 애니메이션 지식 — 원자적 모션 규칙, 다중 단계 씬 청사진, 씬 전환, 광범위한 모션 디자인 기법, 그리고 7개의 런타임 어댑터(GSAP 기본, Lottie, Three.js, Anime.js, CSS 키프레임, Web Animations API, TypeGPU). 모든 모션 또는 애니메이션 작업에 사용: 2-4개의 규칙을 선택하여 구성하거나, 청사진을 로드하거나, 런타임별 API(GSAP 이징 / Lottie 플레이어 / Three.js 믹서 등)를 조회합니다. HyperFrames 네이티브: 단일 일시 정지 타임라인, 시크 안전,...
creativedevelopmentdesign
hyperframes-core
heygen-com
HyperFrames HTML 구성 계약. 구성 구조, 데이터 속성, 클립, 트랙, 하위 구성, 변수, 미디어 재생, 결정적 렌더링 규칙 및 최소 렌더링 가능 프로젝트의 검증에 사용합니다.
developmentmediacreative
hyperframes-media
heygen-com
HyperFrames 컴포지션을 위한 에셋 전처리 — 다중 제공자 TTS(HeyGen / ElevenLabs / Kokoro 로컬), 다중 제공자 BGM(Google Lyria / 로컬 MusicGen), Whisper 전사, 배경 제거 및 캡션 작성. npx hyperframes tts, bgm, transcribe, remove-background, voice/provider 선택, music-mood 프롬프팅, captions / subtitles / lyrics / karaoke / per-word 스타일링에 사용합니다.
mediaaudiovideo
hyperframes-registry
heygen-com
레지스트리 블록과 컴포넌트를 HyperFrames 구성에 설치하고 연결합니다. hyperframes add 실행 시, 블록이나 컴포넌트 설치 시, 설치된 항목을 index.html에 연결할 때, 또는 hyperframes.json 작업 시 사용합니다. add 명령어, 설치 위치, 블록 하위 구성 연결, 컴포넌트 스니펫 병합, 레지스트리 검색, 그리고 업스트림에 기여할 새 블록이나 컴포넌트 작성(아이디어 → 스캐폴드 → 검증 → PR)을 다룹니다.
developmentapicode-review
general-video
heygen-com
사용자 정의 HyperFrames HTML 비디오 구성 제작 시 전용 워크플로가 적합하지 않을 때 대체 도구로 사용합니다. 긴 길이 또는 여러 장면의 작품, 브랜드/시즐 릴, 몽타주, 타이틀 카드, 모션 포스터, 정적 루프, 모든 길이와 형식의 자유로운 구성을 다룹니다. 마케팅 제품 프로모션(product-launch-video), 일반 웹사이트-투-비디오 캡처(website-to-video), 주제 설명(faceless-explainer), GitHub PR 비디오(pr-to-video), 기존 영상 자막 처리 등에는 사용되지 않습니다.
videocreativemedia
motion-graphics
heygen-com
사용자가 모션이 메시지가 되는 짧고 디자인 중심의 모션 그래픽을 원할 때 사용합니다: 키네틱 타이포그래피, 숫자/통계 카운트업, 차트/데이터 시각화 히트, 로고 스팅, 브랜드 록업, 하단 서드, 콜아웃, 소셜 오버레이, 애니메이션 헤드라인/트윗/뉴스 아이템, 모션 포스터, 또는 빠른 캡처 페이지 하이라이트. 일반적으로 10초 미만에서 최대 약 30초이며, 내레이션 구성, 음성 해설, 또는 실사 피사체가 없습니다. MP4 또는 투명 오버레이로 렌더링 가능합니다. 더 길고, 여러 장면이 있거나, 내레이션이 포함되거나, 브랜드 릴 형식의 작업에는 적합하지 않습니다...
creativevideodesign
hyperframes-read-first
heygen-com
동영상, 애니메이션, 모션 그래픽, 설명 영상, 타이틀 카드, 오버레이, 자막 영상, 제품 홍보 영상, 웹사이트 영상, 홍보 또는 변경 로그 영상, 데이터 몽타주, 모션 포스터 또는 HyperFrames HTML 구성을 만들거나, 생성하거나, 편집하거나, 애니메이션화하거나, 렌더링하는 모든 요청에 대해 여기서 시작하세요. 사용자가 HyperFrames가 완성된 MP4/웹 동영상을 제작하거나 렌더링하도록 하거나, 워크플로를 선택하거나, 제품 출시 동영상, 얼굴 없는 설명 영상, 웹사이트-투-비디오 등 중에서 경로를 지정하려는 경우 다른 동영상 또는 애니메이션 스킬보다 먼저 사용하세요.
creativevideomedia
hyperframes-creative
heygen-com
Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.
creativedesignvideo