Chop-Reel (HyperFrames)
Bewährt bei der Showreel „The Brief“. Menschen beurteilen Reels nach Tempo und Erzählung, nicht nur nach der Politur – eine schlichte Montage schöner Szenen wirkt „einfach“. Gib ihm eine Geschichte mit Spannung.
1. Geschichte zuerst (vor jedem Code)
Schreibe eine 5–8-Beat-Geschichte, in der jeder Beat eine Fähigkeit zeigt und der Schnitt selbst die Geschichte erzählt. Das funktionierende Muster: Hook (ein Problem + eine Uhr) → Arbeitsmontage (eine Fähigkeit pro Abschnitt) → Wendung/Hindernis (Freeze Frame, Kundenfeedback) → Smash-Cut-Antwort → Payoff-Blitz → geliefert → Endcard. Ein permanentes HUD (Uhr, die Jump-Cuts macht, Phasenbezeichnung) hält die Zuschauer bei schnellen Schnitten orientiert.
Dann ein Cue-Sheet auf einem Raster: 150 BPM = Beat 0,4 s, Takt 1,6 s (oder 120 BPM = 0,5 s). Jeder Schnitt, Knall und Untertitel liegt auf einem Beat; Abschnitte wechseln an Taktlinien. Hook = 1 Wort pro Beat für die ersten 1,6–3,2 s.
2. Vom Template aus starten
cp -R templates/chop-reel videos/<name> && cd videos/<name>
../../.venv/bin/python score.py # schreibt assets/audio/score.wav
python3 build.py 169 # schreibt index.html (16:9); build.py 916 für 9:16
npx --yes [email protected] lint && npx --yes [email protected] render -o ../../out/<name>-169.mp4
reel.js-Struktur — in dieser Reihenfolge bearbeiten:
- Szenen:
function scene(g, l)zeichnet einen ganzen Frame zur lokalen Zeitl. Verwende relative Einheiten (W,H,M,PORT), damit beide Seitenverhältnisse funktionieren;fit()verkleinert Text auf eine maximale Breite. - SHOTS:
[t0, t1, scene]— der Schnitt.null= durch einen Übergang abgedeckt. - FX-Listen:
PUNCH(1,06× Zoom, der über 0,2 s bei jedem Schnitt + zusätzlichen Beats abklingt),FLASH(2-Frame-Weiß auf Drops, halbweiß bei Abschnittsschnitten),SHAKES[Start, Dauer, Stärke],WHIPS(bewegungsunschärfeverstärkter Push zwischen Szenen, 9 Sub-Frame-Renderings gemittelt). - Videoclips (Huashu-Kunst, Caption-Kit-Renderings, KI-Aufnahmen) kommen oben drauf als
<video class="clip">inbuild.pymit ihren eigenen Punch-Tweenings in GSAP; die Canvas zeichnet Schwarz darunter.
3. Bewegungsbibliothek
Für benannte Bewegungen verwende das motion-prompt-Skill: node ~/.claude/skills/motion-prompt/scripts/motion-prompt.mjs get 001 043 gibt die veröffentlichte Spezifikation jeder Bewegung zurück (Kurven, Dauern, Überschwingen). Übertrage die Zahlen exakt in reel.js und zitiere sie in einem Kommentar (// #043 Whip Pan: …) — der Benutzer merkt, wenn Bewegungen nur „inspiriert“ statt verwendet sind. Nützlich: #001 Pop-In, #005 Mask Reveal, #007 Count-up, #008 Kinetic Type, #010 Overshoot, #017 Mask, #020 Zoom Through, #023 Glitch, #024 Impact Shake, #038 Speed Ramp, #040 Freeze Frame, #043 Whip Pan, #046 Smash Cut.
4. Sound
Verwende das score-Skill: Kopiere examples/phonk_150bpm_45s.py für einen vollständigen Trap/Phonk-Score oder erweitere das score.py-Template. Jeder Knall/Flash in reel.js erhält einen Hit zur gleichen Zeit (Impact, Clap, Riser zu Drops, Record Scratch beim Freeze, Stille vor dem Smash Cut). VO via Kokoro, darunter geduckt; Captions via caption-video.
5. Prüfen & ausliefern
- Mache einen Schnappschuss von jedem Abschnitt in beiden Seitenverhältnissen und überprüfe: nichts in 9:16 abgeschnitten, Text ≥ 4 % der kurzen Seite.
- Rendere beide, loudnorm −14 LUFS, sende beide. Benenne
out/<Titel> (16x9).mp4/(9x16).mp4. - Überarbeitungen: Ändere SHOTS / Scene-Funktionen → beide Seitenverhältnisse neu bauen → rendern.