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.

Skills เพิ่มเติมจาก heygen-com

hyperframes-animation
heygen-com
ความรู้ด้านแอนิเมชันทั้งหมดสำหรับ HyperFrames — กฎการเคลื่อนไหวระดับอะตอม, บลูพริ้นท์ฉากแบบหลายเฟส, การเปลี่ยนฉาก, เทคนิคการออกแบบการเคลื่อนไหวในวงกว้าง และอะแดปเตอร์รันไทม์ทั้งเจ็ดตัว (GSAP เริ่มต้น, รวมถึง Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU) ใช้สำหรับงานเคลื่อนไหวหรือแอนิเมชันใดๆ: เลือก 2-4 กฎแล้วประกอบ, หรือโหลดบลูพริ้นท์, หรือค้นหา API เฉพาะรันไทม์ (เช่น GSAP eases / Lottie player / Three.js mixer) HyperFrames-native: ไทม์ไลน์ที่หยุดชั่วคราวเส้นเดียว, ปลอดภัยต่อการค้นหา,...
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, การเลือกเสียง/ผู้ให้บริการ, การกระตุ้นอารมณ์ดนตรี, คำบรรยาย / คำอธิบายใต้ภาพ / เนื้อเพลง / คาราโอเกะ / การจัดรูปแบบต่อคำ
mediaaudiovideo
hyperframes-registry
heygen-com
ติดตั้งและเชื่อมต่อบล็อกและคอมโพเนนต์ของ registry เข้ากับองค์ประกอบ HyperFrames ใช้เมื่อรันคำสั่ง hyperframes add, ติดตั้งบล็อกหรือคอมโพเนนต์, เชื่อมต่อรายการที่ติดตั้งแล้วเข้ากับ index.html, หรือทำงานกับ hyperframes.json ครอบคลุมคำสั่ง add, ตำแหน่งการติดตั้ง, การเชื่อมต่อบล็อกย่อย, การรวมคอมโพเนนต์ snippet, การค้นพบ registry, และการสร้างบล็อกหรือคอมโพเนนต์ใหม่เพื่อส่งกลับต้นทาง (แนวคิด → โครงร่าง → ตรวจสอบ → 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
ใช้เมื่อผู้ใช้ต้องการโมชั่นกราฟิกที่เน้นการออกแบบและให้การเคลื่อนไหวเป็นสาระสำคัญ เช่น kinetic typography, การนับตัวเลขหรือสถิติ, การแสดงข้อมูล/แผนภูมิ, logo sting, brand lockup, lower-third, callout, social overlay, หัวข้อ/ทวีต/ข่าวแบบเคลื่อนไหว, โปสเตอร์เคลื่อนไหว, หรือการเน้นส่วนของหน้าที่จับภาพอย่างรวดเร็ว โดยทั่วไปมีความยาวต่ำกว่า 10 วินาทีถึงประมาณ 30 วินาที ไม่มีโครงสร้างการเล่าเรื่อง เสียงพากย์ หรือตัวแสดงจริง สามารถเรนเดอร์เป็น MP4 หรือโอเวอร์เลย์โปร่งใส ไม่เหมาะสำหรับชิ้นงานที่ยาว มีหลายฉาก มีการเล่าเรื่อง หรือเป็นรีลของแบรนด์...
creativevideodesign
hyperframes-read-first
heygen-com
เริ่มต้นที่นี่สำหรับคำขอใดๆ ในการสร้าง, ผลิต, แต่ง, ทำภาพเคลื่อนไหว, หรือเรนเดอร์วิดีโอ, แอนิเมชัน, กราฟิกเคลื่อนไหว, วิดีโออธิบาย, การ์ดไตเติ้ล, โอเวอร์เลย์, วิดีโอที่มีคำบรรยาย, โปรโมทสินค้า, วิดีโอสำหรับเว็บไซต์, วิดีโอประชาสัมพันธ์หรือบันทึกการเปลี่ยนแปลง, มอนเทจข้อมูล, โปสเตอร์เคลื่อนไหว, หรือองค์ประกอบ HTML ของ HyperFrames ใช้ก่อนทักษะวิดีโอหรือแอนิเมชันอื่นๆ เมื่อผู้ใช้ต้องการให้ 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