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
非动画创意指导,用于HyperFrames视频。适用于设计规范(frame.md / design.md)处理、调色板、排版、叙述、节拍规划
creativedesignvideo