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

Run commands as npx hyperframes ... unless project instructions provide a wrapper. Obey the wrapper when present. The CLI requires Node.js 22 or newer and FFmpeg.

Development loop

  1. Scaffold: npx hyperframes init <project> or capture a site. In non-TTY mode, pass --non-interactive --example=<name>.
  2. Author: write the composition using /hyperframes-core.
  3. Get fast feedback while editing: run npx hyperframes lint after the first HTML pass and after structural changes.
  4. Run the final gate: run npx hyperframes check; it reruns lint before opening the browser. Do not prepend a redundant standalone lint invocation. Add --snapshots for annotated overview frames and finding crops.
  5. Inspect sub-compositions: when index.html mounts data-composition-src, capture midpoint snapshots and inspect each mounted scene.
  6. Open the final Studio preview: run npx hyperframes preview, hand the timeline project URL to the user, and ask whether to revise or render.
  7. Render only after approval: use draft quality for iteration and high quality for delivery.
  8. Verify the output: confirm the file exists, is non-empty, and has a plausible duration.
# Fast iteration check; repeat while authoring as needed.
npx hyperframes lint

# Required final gate; includes lint.
npx hyperframes check
npx hyperframes preview
npx hyperframes render --quality high --output out.mp4
test -s out.mp4
ffprobe -v error -show_format out.mp4

check runs lint first, then uses one browser session and one seek pass to audit runtime errors, failed requests, layout, *.motion.json assertions, and WCAG contrast. Persistent findings gate the exit code; transient entrance or exit findings are informational. Use --strict to gate warnings. validate, inspect, and layout remain aliases for compatibility but must not appear in new instructions or scripts.

Two different preview surfaces

Do not confuse these states:

SurfaceWhen it may openPurpose
Storyboard boardBefore composition checks, only when storyboard: yesReview plan cards and wireframe sketches. Open ?view=storyboard#project/<name>.
Final composition previewAfter check passesReview the assembled timeline before render. Open #project/<name>.

The early board is not approval of the final video. Rendering always requires the final approval defined by hyperframes-core/references/review-loop.md.

Sub-composition smoke test

Static audits cannot catch every mount failure. When the project uses sub-compositions, capture at least one visible midpoint for each host slot:

npx hyperframes snapshot --at <t1>,<t2>,<t3>

Treat tiny unstyled content, canvas-sized icons, missing hero elements, or timeline-registration timeouts as render-blocking mount defects. See hyperframes-core/references/sub-compositions.md for the corresponding fixes.

Agent conventions

  • Prefer --json for agent and CI calls. Server-mode render, preview, and play do not provide ordinary JSON output; preview --selection --json and preview --context --json are query-mode exceptions.

  • doctor --json always exits zero. Gate on its payload:

    npx hyperframes doctor --json | jq -e '.ok' >/dev/null
    
  • Non-TTY mode is automatic. init requires --example there; use --non-interactive to force deterministic behavior on a TTY.

  • Use one HYPERFRAMES_RUN_ID for all commands in the same verification loop.

  • Use --strict, --strict-all, and --strict-variables when the corresponding warnings, variables, or CI conditions must gate the render.

  • JSON paths redact the home directory as $HOME; do not try to reverse the redaction.

  • When a hosted cloud project approaches or exceeds the 200 MB upload limit, use cloud render --dry-run --json and follow the .hyperframesignore investigation in references/cloud.md. Never ignore an asset merely because it is large.

  • Never render merely because checks pass. Pause at the final preview and wait for approval.

Studio-directed edits

When the user refers to “this element” or the current selection, query Studio instead of guessing:

npx hyperframes preview --context --json --context-fields selection

Use selection.target.hfId when available, otherwise its selector and source file. If the result reports no-selection, ask the user to click the element and rerun. Request only the context slices you need; use --context-detail full only for computed styles or editable text metadata. Full behavior and failure codes live in references/preview-render.md.

Render choices

NeedCommand
Fast local iterationnpx hyperframes render --quality draft
Final local deliverynpx hyperframes render --quality high --output out.mp4
Reproducible container rendernpx hyperframes render --docker --strict --output out.mp4
Local variable-driven batch rendernpx hyperframes render --batch rows.json --output "renders/{name}.mp4"
HeyGen-hosted zero-infrastructure rendernpx hyperframes cloud render
Self-managed distributed AWS rendernpx hyperframes lambda render <project> --width 1920 --height 1080 --wait
Self-managed distributed GCP rendernpx hyperframes cloudrun render <project> --width 1920 --height 1080 --wait

Skill attribution is automatic — the examples above need no --skill. A project scaffolded by a workflow (hyperframes init --skill=<workflow>) records its owning skill in hyperframes.json, and every later render inherits it on anonymous telemetry: re-renders, npm run render, and --batch alike. Pass --skill=<slug> explicitly only to stamp a project that was not created through a workflow (its first render then persists it).

Use cloud rendering when the user wants hosted rendering without local Chrome, FFmpeg, or AWS. Use Lambda only when AWS ownership is a requirement. Use Cloud Run only when GCP ownership is a requirement. Read the matching reference before running any cloud path.

After verifying a successful render, send one feedback report unless telemetry is disabled or the user opted out:

npx hyperframes feedback --rating <0-10> --comment "<specific result or friction>"

Keep clean-run feedback concise. For any bug or friction, capture a reproduction packet before submitting; do not send only a symptom summary. Include the rerunnable command (relative to the project directory — feedback is submitted to a public channel, so do not paste absolute paths, home-directory prefixes, or user/machine identifiers), expected versus actual behavior, exact error (also strip absolute paths from stack traces — keep basename + line, drop the leading directory), whether output completed/fell back/failed, workaround, and repro-project status. For a rating ≤ 7 that describes a visual defect (black frame, flicker, corrupt output, wrong frame, blank output, other visual anomaly), also include a COMPOSITION_STRUCTURE: block — a privacy-preserving structural anatomy (element census + attribute presence + timeline shape) so maintainers can pattern-match against known bug families without the composition ZIP. Agents auto-fill this via the composition-census helper; the human user does not fill it by hand. If the issue did not reproduce again, say so and still include the last failing command and logs. Use --file-issue only with consent: it publishes a minimal reproduction to a public URL. The required packet format and privacy warning live in references/preview-render.md.

Read the matching reference before running a command

The following references and owning skills are mandatory command contracts, not optional background reading. Before running a command in the table, read its matching row.

NeedReference
init, capture, skillsreferences/init-and-scaffold.md
lint, check, motion sidecars, snapshotreferences/lint-validate-inspect.md
compare, grade-compare, variable-driven render --batchreferences/compare-and-batch.md
beats for an existing project's Studio beat gridreferences/beats.md
preview, play, render, publish, Studio context, feedbackreferences/preview-render.md
doctor, browser managementreferences/doctor-browser.md
auth, HeyGen-hosted cloud rendering, and template variablesreferences/cloud.md
AWS Lambda deployment and renderingreferences/lambda.md
Google Cloud Run deployment and renderingreferences/cloudrun.md
info, upgrade, compositions, docs, benchmark, telemetry, media preprocessingreferences/upgrade-info-misc.md

For composition variables, also read /hyperframes-corereferences/variables-and-media.md. For hyperframes add and hyperframes catalog, use /hyperframes-registry. Before hyperframes present, read /slideshow; before hyperframes keyframes, read /hyperframes-keyframes. For TTS, transcription, captions, or background removal choices, use /media-use.

The specialized commands are deliberately documented by their owning workflows:

npx hyperframes present <project-dir> --port 3004 --no-open
npx hyperframes beats <project-dir> --json
npx hyperframes keyframes <project-dir> --json

present serves a navigable deck with presenter and audience synchronization. beats is the standalone Studio beat-grid utility defined in references/beats.md. keyframes surfaces seek-safe animation and motion-path diagnostics.

來自 heygen-com 的更多技能

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
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