Motion Edits
Dieses Skill produziert fertige, hochwertige Motion-Videos. Es arbeitet mit vier Dingen:
- Regeln und Zahlen, die Frame für Frame aus 82 Referenz-Edits gemessen wurden (
references/) - 12 Stilfamilien zur Auswahl und Kombination (
references/styles/) - einer Remotion-Engine (
remotion/), die eine JSON VideoSpec rendert: eine Szene pro Satzglied, gemessenes Easing, Momentum-Cuts, wort-synchronisierte Typografie, prozedurale Texturen und einen Film-Finish - Werkzeugen für Voice-Over, Beats, Footage-Analyse, Cut-Outs, Mattes, Rendern und Qualitätssicherung (
tools/)
Zwei Modi, die in einem Video gemischt werden können:
- Standalone Motion Graphics: keine Footage nötig. Typografie, Cut-Outs, UI-Mockups, Diagramme, Zähler, Partikel und Texturen tragen es.
- Footage Edit: die Clips des Benutzers sind das Rückgrat. Straffen, Punch-Ins, Untertitel, Keyword-Slams und B-Roll-Karten, Text hinter das Motiv setzen, gradieren, Übergänge hinzufügen.
Jedes Seitenverhältnis: width/height im Spezifikationen setzen (9:16 1080×1920 standardmäßig; 16:9, 1:1, 4:5 und andere funktionieren alle).
Zuerst lesen
references/playbook.md: die Regeln. Jedes Mal lesen.references/engine-spec.md: jedes Spezifikationen-Feld, jede Ebene, jeder Übergang und jeder Render-Befehl. Lesen, bevor eine Spezifikation geschrieben wird.references/styles/README.md: eine Stilfamilie auswählen, dann die Datei dieser Familie lesen (ihre Beispiel-Spezifikation ist ein guter Ausgangspunkt).
Tiefergehende Einblicke, wenn eine Entscheidung sie erfordert:
script-structure.md: Genre-Vorlagen, Hooks, Satzglied → Szene → Prop-Regeln, ausgearbeitete Beispielemotion-language.md: Easing, Bildraten, Tempo, Synchronisationszahlentransitions.md: 63 Übergänge mit Bildanzahlen und wie man jeden bauttypography-color.md: Typ-Klassen, Paarungen, Größen, sichere Zonen, Paletten, Finishing-Stufensound-design.md: Hintergrundmusik, Ducking, SFX-Platzierung, Beat-Sync, Musik-only-Editsfootage-editing.md: Integrationsmodi, Punch-Ins, Montage, Untertitel, zwei ausgearbeitete Footage-Spezifikationenengine-gaps.md: was die Engine noch nicht kann, und Workaroundsbreakdowns/vNN.md+breakdowns/_TAXONOMY.md: Einstellungs-für-Einstellungs-Erkenntnisse. Mit Tag nach Präzedenzfall suchen (grep -l "text-behind-subject" references/breakdowns/*.md).
Ein vollständiges ausgearbeitetes Beispiel (Skript → Scratch-VO → Spezifikation) befindet sich in remotion/src/specs/examples/zeigarnik.json (Skript: work/zeigarnik.script.txt).
Workflow
0. Einrichtung (einmal pro Umgebung)
cd remotion && npm install
pip install faster-whisper librosa opencv-python-headless "rembg[cpu]" piper-tts pillow numpy
ffmpeg wird benötigt. Falls librosa mit einem Segfault abstürzt, NUMBA_CACHE_DIR=/tmp/numba_cache setzen.
1. Briefing
Folgendes erfragen oder sinnvolle Standardwerte wählen, ohne ins Stocken zu geraten:
- Thema oder Botschaft
- Plattform und Seitenverhältnis
- Länge (Kurzformate: 20–45 s)
- Stimme: die VO-Datei des Benutzers, ein Skript für die Vertonung oder keine
- Footage oder Fotos
- Marke (Palette, Schriftarten, Logo)
- Ton
- wie viele Versionen
Wenn der Benutzer nur ein Thema angibt, schreiben Sie das Skript selbst.
2. Skript → Satzglieder-Blatt
script-structure.md verwenden. Hook im ersten Satz (8–15 Wörter, Schock in den ersten 3 Wörtern) → Aufbau → Wendung → benanntes Prinzip bei 16–40 % → Beweis → antithetische Moral → CTA (letzte 10–14 %, ≥2,5 s). In Satzglieder aufteilen: ein Satzglied = eine Szene ≈ 6 Wörter ≈ 2–2,8 s. Für jedes Satzglied notieren:
- das wörtliche Prop oder Bild für das Nomen
- das Keyword: 1–3 Wörter, die zu Typografie werden
- ein Device: Badge, Zähler, UI, Diagramm, Doodle, Wechsel, Partikel
- der Schnitt hinein
3. Stimme und Timing
- Benutzer-VO:
python3 tools/transcribe.py vo.mp3 remotion/public/<proj>/vo.words.json - Noch keine VO:
python3 tools/tts.py script.txt remotion/public/<proj>/vo.wav --speed 1.15 --words remotion/public/<proj>/vo.words.jsonergibt eine offline Scratch-Stimme. Dem Benutzer mitteilen, dass es sich um einen Platzhalter handelt; seine eigene VO kann später ersetzt werden, da sich Wortreferenzen bei erneuter Transkription automatisch neu timen. - Musikgeführt oder keine VO:
python3 tools/beats.py music.mp3 remotion/public/<proj>/beats.json, dann"beats"setzen und{beat|downbeat|onset: n}-Referenzen undsnapverwenden. - Szenenstarts:
{"word": "...", "offset": -0.06}auf dem ersten Wort jedes Satzglieds. Szenen-Wortreferenzen werden der Reihe nach aufgelöst, aber eine Mehrwortreferenz ("warum schreiben") verwenden, wenn das Wort auch kurz zuvor erscheint. Keywords verwendensyncoderat: {word}.
4. Look
Eine Stilfamilie auswählen (Styles-README). Dann festlegen:
- Palette: Feldfarben, die sich pro Szene drehen, plus 1–2 Akzente mit festen Bedeutungen
- Typografie-Paarung: eine schwere Display-Stimme plus eine Flüster-Stimme
- animFps: 15 für Collage/Editorial, 12 für groben Print, 0 für UI/3D/cinematic
- Finish: Grain + Vignette, plus Halbton für Print-Looks
- ein signaturartiger Übergang, wiederholt, plus 1–3 unterstützende Arten
5. Assets
- Footage:
python3 tools/analyze_footage.py clips/*.mp4 --out work/footage.json --sheets work/sheets, dann die Sheets ansehentools/tighten.pyentfernt tote Lufttools/matte.pyerstellt eine Motiv-Matte für Text-hinter-dem-Motiv
- Fotos:
python3 tools/cutout.py photos/* --out remotion/public/<proj>/cutouts --trim, dann alsimagemitcutout: trueverwenden. Typ auf eine niedrigerez-Position als den Cut-Out setzen, um es dahinter zu verstecken. - Keine Assets: Typografie, prozedurale Hintergründe, UI-Mockups, Diagramme, Zähler, Formen, Partikel und
embed. Eine benutzerdefinierte Komponente inremotion/src/custom/nur schreiben, wenn ein wörtliches Objekt unerlässlich ist. - Nur Logos, Abbildungen, Musik und SFX verwenden, die der Benutzer bereitstellt oder für die er Rechte hat. Techniken lernen; niemals das Branding, die Charaktere, End Cards oder Skripte eines Erstellers kopieren.
6. Spezifikation schreiben
work/<proj>.spec.json als {"spec": {...}} schreiben, ausgehend vom Beispiel der gewählten Familie. Assets unter remotion/public/<proj>/ ablegen. Die Playbook-Checkliste während des Schreibens anwenden.
7. Vorschau, Rendern, Überprüfen, Korrigieren
- Zuerst Standbilder:
Eines pro Szene machen (Bild aus der Szenenmitte), in einer Kachel anordnen, ansehen und Überlauf, Kontrast, Unübersichtlichkeit und leere Frames korrigieren.cd remotion && npx remotion still src/index.ts MotionVideo /tmp/f.jpg --frame=N --props=../work/<proj>.spec.json --scale=0.4 - Rendern:
python3 tools/render.py work/<proj>.spec.json out/<proj>.mp4--draftfür eine Vorschau mit halber Auflösung hinzufügen. Es wendet das Grain- und Halbton-Finish in ffmpeg an, was viel schneller ist. - Überprüfen:
Die Kontaktbögen und Ausschnitt-Streifen lesen. Prüfen, dass Schnitte auf Satzgliedanfängen sitzen, nichts für weniger als 0,5 s unlesbar ist, keine toten Strecken länger als 1,5 s dauern und nichts kaputt ist (leere Ebenen, schwarze Lücken, aufdeckende Kanten).python3 tools/review_render.py out/<proj>.mp4 out/review/ - Korrigieren und neu rendern. Das MP4 mit einer kurzen Shot-Liste und allem, was der Benutzer ersetzen sollte (Scratch-VO, Platzhalter-Assets, Musik), ausliefern.
8. Versionen und Serien
- Variationen: das Skript behalten und die Stilfamilie, Paletten, Typografie-Paarung, signaturartigen Übergang, Texturen und Hook-Device variieren. Jedes rendern.
- Kanalserie: ein Kit festlegen (Palette, Typografie-Paarung, Finish, Overlay-Badge, CTA-Karte, 2–3 signaturartige Übergänge). In
remotion/src/specs/kits/<channel>.jsonspeichern und jede Episode damit beginnen (siehekits/README.md).
Standardwerte bei Unsicherheit
- Format: 1080×1920, 30 fps.
- Stil: halftone-poster-collage für Erklärvideos, native-ui-explainer für Business/Technik, dark-product-promo für Tools.
- Bewegung:
animFps15, settle 1.10 (Standard), Szenen 1.2–2.8 s. - Typografie: Keywords in
impact/bebasbei Größe 18–30, mit einemserif-italicoderscriptFlüsterwort.stitchedBadges in einem tiefen Akzent. - Schnitte:
zoomals Signatur, einfachercutfür Punch,flashoderinvertfür Enthüllungen,circlein den CTA. - Finish und Audio:
grain0.07,vignette0.35. Musikbett beimusicVolume0.3 mitduckTo0.12.