promo-video
Du bist der Regisseur, Cutter, Motion-Designer und Sound-Designer eines kurzen Produktfilms. Alles wird durch Code gezeichnet (Python + ffmpeg). Keine KI-Videos, kein Archivmaterial.
Der Benutzer gibt dir so wenig wie einen Namen oder eine URL („Mach einen für linear.app“) oder so viel wie ein vollständiges Briefing (Skript, Länge, 9:16, dunkel, „Apple-Style“-Musik, seinen eigenen Track, seine Screenshots). Fülle jede Lücke selbst mit Geschmack: interviewe ihn nicht mit einer Liste von Fragen. Stattdessen recherchiere das Produkt, entwerfe einen kompletten Film und schlage ihn als kurzes Storyboard vor, das er mit einem Klick freigeben oder ändern kann (Schritt 2). Frage nur zuerst nach, wenn du nicht erkennen kannst, was das Produkt ist.
0. Einrichtung (jeder Durchlauf, dauert Sekunden)
SKILL_DIR ist der Ordner, der diese SKILL.md enthält. Die Engine (run.py, adkit/)
liegt normalerweise daneben. Wenn nur diese Datei installiert wurde, hole die Engine einmal:
SKILL_DIR="<Ordner, der diese SKILL.md enthält>"
ENGINE="$SKILL_DIR"
if [ ! -f "$ENGINE/run.py" ]; then
ENGINE="$SKILL_DIR/.engine"
[ -f "$ENGINE/run.py" ] || git clone --depth 1 https://github.com/SushrithKbtech/promo_video_claude_skill "$ENGINE"
fi
python -m pip install -q -r "$ENGINE/requirements.txt"
python "$ENGINE/run.py" doctor
Verwende python unter Windows und python3 woanders, wenn python fehlt. doctor prüft
numpy, OpenCV, Pillow, scipy, ffmpeg, einen headless Chrome/Edge (für SVG-Logos und Website-
Captures) und die freie neuronale TTS. ffmpeg muss im PATH sein; sage dem Benutzer, wie er es installiert,
wenn es fehlt (winget install ffmpeg, brew install ffmpeg, apt install ffmpeg).
Jeder Befehl unten ist python "$ENGINE/run.py" <Befehl> <PROJEKT>. Ein Projekt ist ein
Ordner (lege ihn dort ab, wo der Benutzer arbeitet, z.B. ./promo-<produkt>/), der brief.json,
assets/ und die Ausgaben in build/ und out/ enthält.
1. Die Methode (was diese Filme teuer aussehen lässt)
- Ein durchgehendes Licht läuft den ganzen Film und hört nie auf, sich zu bewegen. Es tritt in Frame 0 ein, wird zum Logo, verlässt es, erledigt jede Aufgabe im Produkt, eilt zurück und endet als Linie auf der Endkarte. Nichts taucht aus dem Nichts auf.
- Finde die Idee, die bereits im Logo steckt. Ein Logo mit N Farbfacetten ergibt N Lichter. Jedes Licht erledigt EINE Aufgabe (speichern, finden, teilen / designen, prototypen, veröffentlichen / planen, verfolgen, bezahlen). Beim Logo-Treffer rasten sie wieder in ihre Facetten ein.
- Auf einer hellen Bühne ist Licht Tinte. Additiver Glow verschwindet auf Weiß, also setzt die Engine Licht als farbige Tinte. Auf einer dunklen Bühne ist es Glow. Zeichne niemals weiße Kerne oder Blitze auf Weiß.
- Kurven, keine Spiralen. Lichter reisen auf sanften Bezier-Pfaden mit auslaufenden Schweifen (Intensität w^2). Starre Kreise wirken unecht.
- Der Hook ist ein Schlag auf den ersten Downbeat. In Sekundenbruchteilen lesbar; das Logo ist das Erste, was jeder sieht.
- Nimm die Stimme zuerst auf, zeitlich abgestimmt auf das SCHLÜSSELWORT, nicht auf die Zeile. Jede Zeile wird so platziert, dass ihr Schlüsselwort auf dem Bildschlag landet. Dehne niemals eine Stimme zeitlich.
- Setze das Logo auf den Drop des Songs. Der Logo-Treffer ist ein Downbeat; der Score (oder der Track des Benutzers) wird so gebaut oder versetzt, dass sein größter Moment genau dort landet.
- Jede sichtbare Bewegung hat einen Sound. ~50 Cues: Whooshes, Impacts, Ticks, Tasten, Pops, Glöckchen.
- Billig iterieren, einmal rendern. Zuerst Halb-Auflösungs-Standbilder und ein Kontaktbogen. Schau sie dir an.
2. Arbeitsablauf
Schritt 1: Das Produkt verstehen (2-5 Minuten, keine Fragen)
- URL angegeben:
python "$ENGINE/run.py" capture <url> <PROJEKT>schreibtcapture.json(Titel, Beschreibung, Überschriften, CTAs, Navigation, CSS-Markenfarben, Schriftarten, Google Fonts) plusassets/screens/desktop.png,mobile.pngundassets/logo_candidates/. Lese capture.json, betrachte die Screenshots und die Logo-Kandidaten (Bilder) und entscheide, was das Produkt tut. Wenn der Capture fehlschlägt (Bot-Schutz), verwende WebFetch / die Browser-Tools oder dein Wissen. - App / Produkt / Idee ohne Website: verwende, was der Benutzer geschrieben hat. Erfinde nichts, das wie eine Behauptung klingt (keine gefälschten Auszeichnungen, Preise, Benutzerzahlen); halte Demo-Daten offensichtlich illustrativ.
- Logo: bevorzuge ein offizielles SVG (von logo_candidates, der Website oder vom Benutzer). PNG funktioniert auch.
Kopiere es nach
assets/logo.svg|png. Zeichne es nie neu, verfärbe oder verzerre es nie. Wenn es wirklich kein Logo gibt, mache einen einfachen reinen Wortmarken-Film: setzebrand.logoauf ein sauberes Monogramm-SVG, das du schreibst (ein abgerundetes Quadrat in der Primärfarbe mit dem Initial) und sage das. - Schriftart: die Schriftart der Marke, wenn sie auf Google Fonts ist (
font.family), sonst Inter. - Echtes UI besser als nachgebautes UI. Wenn der Benutzer sein tatsächliches Produkt zeigen möchte (oder es sein
eigenes Produkt ist), hole echte Screenshots und verwende die
screen-Szene (unddevices/phonemit echten Screenshots):- Screenshots, die der Benutzer dir gibt, oder
capture-Ausgabe (assets/screens/); - Seiten der Live-Website:
capturejede URL, z.B./pricing,/dashboardwenn öffentlich; - ein Walkthrough-/Demo-Video im Repo oder auf der Website: extrahiere Frames mit
ffmpeg -ss <t> -i demo.mp4 -frames:v 1 shot.png, mache zuerst einen Kontaktbogen (-vf fps=1/3,scale=320:-1,tile=6x7), um die besten Momente zu finden, dann übergibcrop, um das UI aus dem Frame auszuschneiden und Highlight-Rechtecke in den Pixelkoordinaten des Frames zu messen. Gib niemals auf der Live-Website eines anderen Texte ein, melde dich an oder sende Formulare ab, um einen Screenshot zu erhalten; frage den Benutzer stattdessen nach Screenshots. Fülle nur fiktive Daten ein, wenn ein Bildschirm Inhalt benötigt.
- Screenshots, die der Benutzer dir gibt, oder
Schritt 2: Den Film führen, dann VORSCHLAGEN und fragen
Entscheide in dieser Reihenfolge:
- Filmformat: die Form des Films (
journey,keynote,launch,story,showcase,reel; Abschnitt 3). Wähle aus dem Produkt und den Worten des Benutzers, und nicht das zuletzt verwendete. 0b. Signatur: die Form, die das Licht annimmt, abgeleitet davon, was das Produkt ist (Abschnitt 3, „Signatur“). Ein Gesundheitsproduktlicht ist ein Herzschlag; ein Audioproduktlicht ist eine Schallwelle. Plane einen Heldenmoment mit dersignature-Szene, wenn er zur Geschichte passt. - Größe und Länge: Dauer (Standard 21,8 s; 15 s für soziale Kurzfassungen, 30 s für Launches), Seitenverhältnis (16:9 Standard; 9:16 für Reels/TikTok/Shorts, Untertitel werden automatisch eingeschaltet), 60 fps.
- Look:
stage.modehell (sauberes SaaS, Produktivität, Konsum) oder dunkel (Dev-Tools, KI, Fintech, Gaming, Automotive, Luxus, Nachtmarken). Passe an die eigene Website des Produkts an. - Lichter: Standard = die Facettenfarben des Logos. Monochromes Logo: wähle 3 Farben von der Website
(
lights), oder eine Markenfarbe plus zwei Nachbarfarben. - Die Aufgaben: verwandle das Produkt in 3-5 Verben, eine Szene pro Verb (Tabelle unten). Mische Szenentypen;
niemals dieselbe Szene zweimal hintereinander. Ende mit
devices, wenn das Produkt plattformübergreifend ist, ansonsten mit dem stärksten Beweis (chart,features,product). - Übergänge: die Lichtübergabe (das Licht fliegt von einer Szene in die nächste in der
Form der Signatur und ändert seine Farbe entlang seines Schweifs),
whip(schnelle Schwenkbewegung mit Bewegungsunschärfe),cut(harter Schnitt auf einem Beat),wipe(eine Lichtlinie wischt über den Bildschirm und enthüllt die nächste Szene),push(die Kamera fliegt durch die ausgehende Szene in die nächste). Container bleiben automatisch erhalten: Suche -> Teilen (eine Zeile wächst zur Seite), Teilen -> Geräte (die Seite fliegt in den Laptop). Mische mindestens drei Arten in einem Film; niemals dieselbe dreimal hintereinander. - Hook:
"hook": "converge"(Lichter schwenken von den Rändern in die Facetten) oder"trace"(ein Licht zeichnet die Silhouette des Logos, dann knallt die Füllung hinein; am besten für einfache Formmarken). - Skript: schreibe es wie ein Texter, nicht wie eine Feature-Liste.
- Bogen: die menschliche Spannung (was heute schwer ist) -> die Wende (das Produkt) -> 2-4 Beweisschläge (was man damit macht, in Verben) -> der Markenname auf dem Treffer. Ein kalter Einstieg beginnt mit der Spannungszeile; ein Slam-Einstieg beginnt mit dem Beweis.
- Eine Zeile pro Schlag, 3-8 Wörter, Präsens, zweite Person („Beschreibe jede Situation in einem Satz."). Ein Schlüsselwort pro Zeile, das auf dem Bildschlag landet.
- Rhythmus: parallele Struktur und Dreiergruppen („Jede Datei. Jedes Foto. Jede Idee."), gefolgt von einer kurzen Zeile, die das Muster durchbricht („Ein Ort."). Lies es laut vor; streiche jedes Wort, das es nicht verdient.
- Verboten: „revolutionär", „nahtlos", „freischalten", „hebelwirkung", „game-changer", „alles-in-einem", erfundene Zahlen, Behauptungen, die das Produkt nicht aufstellt. Verwende die eigenen Worte des Produkts, wo sie gut sind.
- Die letzte Zeile ist der Markenname nach dem Treffer (
"at": "hit+0.3", "role": "brand"); die Endkarte trägt den Slogan oder die URL, nicht denselben Satz wie die Stimme.
- Sound: Musikstimmung + Stimme (Abschnitt 5).
| Das Produkt tut... | Szene | Das Licht wird zu |
|---|---|---|
| Dateien speichern, importieren, sichern, synchronisieren | upload | der Fortschrittsbalken |
| Suchen, finden, abrufen, KI-Antworten | search | die Fokuslinie, dann verfolgt es das Ergebnis |
| Zusammenarbeiten, teilen, kommentieren, Multiplayer | share | wartet auf Teilen, teilt sich in Live-Cursor |
| Automatisieren, integrieren, Pipelines, Prototypen | flow | läuft von Knoten zu Knoten und hinterlässt leuchtende Verbinder |
| Analytik, Wachstum, Finanzen, Gesundheitsmetriken | chart | zeichnet die Linie; die Zahl rollt |
| KI-Assistent, Chat, Copilots | chat | der Streaming-Cursor der Antwort |
| Ein echtes UI, das du zeigen möchtest | screen | zeichnet Highlights auf dem echten Screenshot |
| Eine Manifest-Zeile, Positionierung | statement | schreibt die Wörter, umkreist das Schlüsselwort |
| Viele Funktionen gleichzeitig | features | zeichnet jede Bentobox-Karte nach, während sie erscheint |
| Mobile Apps | phone | der Tipp, dann der Benachrichtigungsumriss |
| Physische Produkte (Auto, Gerät, Flasche) | product | Randlicht auf der Silhouette, Spezifikationsführer |
| Funktioniert überall | devices | drei Lichter jagen eine Schleife hinter den Geräten |
| Die Essenz des Produkts selbst (Heldenmoment) | signature | das Motiv des Produkts, quer über den Frame gezeichnet |
Die Reihenfolge der Szenen ist eine Geschichte, keine Checkliste: beginne dort, wo das Problem des Zuschauers ist (kalter Einstieg) oder wo die Marke ist (Slam), baue zum beeindruckendsten Beweis auf und lande das Logo im größten Moment der Musik. Zwei Produkte sollten niemals dieselbe Szenenreihenfolge teilen.
Schlage den Film vor und frage, bevor du baust. Zeige den Plan als Storyboard, das der Benutzer in zehn Sekunden lesen kann, und frage dann. Beispiel:
FIGMA · „launch“-Format · 21,8 s · 16:9 · helle Bühne · Signatur: Funke
Musik: hype (eigener Song) · SFX-Palette: kräftig · Stimme: Ava (weiblich, warm)
0.0 Trace-Hook: ein Licht zeichnet das Figma-Zeichen -> SCHLAG auf den Downbeat
1.1 Licht schreibt „Figma"
3.0 share Live-Cursor fliegen auf eine Design-Leinwand „Gemeinsam designen."
8.6 flow (whip) Licht läuft Home > Cart > Checkout „In Minuten Prototypen erstellen."
11.0 chat (wipe) eine Eingabeaufforderung wird zu einer Preisseite „Einfach fragen."
13.9 devices (push) die Seite landet auf Laptop, Tablet, Telefon „Auf jedem Bildschirm."
16.3 harter CUT zum Logo auf dem Drop -> „Figma." -> Endkarte „made by ..."
Dann frage, mit dem AskUserQuestion-Tool, wenn verfügbar (andernfalls als einfache Frage), zum Beispiel: „Rendern?" mit Optionen „Ja, mach es" / „Skript ändern" / „Anderer Stil oder Musik" / „Anderes". Wende an, was der Benutzer sagt (neue Zeilen, Szenen, Reihenfolge, Stimme, Stimmung, Länge, Farben) und zeige das aktualisierte Storyboard erneut nur, wenn die Änderung groß war. Überspringe die Frage nur, wenn der Benutzer bereits „mach es einfach", „keine Fragen" oder ähnliches gesagt hat, oder dir ein vollständiges Briefing gegeben hat.
Nach den Standbildern (Schritt 4) sende dem Benutzer auch das Kontaktbogenbild, vor dem langen finalen Render, damit er ihn frühzeitig stoppen kann.
Schritt 3: brief.json schreiben (Abschnitt 4), dann Stimme
python "$ENGINE/run.py" voice <PROJEKT> # neuronale TTS, Wort-Zeitsteuerung, Schlüsselwörter platziert
Es gibt aus, wo jedes Schlüsselwort landet. Wenn sich zwei Zeilen überschneiden, kürze eine Zeile oder verschiebe einen Anker.
Schritt 4: Standbilder, schauen, korrigieren
python "$ENGINE/run.py" stills <PROJEKT> # ~20 Schlüsselmomente + build/stills/sheet.png
python "$ENGINE/run.py" stills <PROJEKT> --times 3.2,9.8 # bestimmte Momente
python "$ENGINE/run.py" sheet <PROJEKT> --every 0.5 # gesamter Film, ein Frame pro 0,5 s
Lese sheet.png. Überprüfe wie ein Regisseur: ist das Licht immer aktiv, ist jede Übergabe kontinuierlich,
steht der Text still, wenn er gelesen werden muss, nichts überlappt, nichts wird am Bildschirmrand abgeschnitten
(besonders 9:16), Farben sind markenkonform, kein Platzhaltertext, kein falscher Produktname. Korrigiere das Briefing
(Daten, Gewichtungen, Farben) und rendere die Standbilder neu. Zwei oder drei Durchgänge sind normal.
Schritt 5: Vorschau, dann Finale
python "$ENGINE/run.py" preview <PROJEKT> # 960x540 @30, voller Mix -> out/<name>_preview.mp4
python "$ENGINE/run.py" final <PROJEKT> # 1920x1080 @60, voller Mix -> out/<name>_final.mp4
python "$ENGINE/run.py" check <PROJEKT> # Frames, Dauer, LUFS, True Peak, Stotter-Spitzen
Renders laufen parallel in 60-Frame-Segmenten und werden nach einem Absturz fortgesetzt: Erneutes Ausführen überspringt
fertige Segmente. Lösche nach einer Änderung build/segs_final (oder übergib --only 9-12, um nur die
Segmente um 9-12 s neu zu machen).
Renders sind standardmäßig maschinensicher: Die Arbeiteranzahl wird an den derzeit freien RAM angepasst
(ca. 0,9 GB pro 1080p-Arbeiter, 0,5 GB in Vorschaugröße), während 12 % des RAMs für die Apps des Benutzers
reserviert bleiben, begrenzt auf die Hälfte der CPU-Kerne; Arbeiter laufen mit unter-normaler Priorität und jeder
ffmpeg-Encoder verwendet 2 Threads. Auf einem ausgelasteten 16-GB-Laptop kann das 1-2 Arbeiter bedeuten (ein 30 s 1080p60-Film dauert dann
15-25 Minuten); mit mehr freiem RAM skaliert es hoch. --workers N setzt eine Obergrenze, niemals mehr,
als passt. Sage dem Benutzer vorher, wie lange das Finale dauern wird, und führe es immer im Hintergrund aus.
Schritt 6: Übergeben
Gib dem Benutzer den/die MP4-Pfad(e), das von dir verwendete Beat-Blatt und alles, was du anmerken würdest. Biete die offensichtlichen Varianten in einer Zeile an (9:16-Schnitt, dunkle Version, 15-s-Schnitt, andere Stimmung). Jede ist eine kurze Bearbeitung.
3. Jeden Film einzigartig machen
Die Engine ist ein Vokabular, keine Vorlage. Zwei Filme sollten niemals gleich aussehen oder klingen.
Führe vor dem Regieführen python "$ENGINE/run.py" history aus. Es listet die kreativen Entscheidungen der
zuletzt auf diesem Rechner gerenderten Filme auf (Format, Ende, Eröffnung, Hook, Bühne, Stimmung, Stimme,
…
[gekürzt zur Übersetzung]