remotion-to-hyperframes

Перевести существующую композицию Remotion (на основе React) в HTML-композицию HyperFrames. Использовать ТОЛЬКО когда пользователь явно просит портировать, конвертировать, мигрировать, перевести или переписать композицию Remotion в HyperFrames (например, "портировать мой проект Remotion в HyperFrames"). НЕ использовать, когда (a) создается НОВАЯ композиция HyperFrames (даже при A/B-тестировании видео Remotion); (b) Remotion упоминается вскользь; (c) код Remotion предоставлен как справочный материал, а не для перевода; (d) пользователь хочет...

npx skills add https://github.com/heygen-com/hyperframes --skill remotion-to-hyperframes

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

Import into HyperFrames

HyperFrames is the container: its tracks, sub-compositions and variables are editable in Studio whatever runs inside a clip. Bring each part in at the highest level it supports and record which level you used.

LevelForHowEditable in Studio afterwards
Nativecode that can become HTML + GSAP: most Remotion, HTML/CSS/GSAP animation, simple Motion Canvastranslate it, then verify frame by frameevery element; variables, catalog, presets apply
Hostedcode that can draw any requested frame in a browser: canvas, p5.js, Three.js, Lottie, WebGL, other JS animationkeep the code and drive it from HyperFrames timetiming, position, exposed parameters
Mediaanything that outputs video or frames: Manim, After Effects, Blender, PIL, moviepyrender to a file and use it as a clipcut, place, layer; not the pixels inside

Code that depends on wall-clock time, live physics or the network can only come in as media.

Native: translate, then verify

  1. For Remotion, run python3 <SKILL_DIR>/scripts/lint_source.py <source dir> first. Blockers (useState, useReducer, useEffect with dependencies, async calculateMetadata, React UI kits such as MUI, Chakra, Mantine, antd, shadcn, Radix, NextUI) don't translate: host them or refactor them out, never approximate (references/escape-hatch.md). Warnings (@remotion/lambda config, delayRender, useMemo, custom hooks) are dropped and noted.
  2. Translate to the /hyperframes contract: one sub-composition per scene, times in seconds (frame / fps), asset paths root-relative. Each Remotion API's equivalent is in references/api-map.md. Put Remotion's render-page rule * { box-sizing: border-box; } once in the root index.html <style>: without it every bordered or padded element grows by its border and padding.
  3. Keep it editable: the source's props become data-composition-variables bound with data-var-text, data-var-src or var(--id); each Sequence becomes a timed clip or a sub-composition; a reused component becomes one sub-composition mounted several times with data-variable-values.
  4. Compare frame by frame: npx hyperframes snapshot --at <t,…> --against <original.mp4> saves the original's frame at each time next to yours. Sample every scene and both sides of every cut; look for one late or recoloured element, not only the overall picture. For a scored check, scripts/render_diff.sh <original.mp4> <hf.mp4> <out> gives SSIM per frame and scripts/frame_strip.sh shows which frames diverged (thresholds per complexity tier in references/eval.md). Render the Remotion side with Config.setVideoImageFormat("png") and Config.setColorSpace("bt709"), or the diff measures the encoders (about 0.05 SSIM).
  5. Write what didn't translate cleanly (dropped volume ramps, approximated presentations, substituted fonts) to TRANSLATION_NOTES.md.
RemotionRead
Composition, defaultProps, schema, calculateMetadatareferences/parameters.md
Sequence, Series, Loop, AbsoluteFill, Freezereferences/sequencing.md
useCurrentFrame, interpolate, spring, Easing, interpolateColorsreferences/timing.md
Audio, Video, Img, IFrame, staticFile, delayRenderreferences/media.md
TransitionSeries, @remotion/transitionsreferences/transitions.md
@remotion/lottiereferences/lottie.md
@remotion/google-fonts, Font.loadFont, @font-facereferences/fonts.md
What can't be portedreferences/limitations.md

Before hand-building a named visual the source used, search npx hyperframes catalog --query "<the visual, in English>" --json: it ranks the whole registry with nothing installed.

Hosted

Keep the code and let HyperFrames own the clock: it draws the frame for the time it is given. The seek protocol and the built-in adapters for Lottie, Three.js, anime.js, WAAPI and CSS animations are in ../hyperframes/references/runtimes.md. No requestAnimationFrame loop or timer as the time source, seeded randomness only, and data-duration on the root when nothing else defines the length.

Media

<video class="clip" data-has-audio="true" src="assets/x.mp4" ...>, or muted when it is silent. Nothing else is needed.

In the final message, list each imported part with its level, what a person can change in Studio, and how the frame-by-frame comparison came out.

Больше 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-cli
heygen-com
Цикл разработки HyperFrames
developmenttestingapi
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