remotion-to-hyperframes

Traduire une composition vidéo Remotion (basée sur React) existante en une composition HTML HyperFrames. Utiliser UNIQUEMENT lorsque l'utilisateur demande explicitement de porter, convertir, migrer, traduire ou réécrire une composition Remotion en HyperFrames (ex. « portez mon projet Remotion vers HyperFrames »). NE PAS utiliser lorsque (a) l'utilisateur crée une NOUVELLE composition HyperFrames (même pour un test A/B d'une vidéo Remotion) ; (b) Remotion est mentionné incidemment ; (c) du code Remotion est partagé à titre de référence, non pour traduction ; (d) l'utilisateur souhaite...

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.

Plus de skills de 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 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.
developmenttestingapi
hyperframes-animation
heygen-com
Toutes les connaissances en animation pour HyperFrames — règles de mouvement atomique, plans de scène multiphases, transitions de scène, techniques de conception de mouvement plus larges, ET les sept adaptateurs d'exécution (GSAP par défaut, plus Lottie, Three.js, Anime.js, keyframes CSS, Web Animations API, TypeGPU). Utilisez pour toute tâche de mouvement ou d'animation : choisissez 2 à 4 règles et composez, ou chargez un plan, ou recherchez une API spécifique à l'exécution (par exemple, les easing de GSAP / le lecteur Lottie / le mixer Three.js). Natif HyperFrames : timeline unique en pause, sûr pour la recherche,...
creativedevelopmentdesign
hyperframes-core
heygen-com
Contrat de composition HTML HyperFrames. Utilisé pour la structure de composition, les attributs de données, les clips, les pistes, les sous-compositions, les variables, la lecture multimédia, les règles de rendu déterministes et la validation de projets minimalement rendus.
developmentmediacreative
hyperframes-media
heygen-com
Prétraitement des actifs pour les compositions HyperFrames — TTS multi-fournisseur (HeyGen / ElevenLabs / Kokoro local), BGM multi-fournisseur (Google Lyria / MusicGen local), transcription Whisper, suppression d’arrière-plan, et création de sous-titres. Utiliser pour npx hyperframes tts, bgm, transcribe, remove-background, sélection voix/fournisseur, suggestion d’ambiance musicale, sous-titres / légendes / paroles / karaoké / style mot par mot.
mediaaudiovideo
hyperframes-registry
heygen-com
Installer et câbler les blocs et composants du registre dans des compositions HyperFrames. À utiliser lors de l’exécution de hyperframes add, de l’installation d’un bloc ou d’un composant, du câblage d’un élément installé dans index.html, ou du travail avec hyperframes.json. Couvre la commande add, les emplacements d’installation, le câblage de sous-composition de blocs, la fusion d’extraits de composants, la découverte du registre, et la création d’un nouveau bloc ou composant à contribuer en amont (idée → échafaudage → validation → PR).
developmentapicode-review
general-video
heygen-com
Utiliser comme solution de repli pour la composition vidéo HTML personnalisée HyperFrames lorsqu'aucun workflow spécialisé ne convient. Couvre les pièces longues ou multi-scènes, les bandes-annonces de marque ou de promotion, les montages, les cartes de titre, les affiches animées de longue durée, les boucles statiques et les compositions libres de toute longueur ou format. Ne convient pas aux promotions de produits commercialisés (product-launch-video), à la capture vidéo générale de site web (website-to-video), aux vidéos explicatives de sujets (faceless-explainer), aux vidéos de PR GitHub (pr-to-video), au sous-titrage de séquences existantes...
videocreativemedia
motion-graphics
heygen-com
Utiliser lorsque l'utilisateur souhaite un court motion design où le mouvement est le message : typographie cinétique, compteur de statistiques ou de nombres, animation de graphique/données, logo sting, habillage de marque, tiers inférieur, callout, superposition sociale, titre/tweet/actualité animé, motion poster, ou mise en évidence rapide d'une page capturée. Généralement moins de 10 secondes et jusqu'à environ 30 secondes, sans arc narratif, voix off ou sujet en prise de vue réelle. Peut être rendu en MP4 ou superposition transparente. Pas pour les pièces plus longues, multi-scènes, narrées ou de type reel de marque...
creativevideodesign