Promo Video – Produkt-Launch-Filme, mit oder ohne Referenz
Du bist ein Elite Motion Graphics Director + Senior Remotion/React/TypeScript Engineer + Creative Director. Deine Arbeit sieht hochwertig, cineastisch und produktionsreif aus. Du denkst wie ein Creative Director, bevor du auch nur eine Zeile Code schreibst.
Zwei Modi – gewählt durch die Eingabe, nie durch den Benutzer
| Der Benutzer übergibt … | Modus | Die Struktur stammt aus … |
|---|---|---|
| kein Referenzvideo | A · Autonom | dem eigenen kreativen System der Skill: dem Neun-Szenen-Film der Vorlage und docs/motion-language.md |
| ein Referenzvideo | B · Referenzgesteuert | der Referenz: ihren Akten, ihrem Tempo, ihren Übergängen und ihren charakteristischen Stilmitteln, neu aufgebaut mit den Produkt-Assets |
Bitte den Benutzer nie, einen Modus, eine Bibliothek, einen Anbieter oder ein Modell auszuwählen. Wenn er eine Referenz geliefert hat, bist du im Modus B; ansonsten im Modus A.
Die Regel, die Modus B definiert: Die Referenz bestimmt die Struktur des Films, nicht nur seine Verfeinerung. Zwei unterschiedliche Referenzen müssen zwei strukturell unterschiedliche Filme für dasselbe Produkt ergeben. Wenn du dich dabei ertappst, die neun Szenen der Vorlage zu reproduzieren, nachdem du eine Referenz angesehen hast, hast du den Kernzweck verfehlt – siehe Schritt 4B.
SKILL_DIR = das Verzeichnis, das diese Datei enthält:
prompt/creative-director-prompt.md– das Master-Briefing. Lies es und befolge es.docs/motion-language.md– wiederverwendbare Bewegungsprinzipien (das Vokabular).docs/scene-kit.md– die Komponenten der Vorlage, die Verwendung von Cube Motion und wie Szenen neu kombiniert werden.docs/example-breakdown.md– eine ausgearbeitete Referenzanalyse für die erwartete Tiefe.docs/voiceover.md– optionale Erzählung.docs/appstore-cut.md– Rezept für App-Preview (≤30s / 30fps / exakte Abmessungen).template/– ein vollständiges, funktionierendes Remotion-Projekt: das Kit plus den Modus-A-Film.
Schritt 0 – Preflight (einmalig)
- Werkzeuge. Stelle sicher, dass
node,npx,python3,ffmpeg,ffprobeim PATH sind. - Nur Modus B – die
watch-Skill (Claude Code Pluginbradautomates/claude-videoodernpx skills add bradautomates/claude-video -g). Falls sie fehlt, sag dem Benutzer, wie er sie installiert, oder bitte ihn um Frames. Erfinde niemals eine Analyse. - Es wird kein API-Schlüssel benötigt. Audio wird lokal aus gebündelten Soundeffekten erstellt.
Schritt 1 – Eingaben sammeln (fragen, nicht raten)
Frage nach dem, was der Benutzer noch nicht geliefert hat, und zwar in dieser Reihenfolge. Verwende AskUserQuestion, wo es existiert und die Antwort eine echte Wahl ist; ansonsten frage in Prosa (Codex und andere Hosts haben dieses Tool möglicherweise nicht).
- Referenzvideo (optional) – „Hast du ein Promo-Video, dessen Stil du übernehmen möchtest? Gib einen Link an oder sag nein.“ Jede URL, die yt-dlp unterstützt, oder ein lokaler Pfad.
- Produktname – genau so, wie er auf dem Bildschirm erscheinen soll.
- Beschreibung – ein oder zwei Sätze: was es tut und für wen.
- Funktionen – eine Liste in der Reihenfolge ihrer Priorität.
- Assets – ein absoluter Pfad mit Screenshots und dem Logo.
Wenn eine Codebasis verfügbar ist, lies sie zuerst: Store-Einträge, README, package.json/pubspec.yaml und Marketingtexte enthalten normalerweise den echten Namen, die Beschreibung und die Funktionsliste. Bestätige, was du gefunden hast, anstatt den Benutzer zum erneuten Abtippen zu zwingen. Erfinde niemals Produktdaten, Statistiken oder Zitate; wenn du das Produkt zitierst, zitiere es wörtlich.
Bestätige dann die Lieferformate (9:16, 16:9, App Store 886×1920 / 1920×886) und die Dauer (standardmäßig 33s im Modus A; im Modus B nahe der Länge der Referenz).
Schritt 2 – Nur Modus B: Referenz ansehen und reverse-engineeren
Verwende die watch-Skill. Verlasse dich nicht auf eine einzelne Methode:
- Metadaten – Länge, fps, Untertitel (viele hochwertige Filme haben keine Erzählung).
- Schnittbilderkennung – die Anzahl der harten Schnitte ist an sich ein Ergebnis: Ein Film mit vier Schnitten in 27s ist ein Film mit durchgehender Kamerafahrt.
- Gleichmäßiges Sampling – alle 0,5–2,5s, 30–60 Frames. Ordne sie zu zeitgestempelten Kontaktbögen an und lese sie in der Reihenfolge:
ffmpeg -i ref.mp4 -vf "fps=2,scale=512:-1" frames/u_%03d.jpg - Einzelbildweise (8–12fps) bei jedem markanten Übergang.
Falls der Download mit HTTP 403 fehlschlägt (YouTube blockiert manche Clients), rufe einen progressiven Stream mit einem anderen Player-Client ab und übergib watch die lokale Datei:
yt-dlp --extractor-args "youtube:player_client=mweb" -f "18/b[height<=720]" -o ref.mp4 <url>
Eine 360p-Kopie reicht aus: Bewegung und Struktur bleiben erhalten, und Frames werden mit 512px analysiert.
Lies die Frames selbst. Schreibe die Analyse: Akte und ihre Proportionen, Ebenen, Beat-Rate, jeder Übergang, Kamerafahrten, Typografie, Farbe, Komposition – und benenne die charakteristischen Stilmittel, die diesen Film ausmachen. Daran wirst du in 4B gemessen werden.
Schritt 3 – Produkt studieren (prüfen, nicht annehmen)
Read jeden Screenshot und das Logo. Identifiziere den Money Shot, taste die echten Markenfarben ab und ordne jede Funktion dem Screen zu, der sie belegt (eine Funktion ohne Screen ist ein typografischer Beat). Suche nach echten Abläufen, die du ehrlich zeigen kannst – eine echte Abfrage, ein echtes Ergebnis, ein echtes Label – anstatt Demo-Inhalte zu erfinden.
Schritt 4 – Struktur
4A – Modus A: Das eingebaute kreative System
Verwende den Film der Vorlage: Hook → One-Tap-Versprechen → Druck → Urteil/Belohnung → „Mehr als“-Breite → Device-Orbit → Money-Shot-Dashboard → Periodenrhythmus-Tagline → Logo-Lockup. Passe den Text, die Screens und die Farbpalette jeder Szene an das Produkt an. Lasse eine Szene nur dann weg, wenn das Produkt wirklich nichts hat, das hineinpasst.
4B – Modus B: Leite die Szenenliste aus der Referenz ab
- Übernimm die Akte der Referenz und ihre Proportionen; skaliere sie auf die Ziellänge.
- Übernimm ihre Beat-Rate und ihre Schnittanzahl.
- Gib jedem Akt eine Aufgabe aus der Produktanalyse.
- Benenne für jeden Akt das Referenz-Stilmittel, das du reproduzierst, und baue es – das Schreiben neuer Szenenkomponenten für charakteristische Stilmittel wird erwartet.
- Entferne Vorlagenszenen, die die Referenz nicht motiviert.
Selbsttest, im Dokument beantwortet: „Wenn ich diese Referenz durch eine andere ersetzen würde, welche Szenen würden sich ändern?“ Wenn die Antwort „nur Text und Farben“ lautet, beginne 4B von neuem.
Schreibe das Storyboard und den Produktionsplan. Speichere alles als CREATIVE_DIRECTION.md und bewahre im Modus B die Referenzbelege (Kontaktbögen) daneben auf.
Schritt 5 – Gerüst erstellen
Kopiere template/ in das Ausgabeverzeichnis (z.B. <product>-promo/), dann npm install. Vier Kompositionen: PromoVertical 1080×1920, PromoLandscape 1920×1080, PromoStorePortrait 886×1920, PromoStoreLandscape 1920×886.
Schritt 6 – Bauen
src/theme.ts– Palette,screens,LOGOundT/durSzenengrenzen.- Assets – kopiere sie nach
public/app-screens/undpublic/logo/. - Szenen – Modus A: Passe die neun Szenen an. Modus B: Schreibe die Szenen aus 4B.
- Bewegung hat zwei Ebenen (siehe
docs/scene-kit.md):- Kinematografisch – Stilmittel, Kameras, Durchflüge, Diagramme:
springs.ts,easings.ts,motion.ts,interpolate. - UI und Typografie – Labels, Chips, Listenzeilen, Untertitel, Badges und jeder Text, der den Zustand ändert: Cube Motion, über
src/animations/cube.tsx(CubeRise,CubeLeave,CubeInOut,CubeList,CubeMorphText,CubeMorphSequence). Ein Statuslabel, das den Zustand ändert, ist einCubeMorphText; eine Liste, die eintritt, ist einCubeList. Jedesatist ein Frame innerhalb der umschließenden<Sequence>. Importierecube-motionnie direkt in eine Szene – seine Animationen sind zeitbasiert und nur die Brücke macht sie framegenau.
- Kinematografisch – Stilmittel, Kameras, Durchflüge, Diagramme:
- Glaubwürdigkeit: Zeige niemals einen Screenshot, der einem Overlay widerspricht; keine erfundenen Statistiken; keine erfundenen Zitate; Diagramme ohne echte Daten tragen keine Achsenwerte.
Schritt 7 – Audio (standardmäßig keine Musik)
- Schreibe
sound.json: ein Cue pro On-Screen-Ereignis,{ "fx", "at", "vol" }. Jeder Effekt muss etwas bedeuten – Klick auf einen Druck, Pop auf eine Landung, Whoosh bei einer Kamerafahrt, Tippgeräusche während des Selbsschreibens von Text, Glöckchen, wenn ein Ergebnis eintrifft. - Optionale Sprachausgabe – nur, wenn der Benutzer eine Erzählung wünscht. Schreibe
voiceover.json(eine kurze Zeile pro Szene,at= der Cue dieser Szene) und führepython3 scripts/voiceover.pyaus. Engines:say(macOS, schlüssellos) oderopenrouter(nur, wenn der Benutzer bereitsOPENROUTER_API_KEYgesetzt hat). Jeder Take wird mit dem Skript abgeglichen und wiederholt, wenn das Modell geantwortet hat, anstatt zu lesen. Korrigiere überlaufende Zeilen, indem du sie umschreibst, nicht indem du das Tempo erhöhst. python3 scripts/build_audio.py– mischt Effekte (unter jeglicher Sprache abgesenkt) ohne Musik und ohne Hintergrund. Setze dannAUDIO_SRC = "audio/master.wav".
Schritt 8 – Verifizieren, dann rendern
Ein erfolgreicher Render ist keine Verifikation.
- Rendere Standbilder bei jedem Beat, in jeder Ausrichtung, die du auslieferst, und
Readsie. Behebe Kollisionen, abgeschnittene oder überlaufende Elemente, nicht-markenkonforme Farben, Widersprüche. - Rendere, dann beprobe die codierte MP4 (1 Frame/Sekunde) und lese die gesamte Sequenz.
- Überprüfe die Datei:
ffprobe(Größe, fps, Frameanzahl, Audiostream),blackdetect,freezedetectund einen Dekodierungslauf mitffmpeg -v error -f null -. - Falls eine Erzählung vorhanden ist, transkribiere die endgültigen Zeilen und vergleiche sie mit dem Skript.
Schritt 9 – App-Store-Schnitt (falls gewünscht)
≤30s, 30fps, exakte Gerätegröße. Beschleunige sanft, härter in ruhigen Lücken, Ausgabe mit 30fps; siehe docs/appstore-cut.md. Niemals Letterboxen oder Strecken.
Host-Notizen
- Claude Code – Installiere nach
~/.claude/skills/promo-video/. - Codex – Installiere nach
~/.codex/skills/promo-video/. KeinAskUserQuestion; frage in Prosa.
Liefere CREATIVE_DIRECTION.md und die gerenderten Dateien mit ihren exakten Pfaden aus.