Werbevideo
Pfadkonvention:
<skill>bezieht sich auf das Verzeichnis, in dem sich diese SKILL.md befindet.scripts/,references/,assets/,templates/befinden sich alle darunter. Ersetzen Sie<skill>/scripts/…in den Befehlen durch den absoluten Pfad zu diesem Verzeichnis, bevor Sie sie ausführen.
Standardwerte
- Seitenverhältnis 16:9 (1920×1080, 30 fps). Wenn der Benutzer ein bestimmtes Format angibt, wird dies verwendet. Unterstützt werden
16:9,9:16,1:1,4:5. Wenn der Benutzer vertikale Plattformen wie Douyin, Xiaohongshu, Video Account, Reels usw. erwähnt, verwenden Sie9:16. - Die Sprache folgt dem Benutzermaterial. In der ersten Phase wird keine Sprachaufnahme gemacht. Wenn die Bildschirmtexte bereits Informationen enthalten, sind Untertitel standardmäßig deaktiviert.
- Schriftarten fallen standardmäßig nicht auf DM Sans / SF Pro / PingFang: Erstellen Sie gemäß references/typography.md einen „Schriftartenvorschlag“ – Schriftarten von der offiziellen Website oder dem Markenhandbuch + 3 Paare nach Stimmung ausgewählt. Verwenden Sie
fonts.py specimen, um mit dem tatsächlichen Text des Clips Bilder zu generieren, die der Benutzer auswählen kann. Nach der Auswahl tragen Sie diese in die fünfte Zeile der Auswahlkarte ein. - Keine harten Schnitte, keine digitalen Stille, Text durch die Detail-Checkliste: Gehen Sie vor der Auslieferung gemäß references/detail-pass.md durch (Checkliste für Übergangspunkte →
rn sheet --around→rn qa/rn cuts→typo_lint.py/font_check.py). Die meisten von Benutzern als „abrupt“, „Audio-Probleme“ oder „nicht elegant genug“ beanstandeten Punkte stammen von hier. - Das Logo wird vom Benutzer bereitgestellt. Wenn kein Logo bereitgestellt wird, verwenden Sie einen Textmarker mit dem Markennamen und vermerken Sie in
brand.disclaimereinen Haftungsausschluss, z. B. „Beispielmarke, nur zur Vorführung“. Vom Benutzer nicht angegebene Statistiken gelten als Beispiele und müssen ebenfalls in den Haftungsausschluss aufgenommen werden. Es dürfen keine echten Daten erfunden werden. - Priorität der Begleitmusik: Benutzer bereitgestellt > Eingebaute Musikbibliothek
pick_music.py(Standard, vermeidet automatisch kürzlich verwendete Titel) > Online-Open-Source-Bibliothek als Ergänzung >synth_bgm.pySynthese als Fallback.
Abhängigkeit: rn (renoise-kit)
Bild und Ton werden mit Remotion gerendert. Überlassen Sie alle mechanischen, fehleranfälligen Schritte rn: frame-genaues Extrahieren von Einzelbildern und Kontaktblättern, Lesen von Musik (Lautstärke / Beat-Punkte / Tempo), Encoding und Mastering des fertigen Clips, Auslieferungsprüfung, Audit von harten Schnitten / Stille / Übersteuerungen. render.py ist bereits angebunden. Verwenden Sie bei manueller Ausführung direkt rn <Befehl> --help, um die Parameter zu prüfen.
brew install ffmpeg-full && export PATH="$(brew --prefix ffmpeg-full)/bin:$PATH" # macOS: `rn` ruft das systemeigene ffmpeg auf
apt install ffmpeg # Debian / Ubuntu
winget install Gyan.FFmpeg # Windows (nach der Installation neues Terminal öffnen)
uv tool install "renoise-kit[all]" # Stellt den Befehl `rn` bereit
Gemeinsam für macOS, Linux, Windows: Die Skripte der Fähigkeit sind alle Python und hängen nicht von Bash ab. Ersetzen Sie im Folgenden python3 unter Windows durch python (oder py -3); Pfade können mit / oder \ verwendet werden.
| Aufgabe | Befehl |
|---|---|
| Material / Vorschau / Einzelbildordner ansehen | rn sheet <Video oder Ordner> [--fps 4 | --around Zeitstempel,.. --span 4 --diff] |
| Begleitmusik analysieren: Lautstärke, Beat-Punkte, BPM (inkl. Halb-/Doppeltempo-Kandidaten) | rn listen bgm.wav --json out/music.json |
| Frameweise Helligkeit / Bewegung / Frequenzbänder / Drums / Übersteuerungen | rn signal <Datei> -o out/signal.png --json out/signal.json |
| Encoding, Mastering, Ton austauschen, 1080p ausgeben | rn finish raw.mp4 -o out.mp4 [--audio mix.wav] [--height 1080] |
| Auslieferungsprüfung (Format, Lautstärke, True Peak, Stille, Pegelsprünge, Übersteuerungen, schwarze Frames, eingefrorene Frames, konstante Bildrate) | rn qa out.mp4 [--accept CHECK@Sekunde] |
| Liste der harten Schnitte + Einzelbilder vor und nach jedem Schnitt | rn cuts out.mp4 --sheet out/audit/cuts.jpg |
| Vergleich mit vorheriger Version / Referenzclip | rn compare neu.mp4 alt.mp4 --cuts |
| Bildschirmtext (Textprüfung, Untertitel eines Referenzclips lesen) | rn text out.mp4 |
Modusauswahl & Stil-Routing
Jeder Clip durchläuft zunächst gemäß references/style-router.md eine vierschichtige Auswahl: ① Modus ② Visueller Grundton ③ Narrative Struktur ④ Verstärkungsebene (≤2), plus ⑤ Schriftart (typography.md). Schreiben Sie eine fünfzeilige „Auswahlkarte“ und platzieren Sie sie über der Storyboard-Tabelle zur Bestätigung durch den Benutzer. Lesen Sie nur die ausgewählten Dokumente. Bei Konflikten: Benutzer sagt es deutlich > Bewertungseinträge in der Routingtabelle > Branchenstandard. Die folgende Tabelle zeigt ① Modus und die Einstiegspunkte der einzelnen Erweiterungspakete:
| Was der Benutzer möchte | Modus | Zuerst lesen | Beispiele |
|---|---|---|---|
| Produkt-/Dienstleistungs-Promovideo, Launch-Video | Filmischer Promo-Clip (Standard) | cinematic.md → motion-craft.md | examples/youware/, examples/renoise/ |
| Schnelle Erklärung, Social-Media-Batch | Vorlagen-Clip | storyboard.md, styles.md | storyboard.json |
| Persönliche Vorstellung, Kanal-Promo | Personal Brand Clip | cinematic.md „Personal Brand & Pixel-Avatar“ | — |
| Hardware-Konzept für Smartphones, Geräte etc. | Hardware-Konzept-Clip | cinematic.md „Physisches Hardware-Produkt“ | — |
| Mehrere fertige Clips zu einem Sammelvideo schneiden | Portfolio-Rückblick | recap.md | — |
| Motion-Design-Fähigkeiten zeigen, Intro, Channel-ID | Motion-Design-Showreel | motion-craft.md | examples/motion-reel/ |
| Musik-getrieben, flüssig verschmelzend, Datencharts, unendliche Reise, perspektivische Enthüllung | Style-Erweiterungspaket 01 (auf filmischem Promo-Clip aufgesetzt) | style-pack-01.md (für musik-getrieben zuerst audio_features.py ausführen) | — |
| Eine durchgehende Einstellung, keine harten Schnitte, das durchgehende Gefühl eines Referenzclips lernen; Produkt hat einen „Input→Output→Dauerbetrieb“-Pfad | Style-Erweiterungspaket 02: Eine durchgehende Einstellung Staffellauf (narrative Struktur, mit Voiceover) | style-pack-02.md (für Voiceover zuerst narrate_mimo.py ausführen, kann die Stimme des Kunden klonen) | Komponenten in src/cinematic/relay/ |
| Icons bewegen sich, dynamische Emojis, Prozessknoten leuchten nacheinander auf | Animierte Icons (auf jeden Modus aufsetzbar) | animated-icons.md (für Emojis zuerst fetch_noto_emoji.py ausführen) | examples/animated-icons/ |
| Marken-Tonalitäts-Clip, Marken-Relaunch, „Claude-ähnliche“ offizielle Qualität, Apple-artige Menschlichkeit, keine konkreten Funktionen zeigen | Style-Erweiterungspaket 03: Konzeptleiter · Vitrine (Punkt→Linie→Fläche→Körper→Feld, jedes Kapitel ein Wertesatz, am Ende Logo-Platzierung; 60s, Klavier) | style-pack-03.md (für Glyphen-Vitrine zuerst glyph_outline.py ausführen) | examples/youware-ladder/ |
| Modell-/Produkt-Launch-Clip, „soll hochwertig wirken UND Kompetenz beweisen“; Name ermöglicht Wortspiele; offizielle Größenordnungs-Fakten (zählbare Wunder) vorhanden | Style-Erweiterungspaket 04: Sonett · 3D-Tiefenschärfe (Drehbuch ist ein Gedicht, eine Zeile pro Abschnitt; Datenblatt-HUD nur offizielle Zitate; 680.000 Striche zu einem Markenstern ausgerichtet) | style-pack-04.md | — |
| „N Stile“-Kompilation, ein Produkt in verschiedenen Stilen präsentieren, zur Auswahl für den Kunden; Unterhaltungs-Texteinblendungen / Aufkleber-Stil-Erklärung / isometrische 2.5D-Mikrostadt | Style-Erweiterungspaket 05: Kommerzielle Stilbibliothek (Stilkatalog-Clip-Vorlage + Texteinblendungen + Aufkleber + isometrisch; kann auch einzeln auf jeden Modus aufgesetzt werden) | style-pack-05.md (Three.js-Probefilme zuerst als Video vorrendern, dann in den Katalog-Clip einfügen) | examples/style-catalog/ |
| Frame-für-Frame-Handzeichnung / Linienkunst / Collage / Flache Illustration / Bauhaus-Plakat / Flüssig / Diffuses Glas / 3D-weiches Nadelkissen / Cyber-HUD / Pixel / Synthwave, oder vollständige 15-Stil-Kompilation | Style-Erweiterungspaket 06: Kommerzielle Stilbibliothek Teil 2 (11 Stilkomponenten + 15-Feld-Katalog-Clip + Musik nach Abschnitten verlängern / Retro-Synth-Begleitmusik) | style-pack-06.md (die beiden Fallstricke Filterregion und three-Bounding-Box unbedingt beachten) | examples/style-catalog/ (Reel15.tsx) |
| „Gleiches Thema im Vergleich“-Kurzfilm am Tag des neuen Modell-Launches: Animierte SVGs / kleine Arbeiten beider Modelle nebeneinander + YouWare-Eingabefeld und Modell-Menü + Endhaken | Modellausgabe-Vergleichsclip (framegenauer SVG-Player, Namensisolierung, gleicher Zoom in gleicher Entfernung, Musik nach Abschnitten) | svg-compare.md (zuerst offiziellen Modellnamen, Inferenzstärke, Original-Prompt und Generierungsquelle bestätigen) | examples/svg-compare/ |
| Dribbble-würdige UI-Animation, eine Form mutiert kontinuierlich und erzählt den Produktablauf | Single-Shape-Promoclip (Standard: 16:9 Promo-Version; reine 1:1 Loop-Version optional) | one-shape.md (zuerst Zustandsliste, Farbschema, Musik, Taktgitter erstellen, dann Code schreiben) | examples/morph-promo/, examples/morph-loop/ |
Alle Modi teilen sich dieselben Design-Prinzipien, Motion-Design-Schicht, Musikbibliothek und Soundeffekt-Bibliothek.
Design-Prinzipien (standardmäßig ausgeführt)
Alle Clips werden gemäß references/design-principles.md erstellt: Apple-artig eine Idee pro Bildschirm, große Schrift mit Weißraum, zurückhaltender Farbgebrauch und glaubwürdige Materialien; einheitliche lucide-react-Icons (1.75 Strichstärke, Funktionsknoten verwenden IconTile; für Animationen lucide-animated verwenden, bei Kontakt-frame einmal abspielen), Emojis nur als animierte Noto-Version und standardmäßig nicht verwenden, keine Platzhaltergrafiken; jeder Frame bestimmt zuerst Fokus und Stimmung, Kamerabewegung hat eine Motivation (Dolly, Fokusverlagerung, Durchfahrt, Schwung, kraftvoller Zoom); Sound liegt auf dem Kontaktframe der Aktion. Gehen Sie vor der Auslieferung Punkt für Punkt die „Master-Review“-Checkliste durch.
Nachdem die inhaltliche Ebene erstellt wurde, fügen Sie die „Motion-Design-Ebene“ hinzu (references/motion-craft.md): Verwenden Sie zuerst die offiziellen Website-Materialien und überlagern Sie dann Partikel, Verformungen, Masken auf diesen Bildern (z. B. Partikel sammeln sich auf dem Produktscreenshot zum Slogan). Schneiden Sie keinen separaten Abschnitt mit schwarzem Hintergrund ohne Bezug zum Produkt. Schreiben Sie die Übergänge zwischen den Abschnitten klar (bevorzugt Match Cuts). Das Eröffnungsobjekt kehrt am Ende zurück.
Arbeitsablauf
Kopieren Sie diese Checkliste und verfolgen Sie den Fortschritt:
- [ ] 1. Materialanalyse: Produkt, Branche, Zielgruppe, Verkaufsargumente
- [ ] 2. Einmalige Bestätigung: Zweck, Stil, Länge, Seitenverhältnis, Sprache, Begleitmusik
- [ ] 2b. Schriftartenvorschlag: 3 Paare nach Stimmung + Vorschlagbild der aktuell verwendeten Markenschriftart (fonts.py specimen) → Benutzer wählt aus
- [ ] 3. Skript-Storyboard (inkl. Spalte für Haupttechnik und Übergang jedes Abschnitts) → auf Benutzerbestätigung warten
- [ ] 4. Projekt anlegen → Standbilder → auf Benutzerbestätigung des Bildes warten
- [ ] 5. Begleitmusik: pick_music.py wählt Titel und passt Takt an, Zeitachse nach BPM des Titels neu anordnen
- [ ] 6. Niedrigauflösungsvorschau → Änderungen
- [ ] 6b. Detail-Review: Liste der Übergangspunkte + 4 Frames davor und danach (rn sheet --around) + rn qa / rn cuts + typo_lint.py (vor dem Zeigen der Vorschau für den Benutzer selbst durchgehen)
- [ ] 7. Auslieferung des fertigen Clips und Verifikation
1. Materialanalyse
Lesen Sie alle vom Benutzer bereitgestellten Inhalte (Texte, PDFs, URLs, Screenshots, Logos). Wenn der Benutzer nur eine URL bereitgestellt hat, extrahieren Sie gemäß references/brand-from-website.md Logo, Schriftarten, Farbschema und hochauflösende Produktbilder von der offiziellen Website. Destillieren Sie:
- Was ist das Produkt, ein Ein-Satz-Wertversprechen (≤ 20 Zeichen)
- 3–4 Verkaufsargumente, jedes mit einem Icon-Motiv
- Vom Benutzer explizit angegebene Daten (nur diese verwenden)
- Vorhandene visuelle Assets: Screenshots, Logo, Markenfarben, Schriftarten
- Branchenklassifizierung und Zielgruppe: gemäß references/industries.md bestimmen, um empfohlenen Stil, Kameraführung und Musikstimmung zu erhalten
2. Einmalige Bestätigung
Fragen Sie alles auf einmal, fragen Sie nur nach Punkten, die nicht abgeleitet werden können, und setzen Sie jedes Mal die empfohlene Option an die erste Stelle und kennzeichnen Sie sie mit „(empfohlen)“. Wenn der Host ein Fragebogen-Tool mit Auswahlmöglichkeiten hat, verwenden Sie es (diese Tools haben eine begrenzte Anzahl von Fragen pro Durchgang; bei vielen Fragen nach Wichtigkeit auf zwei Runden aufteilen). Wenn nicht, listen Sie die Optionen in einer Nachricht als nummerierte Optionen auf:
- Videozweck: Produkteinführung, Funktionsdemonstration, Markenimage, Fundraising-Pitch, Social-Media-Werbung
- Produktionsmodus: Filmisch (echte UI-Demonstration + 3D + Soundeffekte, empfohlen für Produkteinführung/Marken-Clips) oder Vorlagen-Clip (schnelle Ausgabe, geeignet für Erklärungen, Social-Media-Batches)
- Filmischer Stil: Dunkle Tech-Ästhetik / Scherenschnitt / Hell-Redaktion, nach Branche empfohlen (siehe cinematic.md „Stile“)
- Stil: 3 Voreinstellungen nach Branchentabelle, jede mit einer Bildbeschreibung (Voreinstellungen siehe references/styles.md)
- Länge: Stufen nach Zweck (siehe references/storyboard.md), Hinweis „Je kürzer die Länge, desto weniger Text pro Bildschirm“
- Seitenverhältnis: Nur fragen, wenn das Material auf ein vertikales Format oder Multi-Plattform-Auslieferung hindeutet, sonst standardmäßig 16:9 verwenden
- Sprache
- Quelle der Begleitmusik: Eingebaute Musikbibliothek (empfohlen, 2–3 Kandidaten mit Stilbeschreibung angeben) / Selbst bereitgestellt / Synthetisiert
Bereits vom Benutzer klar genannte Punkte nicht erneut fragen.
2b. Schriftartenvorschlag
Gemäß references/typography.md §1: Stimmung bestimmen → fonts.py pairs --tone <Stimmung> (wenn die offizielle Website eine kommerzielle Schriftart verwendet, zuerst fonts.py similar "<Schriftartname>") → Vorschlagbild mit tatsächlichem Titel, Untertitel, Fließtext und Chinesisch/Japanisch des Clips erstellen, 3 Paare + 1 Paar aktuell verwendete Markenschriftart:
python3 <skill>/scripts/fonts.py specimen --pair warm-soft --pair editorial-italic --pair bold-youth --combo <Markentitelschrift>+<Markenfließtextschrift> \
--title "..." --sub "..." --body "..." [--zh "..."] [--ja "..."] --out <Projektverzeichnis>/out/type-proposal.png
Bild an Benutzer senden zur Auswahl; nach Auswahl fonts.py fetch <ids> --to <Projektverzeichnis>, nach Fertigstellung des Textes fonts.py subset <Projektverzeichnis> --text-file copy.txt (für Chinesisch/Japanisch). Lizenzierung gemäß typography.md §8: Fontshare-Schriftarten nicht subsetten und nicht mit dem Projekt an Dritte weitergeben.
3. Skript-Storyboard
Wenn der Benutzer ein Skript bereitgestellt hat, teilen Sie es in Szenen auf. Andernfalls schreiben Sie es gemäß der Struktur von references/storyboard.md. Schreiben Sie zuerst die Auswahlkarte (style-router.md) über die Tabelle, dann geben Sie die Tabelle zur Bestätigung an den Benutzer:
| # | Dauer | Szenentyp | Bild | Bildschirmtext | Kameraführung | Haupttechnik / Übergang |
|---|
Kein Rendern ohne Bestätigung durch den Benutzer. Nach Änderungen durch den Benutzer die Tabelle aktualisieren und erneut bestätigen.
4. Projekt anlegen und Standbilder rendern
python3 <skill>/scripts/setup_project.py <Projektverzeichnis>
Für filmisch: storyboard.json enthält nur Markeninformationen, das Bild wird in src/Film.tsx gemäß references/cinematic.md programmiert (siehe templates/remotion/examples/youware/). Verwenden Sie für Standbilder render.py <Projektverzeichnis> film-stills <Frame-Nummern...>, um abschnittsweise zu prüfen, Vorschau mit film-preview, finaler Clip mit film (Ausgabe out/film.mp4 mit Lautstärkeprüfung). Die folgenden Storyboard-Validierungen und render.py gelten für Vorlagen-Clips.
- Schreiben Sie das bestätigte Storyboard in
<Projektverzeichnis>/storyboard.json(Felder siehe storyboard.md). - Material in
public/ablegen:brand/(Logo),fonts/(mitfonts.py fetchherunterladen, inklusivefonts.jsonundLICENSES.md),images/(Screenshots),music/. Pfade instoryboard.jsonsind relativ zupublic/. - Validieren und Standbilder rendern (Mittenframe jeder Szene):
python3 <skill>/scripts/check_storyboard.py <Projektverzeichnis>/storyboard.json
python3 <skill>/scripts/render.py <Projektverzeichnis> stills
ERRORmuss behoben werden.WARN Lesedauerbedeutet, dass der Text nicht vollständig gelesen werden kann: Text kürzen oder Szene verlängern.- Sehen Sie sich jedes
out/stills/scene-N.pngan (out/stills-sheet.jpgist eine Übersicht pro Seite). Überprüfen Sie gemäß der „Master-Review“-Checkliste von design-principles.md (Fokus, Weißraum, Überlauf, Icons, Kontrast). Nach der Korrektur die Standbilder dem Benutzer zeigen (wenn der Host Dateien senden kann, direkt das Bild senden, andernfalls den Dateipfad angeben). - Wenn der Benutzer Stile vergleichen möchte, ändern Sie den
styleund rendern Sie die Standbilder erneut. Speichern Sie die alten Standbilder unterout/stills-<Stil>/, um einen direkten Vergleich zu ermöglichen.
5. Begleitmusik
Verarbeiten Sie gemäß references/music.md. Unabhängig von der Quelle muss music.bpm gesetzt werden (aus rn listen gelesen). Die Zeitachse richtet jeden Schnittpunkt auf den Beat aus.
Wenn ein Voiceover benötigt wird, generieren Sie es gemäß cinematic.md „Voiceover“ mit voiceover.py (Xiaomi MiMo TTS oder systemeigenes say). Die Zeitachse wird dann durch die Dauer des Voiceovers gesteuert. Wenn die Lautstärke des fertigen Clips geändert werden muss, rendern Sie nur die Tonspur neu, nicht das Bild: rn finish out/film.mp4 -o out/film-loud.mp4 --copy-video --lufs -12.
6. Vorschau
python3 <skill>/scripts/render.py <Projektverzeichnis> preview
Schnelle Ausgabe in halber Auflösung. Geben Sie dem Benutzer den Pfad zu out/preview.mp4. Nehmen Sie Änderungen an storyboard.json basierend auf dem Feedback vor und rendern Sie erneut.
6b. Detail-Review
Bevor Sie dem Benutzer die Vorschau zeigen, gehen Sie gemäß references/detail-pass.md selbst durch:
rn sheet out/film-preview.mp4 --around <Sekunden der Übergangspunkte,...> --span 4 -o out/seam.jpg # 4 Frames vor und nach jedem Mount / Unmount / Parameterwechsel (Sekunden = Frame-Nummer / 30)
rn qa out/film-preview.mp4 # Schwarze Frames, eingefrorene Frames, digitale Stille, Pegelsprünge, Übersteuerungen (wird von render.py automatisch ausgeführt)
rn cuts out/film-preview.mp4 --sheet out/audit/cuts.jpg # Liste der harten Schnitte, ein Frame vor und nach jedem Schnitt
python3 <skill>/scripts/typo_lint.py storyboard.json # Oder --ts src/film/*.ts*; --fix repariert JSON automatisch
python3 <skill>/scripts/font_check.py public/fonts # Optische Größenachse, echte Satzzeichen-Glyphen
Jeder Punkt muss entweder behoben oder in qa-accept.txt im Projektstammverzeichnis eingetragen werden (ein Eintrag pro Zeile: Prüfpunkt oder Prüfpunkt@Sekunde, nach # den Grund angeben) und im Auslieferungshinweis als „beabsichtigt“ vermerkt werden. Nachfolgende Audits melden es nicht erneut.
7. Fertiger Clip
python3 <skill>/scripts/render.py <Projektverzeichnis> final
Erzeugt out/final.mp4, out/cover.png und bei vorhandenem caption auch out/captions.srt. Dateien, die dem Benutzer übergeben werden, sind stets die Ausgabe von rn finish (film / final in render.py erledigt dies automatisch: Bild separat rendern, Tonspur separat als WAV rendern, dann mit rn finish --audio zusammenführen). Direkt von Remotion ausgegebene MP4s zeigen in einigen Playern und Upload-Plattformen nur die halbe Länge an (Benutzer-Feedback: „Clip 38s gesendet, aber nur 19s spielbar“). Die Ursache finden Sie in references/detail-pass.md unter „Auslieferungs-Encoding“. Beim manuellen Rendern in 4K:
npx remotion render src/index.ts Film out/film-raw-4k.mp4 --muted # Komposition selbst ist 3840×2160; für 1080p-Komposition --scale=2 hinzufügen
npx remotion render src/index.ts Film out/mix.wav --codec=wav --config=remotion.audio.config.ts
rn finish out/film-raw-4k.mp4 -o out/<Name>.mp4 --audio out/mix.wav
rn finish out/<Name>.mp4 -o out/<Name>-1080p.mp4 --height 1080 --lufs keep # Für WeChat / Social Media
rn qa out/<Name>.mp4 # Alle Dateien, die versendet werden, müssen zuerst diesen Schritt durchlaufen
Überprüfen Sie die Ergebnisse von rn qa (FAIL muss 0 sein; WARN beheben oder in qa-accept.txt eintragen) und out/audit/cuts.jpg auf harte Schnitte. Betrachten Sie das Cover-Bild. Übergeben Sie dann den Dateipfad und eine kurze Beschreibung (Stil, Länge, Quelle der Begleitmusik und Lizenz, Haftungsausschluss-Inhalt, absichtlich beibehaltene WARNs). Nachdem der Benutzer eine Bewertung abgegeben hat (mag ich / nicht so gut wie vorher / neu machen), tragen Sie die „Kombination → Clip → Reaktion“ in den Bewertungseintrag von style-router.md ein.
Rendering-Einschränkungen
- Alle Animationen müssen von
useCurrentFrame()abgeleitet werden. CSS transition/animation, Framer Motion Auto-Play,setTimeout, seeds-losesMath.random()sind verboten, da sonst frameweises Rendern flackern oder versetzen kann. GSAP darf nur mit Frame-Seeking verwendet werden. render.pymuss außerhalb der Befehls-Sandbox ausgeführt werden (Headless Chrome benötigt Zugriff auf CPU-Kerne und GPU): Wenn der Host Shell-Befehle in einer Sandbox ausführt, lassen Sie diesen Befehl entsprechend aus der Sandbox.- Das Rendern des gesamten Clips (
preview,final,film-preview,film) und das erstesetup_project.py(npm install) dauern einige Minuten und überschreiten das Timeout der meisten Host-Befehle: Führen Sie es im Hintergrund aus (wenn der Host Hintergrundausführung unterstützt, verwenden Sie diese; andernfalls verwenden Sie die systemeigene Hintergrundmethode und leiten Sie die Ausgabe inout/render.logum: macOS / Linuxnohup … > out/render.log 2>&1 &, Windows PowerShellStart-Process python -ArgumentList '…' -RedirectStandardOutput out/render.log -NoNewWindow, und überprüfen Sie später das Log). Führen Sie keine häufigen Polling-Durchläufe durch.stills,film-stillsmit einigen Frames können im Vordergrund ausgeführt werden, mit einem erhöhten Timeout von 10 Minuten. - Kein globales Node erforderlich:
setup_project.pysucht nach vorhandenem Node und lädt bei Bedarf eine tragbare Version nach~/.cache/promo-video/nodeherunter. ffmpeg undrnmüssen im System installiert sein (siehe „Abhängigkeiten“).setup_project.pygibt einen Hinweis, wenn sie fehlen. hero3drendert am langsamsten; ein Clip sollte 1–2 Instanzen nicht überschreiten.- Häufig verwendete Werkzeuge:
rn finish(Auslieferungs-Encoding: fixed_frame_rate_flag=1, BT.709 TV Range, moov vorne, −14 LUFS und True Peak nach Encoding ≤ −1 dBTP,--audiodurch WAV-Mix ersetzen,--height 1080für kleinere Versionen);rn qa(Auslieferungsprüfung + schwarze Frames / eingefrorene Frames / digitale Stille / Pegelsprünge / Übersteuerungen, wird vonrender.pyautomatisch ausgeführt);rn cuts --sheet(Liste der harten Schnitte);rn sheet(genaues Extrahieren und Zusammenstellen von Frames, für Video oder Standbildordner, für Bildauswahl und Review; nichtffmpeg -r 1verwenden);rn listen(BPM, Beat-Punkte, Lautstärke);typo_lint.py(Gänsefüßchen, drei Punkte,--, japanische Satzzeichen, hängende Trennzeichen, Waisen in Bildschirmtexten);font_check.py(Achsen, Eigenschaften, echte Satzzeichen-Glyphen von Schriftartdateien, fehlendes opsz gibt Warnung);fonts.py(Schriftartenverzeichnis / Paare / Vorschlagbilder / Herunterladen / Subsetting / Kommerzielle Schriftarten-Alternativen, siehe typography.md);audio_features.py(frameweise Merkmale der Begleitmusik,AudioReactive.tsxliest dessen Format);pick_music.py(Titelauswahl und Taktanpassung);narrate_mimo.py(Voiceover: MiMo-Standardstimmen oder Klonen der Kundenstimme aus wenigen Sekunden Aufnahme, Ausgabe von wordweisen Zeitstempeln timings.json zur Steuerung des Bildes,--qafür Rücklese-Validierung). - Shell ist zsh:
for t in $LISTteilt nicht nach Leerzeichen; schreiben Sie die Liste direkt infor t in 1 2 3; verwenden Sie bei Heredocs mit Backticks oder${}<<'EOF', da sonst die Shell sie expandiert.
Erweiterung
- Neuen Szenentyp hinzufügen: Komponente in
src/scenes/schreiben, in denScene-Union-Typ vonsrc/types.tsundSceneBodyinsrc/Promo.tsxaufnehmen, undSCENE_TYPESundscene_textincheck_storyboard.pyaktualisieren. - Bilder mit
<Img>; GIFs mit@remotion/gif; Lottie mit@remotion/lottie. Die Versionen der@remotion/*-Pakete müssen exakt mitremotionübereinstimmen. - KI-Materialergänzung: Vom Kunden nicht filmbare Personen und Szenen mit Renoise als Keyframes und Bild-zu-Video generieren (Renoise-Plugin muss installiert und angemeldet sein). Der Bildstil wird aus den eigenen Design-Spezifikationen des Kunden übernommen. Das Modell wird gemäß dem model-routing Skill von Renoise ausgewählt. Pro Batch zuerst
estimate_costausführen, um Anzahl und Kostenschätzung zu melden, und erst nach Zustimmung des Benutzers einreichen. Ablauf, Prompt-Regeln und Grenzen siehe references/ai-footage.md.
Referenzen
- references/brand-from-website.md: Extraktion von Text, Farbschema, Schriftarten, Logo und Produktbildern von der offiziellen Website
- references/design-principles.md: Design-Prinzipien, Icon-Standards, Regie-Kameraführung, Sound und Master-Review-Checkliste (standardmäßig auszuführen)
- references/detail-pass.md: Detail-Review: Drei Prinzipien (Kontinuität / keine Leere / Präzision), Ablauf für Übergangspunkte, Bild- und Ton-Rezepte für Hell→Dunkel-Übergänge, Bewertungsschwellen und Ausnahmen für
rn qa, Auslieferungs-Encoding, bekannte Fallstricke (vor der Auslieferung unbedingt zu tun) - references/typography.md: Schriftsystem: Workflow für Schriftartenvorschläge, 11 Stimmungen → bevorzugte Schriftarten, 17 Paare (mit Entsprechungen für Chinesisch/Japanisch), welche Schriftarten in Top-Werbespots verwendet werden (verifiziert) und Open-Source-Alternativen, Schriftartdateien MÜSSEN die opsz-Achse enthalten, Videotypografie-Regeln und Display-Parameter, Lizenzierung (OFL / ITF FFL / Herstellerverträge), animierte Textkomponenten (
src/cinematic/type/: VarType, OutlineFill, HandReveal, TrackIn, Decode), Detail- und Prüfliste assets/fonts/catalog.json: 99 handverlesene Schriftarten (Google Fonts / Fontshare / GitHub Releases, Lateinisch + Chinesisch + Japanisch), 17 Paare, Tabelle mit kommerziellen Alternativen, Liste der Herstellerschriftarten zum manuellen Herunterladen; wird vonscripts/fonts.pygelesen- references/cinematic.md: Filmischer Film-Modus: Stile, Szenenkomponenten, Produktschnittstelle und Berichtswiedergabe, 3D, Motion-Design und Sound-Design
- assets/sfx/README.md: Verzeichnis der kostenlos kommerziell nutzbaren Soundeffekt-Bibliothek (Tippen, Maus, UI, Übergänge, Papier, Umblättern),
preview.wavzum Anhören assets/music/catalog.json: Musikbibliothek-Katalog (Stimmung, BPM, Energie-Höhepunkte, Lizenz, Download-URL und sha256); die Musikstücke werden nicht mit dem Repository verteilt,pick_music.pylädt sie beim ersten Gebrauch von der offiziellen Mixkit-URL nach~/.cache/promo-video/music/herunter und überprüft sie- references/industries.md: Branchenklassifizierung → empfohlener Stil, Kameraführung, Begleitmusik, Compliance-Hinweise
- references/styles.md: 4 Stilvoreinstellungen und Regeln zum Überschreiben der Markenfarben
- references/camera.md: Glossar der Kamerabewegungen, klassische Techniken und Rhythmusregeln
- references/storyboard.md:
storyboard.json-Felder, Längenoptionen, narrative Struktur und Textregeln - references/music.md: Eingebaute Musikbibliothek und
pick_music.py, erweiterte Open-Source-Bibliothek, BPM-Taktanpassung, synthetisierter Fallback, Lautstärke und Lizenzierung - references/motion-craft.md: Motion-Design-Ebene: Zwei Stufen (zurückhaltend / ausdrucksstark), Technik-Landkarte, Übergangsdesign, Motion-Design-Showreel
- references/recap.md: Mehrere fertige Clips zu einem Sammelvideo schneiden (Apple-artige Karussell-Rückschau)
- references/animated-icons.md: Animierte Icons (lucide-animated 467, frameweise Ersatzdarstellung bereits gegengeprüft) und animierte Noto-Emojis (
fetch_noto_emoji.py), Rhythmusregeln und Lizenzierung - references/style-router.md: Vierschichtiges Auswahlrouting: Modus, visueller Grundton, narrative Struktur, Verstärkungsebene, Bewertungseintrag, einheitliche Synthesizer-Sound-Regeln: Aktivierung von Synth-Orgeln pro Modus; falls bereits vorhandene Bewertungen und algorithmische Standardeinstellungen ersetzen, bleibt eigene Auswahl logisch korrekt. Bei Konflikten: Benutzer sagt es deutlich > Bewertungseintrag > algorithmische Standardeinstellung. Diese Datei enthält auch die Kurzbefehle der Maker-Fähigkeit, Commit-Typen, Shell, Sleep-Strategie und Logging-Workflow, da Claude Code keinen Zugriff auf Symbole hat, die die Fähigkeit installiert. Muss alle erledigten Aufgaben protokollieren.