hyperframes-cli

Цикл разработки HyperFrames

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)

Больше skills от 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 конкретной среды выполнения (например, easing в GSAP / плеер Lottie / микшер Three.js). Родной для HyperFrames: единая приостановленная временная шкала, безопасная для поиска,...
creativedevelopmentdesign
hyperframes-core
heygen-com
Контракт композиции HTML HyperFrames. Используется для структуры композиции, атрибутов данных, клипов, треков, субкомпозиций, переменных, воспроизведения медиа, детерминированных правил рендеринга и валидации минимально рендерируемых проектов.
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
Установка и подключение блоков и компонентов реестра в композиции HyperFrames. Используется при выполнении hyperframes add, установке блока или компонента, подключении установленного элемента в index.html или работе с hyperframes.json. Охватывает команду add, места установки, подключение подкомпозиций блоков, слияние фрагментов компонентов, обнаружение реестра и создание нового блока или компонента для передачи в основной репозиторий (идея → заготовка → проверка → PR).
developmentapicode-review
general-video
heygen-com
Используется как запасной вариант для авторской компоновки видео в формате HTML с помощью HyperFrames, когда не подходит ни один специализированный рабочий процесс. Охватывает длинные или многосценные работы, брендовые/имиджевые ролики, монтажи, титры, анимированные постеры в длинном формате, статичные циклы и свободные композиции любой длины и формата. Не предназначен для маркетинговых промо продуктов (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
Начните здесь для любого запроса на создание, генерацию, редактирование, анимацию или рендеринг видео, анимации, моушн-графики, объясняющего видео, титров, наложений, видео с субтитрами, рекламы продукта, видео для сайта, PR- или changelog-видео, дата-монтажа, моушн-постера или HTML-композиции HyperFrames. Используйте перед другими навыками работы с видео или анимацией, если пользователь хочет, чтобы HyperFrames создал или отрендерил готовое MP4/веб-видео, выбрал рабочий процесс или направил между product-launch-video, faceless-explainer, website-to-video,...
creativevideomedia