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

Plugin installs: Before setup or freshness commands, follow plugin execution rules when this skill is inside a HyperFrames plugin.

HyperFrames CLI

Run npx hyperframes <command> unless the project gives a wrapper; then use the wrapper. It needs Node.js 22+ and FFmpeg. Every command has --help; most take --json, and a failure prints ✗ …, a Fix: line and exits non-zero.

Commands by job

JobCommands
Startinit <dir> (blank; --example <name> only when asked), capture <url>
Read a projectinfo, compositions, timeline --json, docs <topic>
Check itlint while writing; check --json as the gate (lint, runtime, layout, contrast)
Look at itsnapshot (--at <t,…>, --range START,END, --composition <id>, --zoom, --angle, --against <video>), keyframes, compare, audio
Edit the timelinetimeline with move, trim, split, set, duplicate, delete, apply, undo, ids
Reusecatalog, add (/hyperframes-registry)
Media and soundmedia-treatment, grade-compare, remove-background, tts, transcribe, beats, normalize-audio (/media-use)
Show and shippreview, present (/slideshow), render, publish, cloud, lambda, cloudrun
Desktop appopen, catch-up
Upkeepdoctor, browser, upgrade, skills, usage, clean, feedback

validate, inspect and layout are deprecated aliases of check; events is telemetry for skills' own scripts. Don't run them.

The loop

  1. Write, then npx hyperframes lint after the first pass and after structural changes.
  2. npx hyperframes check --json and fix every error. While a lint error remains the layout and contrast audits don't run; "0 samples" means nothing was checked. Contrast failures carry a suggestedColor. A finding at a single sample (an entrance in flight) is info; a 3 s+ video with no visible change fails sweep_static.
  3. npx hyperframes snapshot and read the PNGs (under .hyperframes/artifacts/snapshots/): that is how you see the video. With sub-compositions, snapshot a midpoint of every scene; tiny unstyled content or a missing hero is a mount defect (../hyperframes/references/format.md).
  4. npx hyperframes preview --background, check the URL answers 200, give the person the project URL and wait, unless they asked for the file or for no stops. Passing checks alone is not a reason to render.
  5. When it is time to render (step 4): npx hyperframes render --quality looks --output out.mp4 (draft while iterating, delivery for the final). Confirm the file is non-empty and its ffprobe duration matches the root data-duration, then look at decoded frames.

"This element" or the current selection: npx hyperframes preview --context --json --context-fields selection; no-selection means ask them to click it.

Edit the timeline

These are the edits Studio itself makes, so the result stays in Studio's shape.

  • timeline --json lists clips with absolute absStart/absEnd, owning file and the #id ref the edit commands take (timeline ids stamps missing ids).
  • timeline move|trim|split|set|duplicate|delete <ref> … --plan --json previews one edit; run it again without --plan. --start, --end, --duration set one edge or the length.
  • An edit is refused when the clip would overlap a neighbour (--overwrite, or move the neighbour first) or end past its composition: raise the root's data-duration first. No command changes data-duration.
  • Several edits at once: a JSON file such as [{"verb": "move", "ref": "#outro", "time": "9"}], then timeline apply plan.json --json. Each run prints a receipt; save it and timeline undo receipt.json reverts it.

Project history

Every write is kept and can be undone. At the start of a turn, npx hyperframes history begin --who <you> --label "<plan>", then history --since mine --who <you> to see what the person changed; build on their edits. A check failed or they say it got worse: history undo --who <you>, never hand-edit back. End the turn with history end.

Render where

NeedCommand
Localrender --quality looks --output out.mp4 (draft, delivery)
Reproducible containerrender --docker --strict --output out.mp4
Batch from variablesrender --batch rows.json --output "renders/{name}.mp4"
Hosted, no local Chrome or FFmpegcloud render (references/cloud.md)
Your own AWS or GCPlambda render, cloudrun render (references/lambda.md, references/cloudrun.md)

A 30 s film renders in a minute or two: run it in the foreground. Detach only a render longer than your tool's timeout (HYPERFRAMES_RENDER_DETACHED=1, its own group, output to a log) and wait with until grep -qE 'Render (complete|failed)' render.log; do sleep 5; done, never pgrep -f, which matches its own loop and waits until the tool times out.

After a verified render, send one feedback --rating, plus a report for anything the person asked for that HyperFrames can't do, unless telemetry is off: references/feedback.md.

When a command fails

SymptomFix
Chrome missing or won't startnpx hyperframes browser ensure; doctor --json always exits 0, gate on .ok
A heavy page isn't ready in timeRaise --timeout on check or snapshot
Unusual codec looks blankKeep --proxy on (the default)
Render slow on LinuxThe summary's second line says screenshot + software gpu: the slow path
capture fails or writes BLOCKED.mdTake nothing from its partial files; retry into a new -o folder
Disk tightclean --dry-run, then clean; never delete .hyperframes (it holds history)

References

Read the row before running its command.

CommandsRead
init, capture, skillsreferences/init-and-scaffold.md
lint, check, motion sidecars, snapshotreferences/lint-validate-inspect.md
compare, grade-compare, render --batchreferences/compare-and-batch.md
beatsreferences/beats.md
preview, play, render, publish, Studio contextreferences/preview-render.md
doctor, browserreferences/doctor-browser.md
auth, cloud, template variablesreferences/cloud.md
lambda, cloudrunreferences/lambda.md, references/cloudrun.md
info, upgrade, compositions, timeline, docs, usage, telemetryreferences/upgrade-info-misc.md
--strict flags, run ids, clean, shader lint, JSON pathsreferences/conventions.md
keyframes../hyperframes/references/motion.md (Seeing motion)

來自 heygen-com 的更多技能

hyperframes-audio
heygen-com
Use when audio already placed in a HyperFrames composition needs to be mixed: a music bed that fights a voiceover (voiceover carve), effects on a track (EQ, compressor, limiter, gate, saturation, delay, reverb, chorus, phaser, bitcrush), or automation envelopes drawn on a track's volume or any effect parameter. Don't use for sourcing or generating audio — finding BGM, SFX, or making a voiceover is `/media-use`. Don't use for clip timing or track layout, which is `/hyperframes-core`.
hyperframes-animation
heygen-com
HyperFrames 的所有動畫知識——原子運動規則、多階段場景藍圖、場景轉場、更廣泛的動態設計技術,以及七個運行時適配器(預設 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、語音/供應商選擇、音樂情緒提示、字幕/副標題/歌詞/卡拉OK/逐字樣式設定。
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