Communitygithub.com

hyperframes-audio

HyperFrames Audio verwaltet Audio-Beziehungen wie Ducking, Effektketten, Automatisierung und Voiceover-Carving in HyperFrames-Projekten.

Was ist hyperframes-audio?

HyperFrames Audio ist ein Skill für HyperFrames, der die Audiobearbeitung und -mischung innerhalb der Plattform ermöglicht. Er konzentriert sich auf Beziehungen zwischen Audiospuren, nicht auf isolierte Effekte. Der Skill steuert Platzierungs-Fade-Ins/Fade-Outs, Überblendungen, Spurlautstärke, Effekt- und Lautstärkeautomatisierung, Ducking und die Effektkette über drei Hauptattribute: `data-fx-chain`, `data-automation` und `data-fx-carve`. Er wird sowohl in der Vorschau (live AudioContext) als auch im Rendering (OfflineAudioContext im Headless-Browser) verwendet, wobei eine einheitliche Implementierung sicherstellt, dass die Vorschau akkurat das spätere Rendering vorhersagt. Der Skill bietet eine Reihe von Effekten wie Gain, EQ, Kompressor, Limiter, Gate, Sättigung, Delay, Reverb, Chorus, Phaser und Bitcrush, die über eine JSON-basierte Syntax konfiguriert werden. Ein besonderes Merkmal ist das Voiceover-Carving, das eine Beziehung zwischen einer Musikspur und einer Sprachspur herstellt, indem es nur die Frequenzbänder der Stimme aus der Musik entfernt, anstatt die gesamte Musik leiser zu machen. Der Skill unterstützt auch statisches und dynamisches Carving, Geschwindigkeitsrampen und die Arbeit mit Audiogruppen. Wichtig ist, dass er keine automatische Wellenform-Synchronisation oder Driftkorrektur bietet. Der Skill wird typischerweise auf Audio/Video-Elementen oder auf `<hf-audio-group>`-Bussen verwendet und arbeitet eng mit `/hyperframes-core` für Clip-Timing und `/media-use` für Quellenverwaltung zusammen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/heygen-com/hyperframes/tree/main/skills/hyperframes-audio

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Plugin-Installationen: Befolgen Sie vor Setup- oder Aktualisierungsbefehlen die Plugin-Ausführungsregeln, wenn sich dieser Skill innerhalb eines HyperFrames-Plugins befindet. Eigenständige Installationen behalten die unten stehenden Aktualisierungshinweise bei.

HyperFrames Audio

Ein Mix ist eine Menge von Beziehungen, kein Stapel von Prozessoren. Zwei Spuren, die allein richtig klingen, können zusammen unhörbar sein, und die Lösung ist fast nie „eine leiser drehen“ – es geht darum, herauszufinden, worüber sie streiten, und es derjenigen zu geben, die es braucht. Jedes Werkzeug hier existiert, um eine dieser Beziehungen auszudrücken.

Effekte leben auf dem Element als data-fx-chain, und Vorschau und Rendering verwenden denselben Web-Audio-Graphen – das Studio im Live-Kontext, die Engine im Offline-Kontext innerhalb des Browsers, den sie bereits steuert. Es gibt eine Implementierung jedes Effekts, sodass das, was Sie beim Scrubbing hören, auch geschrieben wird. Sie stimmen nie zweimal ab.

Clip-Timing bleibt /hyperframes-core: Audio-/Video-Trims und Quellenbereiche verwenden data-start, data-duration und data-media-start, und Überblendungen überlappen Clips auf verschiedenen Spuren. Dieser Skill verwaltet platziertes Fade-In/Fade-Out, Überblendungshüllkurven, Spurlautstärke/Spurvolume, Volume- und Effektautomation, Ducking/Voiceover-Carve und die Effektkette. /media-use verwaltet Quellenverwaltung, Generierung und Vorverarbeitung.

Konstantes data-playback-rate (0.1..10) ist render-sicher für Bild und tonhöhenerhaltenen Ton, wenn übereinstimmende Audio-/Video-Elemente dieselbe Zeitsteuerung, denselben Quellen-Offset und dieselbe Rate verwenden. Ein Geschwindigkeitsrampe ist eine rate-Spur in data-automation (siehe docs/reference/speed-ramps); sie gewinnt gegenüber der Konstanten und behält die Tonhöhe in Vorschau und Rendering bei. HyperFrames bietet keine automatische Wellenform-Synchronisation oder Driftkorrektur.

Für kopierbare Schnitt-/Überblendungs-/Zeitsteuerungsrezepte verwenden Sie /hyperframes-core → references/creator-editing-recipes.md.

Drei Attribute tragen alles auf dem Audio-/Video-Element selbst – oder, für die ersten beiden, auf einem <hf-audio-group>-Bus (siehe „Ein Bus für viele Spuren“):

AttributEnthält
data-fx-chaindie Effekte in Signalreihenfolge
data-automationHüllkurven auf der Lautstärke dieser Spur oder ihren Effektparametern
data-fx-carvedie eigenen Einstellungen des Carves, sodass es abgeleitet werden kann

Die ausgelieferten Effektfamilien sind Gain, EQ (Hochpass, Tiefpass, Peak, Shelf), Kompressor, Limiter, Gate, Sättigung, Delay, Reverb, Chorus, Phaser und Bitcrush.

Exaktes JSON für jeden und die Regeln, die eine Spur erfüllen muss: references/attributes.md. Jeder Effekt mit seinen Parametern, Bereichen und Einheiten: references/fx-registry.md. So finden Sie heraus, was mit einer Datei falsch ist, die Sie nicht hören können: references/diagnosis.md. Presets, benannte Jobs und One-Knob-Profile, plus eine Symptom-zu-Fix-Tabelle: references/presets.md – lesen Sie das, bevor Sie von Hand eine Kette bauen, denn eines der Presets oder benannten Jobs nennt das Problem normalerweise bereits.

Wie es zusammenspielt

Zwei Autoren-Oberflächen schreiben diese Attribute; zwei Laufzeitumgebungen lesen sie durch dieselben Builder. Diese gemeinsame Mitte ist der Grund, warum die Vorschau das Rendering vorhersagt.

flowchart TB
  voice["Voice-Spur<br/>Mediendatei"]
  bed["Musikbett<br/>Mediendatei"]

  subgraph AUTHOR["Autoring – die einzigen Dinge, die Attribute schreiben"]
    panel["Studio<br/>Voiceover-Carve-Steuerung"]
    script["scripts/carve.mjs<br/>erkennt das Paar, standardmäßig dynamisch"]
    analysis["core/audioCarve.ts<br/>carveProfile · analyseCarveBands<br/>analyseCarveDuck · analyseCarveDynamics"]
    panel --> analysis
    script --> analysis
  end

  voice --> analysis
  bed --> analysis

  subgraph ATTRS["Geschrieben auf das Bettelement"]
    carveAttr["data-fx-carve<br/>source · strength · dynamic"]
    chainAttr["data-fx-chain<br/>peaking xN + gain, getaggt von Carve"]
    autoAttr["data-automation<br/>eine Spur pro gecarvtem Parameter"]
  end

  analysis --> carveAttr
  analysis --> chainAttr
  analysis --> autoAttr

  subgraph SHARED["Eine Implementierung, von beiden gelesen"]
    build["audioFxGraph.ts · buildFxChain"]
    sched["audioFxAutomation.ts · scheduleChainAutomation"]
  end

  chainAttr --> build
  autoAttr --> sched

  build --> preview["Vorschau<br/>live AudioContext<br/>attachElementFxChain"]
  sched --> preview
  build --> render["Rendering<br/>OfflineAudioContext im Headless-Browser<br/>applyAudioFxChain"]
  sched --> render

  preview --> heard["was Sie beim Scrubbing hören"]
  render --> wav["verarbeitete WAV<br/>+ chainTailSeconds, damit der Mix den Nachhall durchlässt"]
  wav --> mix["Engine · audioMixer<br/>Volume-Lane hier in die PCM eingebacken, nicht im Graphen"]
  mix --> out["der gerenderte Mix"]

  edit["Bearbeiten des Attributs während der Wiedergabe"] -.->|MutationObserver| preview

Die eigenen Einstellungen des Carves werden nie bei der Wiedergabe gelesen – die Kette und die Spuren, die es produziert hat, werden abgespielt. data-fx-carve existiert, damit die Stärke bei einem bestehenden Carve geändert werden kann, anstatt sie aus den Filtern zurückzuschätzen.

In einem gecarvten Bett läuft das Signal zuerst durch die Dips, dann durch den Pegelausgleich, dann durch das, was Sie selbst gebaut haben – weshalb ein von Ihnen hinzugefügter Limiter immer noch als letzte Begrenzung fungiert:

flowchart LR
  src["Dekodiertes Bett"] --> p1["peaking<br/>400 Hz"]
  p1 --> p2["peaking<br/>1 kHz"]
  p2 --> p3["peaking<br/>1,6 kHz"]
  p3 --> g["gain<br/>Pegelausgleich"]
  g --> hand["Ihre eigenen Effekte<br/>z. B. Limiter"]
  hand --> dest["Spurlautstärke, dann Ausgang"]

  l1["Lane fx.n1.gain"] -.->|"Hüllkurve des Voice-<br/>Pegels in diesem Band"| p1
  l4["Lane fx.n4.gain"] -.->|"wie weit das Bett<br/>insgesamt duckt"| g

Ein statischer Carve ist derselbe Graph mit festen Werten und überhaupt keinen Spuren.

Finden Sie zuerst heraus, was falsch ist

Die folgende Tabelle beginnt mit „es klingt dröhnend“ – was voraussetzt, dass bereits jemand zugehört und das gesagt hat. Wenn Sie eine Datei und „behebe das“ bekommen, haben Sie diesen Satz nicht und können nicht zuhören, also müssen Sie messen. Eine Regel bestimmt alles:

Das absolute Spektrum einer einzelnen unbekannten Stimme kann nicht diagnostiziert werden. Formanten sind ±10 dB, Grundfrequenzen laufen bei 85–255 Hz, und Sätze fallen zum Ende hin um 5–6 dB ab. Jeder einzelne davon liest sich als Defekt, und jeder einzelne davon ist der Sprecher.

Vergleichen Sie also, und vergleichen Sie gegen etwas innerhalb derselben Datei: das saubere Original, falls vorhanden, ansonsten die Pausen – was immer in einer Lücke hörbar ist, ist additiv, und das Spektrum der Lücke ist der Kanal, nicht die Stimme. Der Vergleich mit einem veröffentlichten Durchschnittsspektrum oder einer synthetischen Kontrollstimme funktioniert nicht: Zwei Sprecher unterscheiden sich mehr als die meisten Defekte, und beide falschen Antworten in der Evaluierung, die dieser Anleitung zugrunde liegt, kamen genau daher.

Wenn es kein Original und keine nutzbare Stille gibt, ist ein statischer tonaler Defekt wirklich unterbestimmt. Sagen Sie das und bieten Sie die passenden Messwerte an, anstatt einen auszuwählen und eine Kette darauf zu bauen.

Befehle, Fallstricke und erprobte Rezepte: references/diagnosis.md. Lesen Sie es, bevor Sie eine Datei diagnostizieren, die niemand beschrieben hat.

Beginnen Sie mit dem Symptom

Sobald Sie das Band und die Art kennen, benennen Sie, was mit dem Audio falsch ist. Schlechtes Audio ist meistens eines oder zwei davon, und jedes hat eine ausgelieferte Antwort:

Es klingt wieGreifen Sie zu
Brummen oder dumpfes Dröhnen darunterrumble-cut, oder ein highpass bei 80 Hz
Dröhnend, brustigTame Boominess Job (200 Hz)
Gedämpft, hinter PappeReduce Mud Job (250 Hz)
Worte schwer verständlichAdd Clarity Job (3 kHz), oder Carven des Bettes
Schrill und anstrengendSoften Harshness Job (3,2 kHz)
Manche Worte viel lauter als andereEvenness auf einem Kompressor, oder Even Out Levels
Raumton zwischen den Sätzenroom-gate
Stimme und Musik kämpfenVoiceover-Carve – kein EQ auf einem von beiden
Trocken, nirgendwo aufgenommenroom-tight oder room-natural
Einfach „Amateur“voice-clean, das vier der obigen in Reihenfolge ist

Vollständiger Katalog, was jedes Preset enthält, das Band-Vokabular und was bewusst NICHT abgedeckt wird (De-Essing, Rauschentfernung, Ton-Match): references/presets.md.

Subtrahieren Sie, bevor Sie hinzufügen, pegeln Sie nach dem Filtern, Beziehungen nach dem Pegeln, Charakter und Begrenzung zuletzt. Jeder Schritt ändert, was der nächste hört – ein Kompressor, der vor einem Hochpass eingestellt wird, verbringt seine Zeit damit, Rumpeln zu jagen.

Greifen Sie nach einer Familie aufgrund des Problems, nicht des Namens

Filter (highpass, lowpass, peaking, lowshelf, highshelf) entscheiden, welche Frequenzen eine Spur belegen darf. Dies ist das erste Werkzeug für zwei kollidierende Quellen, da Kollisionen in Bändern stattfinden: Ein Bett und eine Stimme wollen beide 1–3 kHz, und dies dem Bett zu nehmen, kostet das Bett weit weniger, als das Ganze leiser zu drehen, den Mix kostet. Ein Hochpass auf einer Stimme ist die Standardlösung für Rumpeln; ein Tiefpass verdunkelt oder dämpft absichtlich.

Dynamik (gain, compressor, limiter, gate) entscheidet, wie sich der Pegel einer Spur im Laufe der Zeit verhält. Kompression verringert den Abstand zwischen laut und leise, sodass die leisen Teile angehoben werden können. Ein Limiter ist eine Begrenzung – er formt nichts, er garantiert, dass nichts darüber hinausgeht. Ein Gate entfernt, was unter einer Schwelle liegt, und so werden Raumtöne zwischen Phrasen zum Schweigen gebracht. gain ist eine reine Pegelstufe, und es ist das, was eine Automatisierungsspur reitet, wenn eine Spur aus dem Weg gehen muss.

Nichtlinear (saturate, bitcrush) verändert die Wellenform, wodurch Harmonische hinzugefügt werden, die vorher nicht da waren. Greifen Sie danach, wenn eine Spur Charakter oder Körnung braucht, anstatt Korrektur – und denken Sie daran, es ist generativ: Es macht eine dünne Quelle dichter, nicht sauberer.

Zeit (delay, reverb, chorus, phaser) versetzt eine Spur in einen Raum oder gibt ihr Breite. Diese sind diejenigen, die am leichtesten einen Mix ruinieren, weil ein Nachhall oder eine verstimmte Kopie denselben Raum belegt, den eine Stimme braucht. Verwenden Sie sie auf dem Ding, das hinter etwas anderem sitzen soll, und halten Sie den Nassanteil niedriger, als es isoliert richtig klingt.

Die Kette ist seriell: Jeder Effekt verarbeitet, was der davor produziert hat. Korrigierende Filterung kommt also früh, Charakter in der Mitte und ein Limiter zuletzt, wo er tatsächlich als Begrenzung wirken kann.

Voiceover-Carve

Das Problem, das es löst. Ein Musikbett unter einer Stimme macht die Stimme schwer verständlich. Der Reflex ist, das gesamte Bett zu ducken, was funktioniert und dem Bett all seine Präsenz kostet – die Musik wird für das gesamte Voiceover schwach. Aber die Stimme braucht nicht das gesamte Spektrum. Sie braucht die wenigen Bänder, die sie tatsächlich belegt. Der Carve nimmt nur diese, und das Bett behält seinen Tiefgang und seine Höhen, sodass es immer noch Musik ist, während die Stimme immer noch verständlich ist.

Es ist eine Beziehung, kein Effekt. Die Einstellungen leben auf dem Bett – der Spur, die verarbeitet wird – und sie nennen die Stimmen, auf die gehört wird, genau wie ein Sidechain-Kompressor: Sie wählen die Spur, die leiser wird, und aus, was sie leiser macht. Setzen Sie niemals einen Carve auf eine Voice-Spur. Eine Stimme, die gegen sich selbst gecarvt wird, ist ein Fehler, keine subtile Mix-Entscheidung.

Jede Stimme, nicht nur eine. sources ist eine Liste, weil ein Bett normalerweise unter einer ganzen Sequenz läuft – ein Erzähler, eine Interviewantwort, ein zweiter Moderator. Sie werden auf der eigenen Uhr des Bettes summiert, bevor etwas gemessen wird (mixCarveSources), sodass eine Analyse alle abdeckt: Die Bänder stammen von aller vorhandenen Sprache, und die Hüllkurven steigen, wo immer etwas davon passiert. Stimmen, die nie spielen, während das Bett läuft, werden ausgelassen; sie können es nicht maskieren.

Ein Carve gegen mehr als eine Clip-ID ist falsch. Gruppieren Sie die Clips und carven Sie gegen die Gruppe. Dies ist eine Invariante, kein Tipp. Clips einzeln zu nennen, muss erschöpfend richtig sein und bleibt nur bis zum nächsten Schnitt richtig – ein vierter später hinzugefügter Erzählclip spielt außerhalb des Carve-Bewusstseins, und das Bett duckt nicht leise darunter. Die Gruppe stattdessen zu nennen, löst die Mitgliedschaft zum Analysezeitpunkt auf, sodass ein später zur Gruppe hinzugefügter Clip abgedeckt ist, ohne sources zu berühren:

<!-- die Erzählung gruppieren, dann das Bett gegen die Gruppe carven -->
<audio id="vo-intro" data-audio-group="voiceover" …></audio>
<audio id="vo-mitte" data-audio-group="voiceover" …></audio>
<audio id="vo-outro" data-audio-group="voiceover" …></audio>

<audio id="musik" data-fx-carve='{"enabled":true,"sources":["voiceover"],"strength":0.8}' …></audio>

Eine sources-Liste, die zwei oder mehr einfache Clip-IDs statt einer Gruppe nennt, wird von der Lint-Regel audio_carve_ungrouped_sources abgefangen – sie funktioniert trotzdem, aber es ist die Version, die still verrottet, wenn ein Clip hinzugefügt wird.

Halten Sie die Carve-Gruppe eine Voice-Gruppe: kein Bett, kein SFX, keine Musik. Eine Gruppen-ID in sources wird bei jeder Analyse zu jedem aktuellen Mitglied aufgelöst, sodass die von Ihnen benannte Gruppe später die ist, die Sie bekommen – nicht die Spuren, die gemessen wurden, als sie geschrieben wurde. Zwei Arten, wie das beißt:

  • Das Bett in seiner eigenen Quellengruppe. Es wird sich selbst als Stimme übergeben und gegen seinen eigenen Inhalt gecarvt – die Regel „Carven Sie niemals eine Spur gegen sich selbst“ erscheint eine erneute Analyse später.
  • Ein SFX- oder Musikclip in der Voice-Gruppe. Es betritt die Sidechain bei der nächsten Analyse, und das Bett beginnt, unter einem „Whoosh“ zu ducken, obwohl der Lauf, der das Attribut geschrieben hat, es nie gemessen hat.

Beide sind in dem Moment unsichtbar, in dem der Carve geschrieben wird: Die Analyse summiert die erkannten Stimmen und durchläuft nie die Gruppenauflösung, sodass der erste Durchgang tatsächlich korrekt ist und nur der nächste falsch ist. Geben Sie also jeder Rolle ihre eigene Gruppe – musik für das Bett, voiceover für die Erzählung, sfx für die Treffer – und halten Sie die in sources benannte Gruppe, die nur Stimmen enthält.

carve.mjs weigert sich, die Gruppenform zu schreiben, wenn es einen der beiden Fälle sieht, zeichnet Clip-IDs auf und sagt

…

[für die Übersetzung gekürzt]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

general-video

>

heygen-com/animejs

Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.

heygen-com/claude-design-hyperframes

Use when running inside Claude Design specifically. Produces a valid, brand-accurate HyperFrames video draft using pre-valid skeletons. For Claude Code / Cursor / Codex, use the `hyperframes` skill instead.

heygen-com/contribute-catalog

Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalog — for in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.

heygen-com/css-animations

CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.

heygen-com/gsap

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

heygen-com/hyperframes

Leaves sweep through the frame and part to reveal the headline. HyperFrames block, 1920×1080, 12s, 11 variables.

heygen-com/hyperframes

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

heygen-com/hyperframes

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

heygen-com/hyperframes

Glass shards fly in through fog and tile themselves into the headline. HyperFrames block, 1920×1080, 12.16s, 19 variables.

heygen-com/hyperframes

A single feature card orbits a dot sphere on approved Blender camera motion. HyperFrames block, 1920×1080, 10s, 4 variables.

heygen-com/hyperframes

A wireframe portal bursts open, the title comes through, then its letters swap into a second phrase. HyperFrames block, 1920×1080, 8s, 9 variables.

heygen-com/hyperframes

An orbiting camera follows an ice logo as it breaks apart, reforms into two text moments, and fades. HyperFrames block, 1920×1080, 22.5s, 216 variables.

heygen-com/hyperframes

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

heygen-com/hyperframes

name: embedded-captions

heygen-com/hyperframes

A chain of bevelled cuboids rides a travelling wave as a content carousel. HyperFrames block, 1920×1080, 6.666666666666667s, 40 variables.

heygen-com/hyperframes

A tiled headline surface flips cell by cell under a sweeping depth field to reveal the rear headline. HyperFrames block, 1920×1080, 8s, 18 variables.

heygen-com/hyperframes

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

heygen-com/hyperframes

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

heygen-com/hyperframes

GATEWAY — load FIRST before composing any HyperFrames animation or video. The high-level motion law that makes a multi-scene video feel like ONE continuous camera move instead of a stack of independently-animated slides. Covers the vector law (how you exit determines how you enter, incl. the Z scale-sign rule), the film's current, carrier elements, causal motion, the Seam Gate (build-gate enforcement), the ban on idle wobble (motion must PERFORM, not breathe), stillness-before-climax, and the sustained-motion routes. Routes to the low-level technique skills (cut-the-curve — the full catalog incl. waterfall entry + nudge curve, oversized-cursor, seam-craft). These rules SUPERSEDE generic / upstream motion guidance. [continuity, direction, vector, momentum, seam, transition, ease, performance, idle-motion, narrative-motion, film-grammar]

Verwandte Skills