Viral Ad Remix
Verwandle eine bewährte Werbestruktur in eine Werbung für die App des Benutzers. Das KI-Modell liefert Personen und Orte; alles, was auf einem Telefonbildschirm gezeigt wird, stammt aus der echten App-Aufnahme; der Schnitt sorgt dafür, dass jede gesprochene Zeile auf dem Gesicht bleibt, das sie sagt.
$S = scripts/ in diesem Skill-Verzeichnis. Benötigt ffmpeg, Python 3 mit numpy pillow opencv-python-headless, und für Sprachprüfungen mlx-whisper (Apple Silicon) oder openai-whisper. Nimm App-Material mit einem Bildschirmrekorder auf, z. B. mit dem Skill app-demo-recorder (Release-Build, echter Account, werbefreier Zustand).
Lies references/lessons.md einmal vor dem ersten Schnitt. Es listet die Fehler auf, die dieser Workflow vermeiden soll.
0. Einigung über das Ziel (eine Nachricht)
Zielgruppe (wer bleibt tatsächlich in der App, nicht wer du dir wünschst), Kanal (Meta / YouTube Shorts / TikTok), die eine zu zeigende Funktion und ein Kreditbudget. Ältere Zielgruppen bevorzugen langsamere Schnitte, größere Schrift, einen Gleichaltrigen auf dem Bildschirm und einen konkreten Nutzen (Geld, Zeit). Starte keine bezahlte Generierung ohne ein Budget.
1. Finde eine Referenz, die bereits funktioniert
python3 $S/find_reference_ads.py search --country KR --objective app_install --period 180 --order like
python3 $S/find_reference_ads.py search --country KR --keyword 앱테크 --lang ko
python3 $S/find_reference_ads.py download <id> <id> --out refs
Wähle 4–30 Sekunden lange Anzeigen (Nachbaumodelle akzeptieren diesen Bereich), deren Struktur zur Funktion passt: Entdecken → Ausprobieren → Ergebnis → CTA. „Gefällt mir“-Angaben sind durch Ausgaben aufgebläht; vergleiche innerhalb einer Suche, nicht zwischen verschiedenen. Referenzvideos sind mit Wasserzeichen versehen und gehören ihren Werbetreibenden: Verwende sie nur als strukturelle Quelle für einen Nachbauauftrag.
2. Besetze die Person (Charakterblatt)
Das Nachbaumodell benötigt ein Gesicht zum Kopieren. Wenn der Benutzer keine Talentfotos hat, erstelle ein Charakterblatt pro Person, bevor Videokredite ausgegeben werden, und lass es vom Benutzer bestätigen.
- Wer: ein Gleichaltriger des Zielzuschauers (gleiches Alter, Region, Beruf, Kleidung), eher gewöhnlich als modelhaft, passend zur Rolle in der Referenz (Moderator, Kunde, Nachbar).
- Blatt: ein Querformatbild (ca. 1600x900), fotorealistisch, dieselbe Person und Kleidung in drei Ansichten: frontale Nahaufnahme von Kopf und Schultern, Halbkörper, Ganzkörper; neutraler heller Hintergrund, weiches Tageslicht. Hände entspannt und vollständig sichtbar, alle fünf Finger. Kein Text, Logos, Wasserzeichen oder Telefon in der Hand.
- Prompt-Gerüst: „Fotorealistisches Charakter-Referenzblatt von EINER fiktiven <Nationalität> , <Gesichts-/Haardetails>, gekleidet in . Drei Ansichten nebeneinander auf einem einfachen hellen Hintergrund: frontale Nahaufnahme, Halbkörper, Ganzkörper. Natürliche Hauttextur, weiches Tageslicht. Kein Text, keine Logos, keine Requisiten.“
Werkzeuge, zuerst die günstigsten:
# Codex CLI Bildgenerierung (in einem ChatGPT-Plan enthalten, keine Videokredite)
codex exec --skip-git-repo-check --sandbox workspace-write -C cast \
"Nutze dein Bildgenerierungswerkzeug, um EIN Bild zu erstellen: <Prompt-Gerüst>. Speichere es als ./cast_<name>.png und gib seinen Pfad aus."
- Higgsfield (oder eine andere Bild-API) über die Werkzeuge des Agenten:
generate_imagemit demselben Prompt oder dessen Charakterblatt-Workflow für ein mehransichtiges Blatt. Kostet Kredite; Angebot vorher einholen. - Jedes Bildmodell, das der Benutzer bereits bezahlt.
Öffne das Bild und überprüfe: ein konsistentes Gesicht über alle Ansichten hinweg, natürliche Hände, kein Text, keine Ähnlichkeit mit einer echten oder berühmten Person. Eine fiktive Person muss als KI-generiert offengelegt werden, wo die Plattform oder das Gesetz es verlangt. Bewahre das Blatt neben dem Brief auf: Der Nachbauauftrag erhält es als Besetzungsbild.
3. Erstelle den Nachbau
Bereite vor: das Referenzvideo, das Charakterblatt aus Schritt 2, das App-Symbol und 1–2 echte App-Screenshots.
Schreibe den Brief so, dass die KI-Ausgabe leicht zu reparieren ist:
- Behalte die Taktung und den Rhythmus der Referenz bei; ersetze Besetzung, Schauplatz, Produkt. Gib die gesprochenen Zeilen wörtlich, kurz, in der Zielsprache. Vermeide Testimonial-Formulierungen („Ich habe es ausprobiert und …“), es sei denn, sie sind wahr; bevorzuge Demonstration („Lass uns berechnen …“).
- Frage nach keinen Untertiteln oder Text auf dem Bildschirm (sie kommen verstümmelt heraus) und keinen Nahaufnahmen von Händen, die auf einem Telefon tippen (Hände sehen falsch aus und Finger kreuzen den Bildschirm, was nicht screenersetzt werden kann).
- Telefonbildschirme werden ersetzt, also bitte das Telefon ruhig halten und zur Kamera gerichtet.
- Nenne zuerst die Kosten; erstelle einen Entwurf in der niedrigsten Auflösung; immer nur eine Ausgabe gleichzeitig.
4. Analysiere die KI-Ausgabe, bevor du sie bearbeitest
python3 $S/analyze_source.py ai.mp4 work/ana # Einstellungen, Sprachzeilen, Kontaktbogen work/ana/shots.jpg
python3 $S/analyze_source.py ai.mp4 work/ana --no-speech --rms 17.2-17.6 # genauer Audio-Schnittpunkt in der Nähe einer Zeile
Schau dir shots.jpg an. Klassifiziere jede Einstellung: behalten (Personen, Orte), screenersetzen (ein Telefon zeigt zur Kamera), entfernen (tippende Hände, verzerrte Gesichter, unlesbare Aktion). Notiere, wo jede Zeile gesprochen wird und in welcher Einstellung. Die erkannten Zeilenanfänge sind oft 0,3–0,7 s zu früh: Bestätige mit --rms, bevor du Audio schneidest.
5. Platziere die echte App auf jedem Telefon
python3 $S/screen_replace.py auto ai.mp4 3.33 6.50 app.mp4 work/shotB.mp4 --work work/B --app-start 2.4
python3 $S/screen_replace.py auto ai.mp4 17.46 21.25 app.mp4 work/shotE.mp4 --work work/E --app-start 10.6 --blank 0,1740,1080,2020
auto extrahiert die Einstellung (stoppt bei jedem Schnitt innerhalb des Bereichs), findet den Schlüsselbild und die Bildschirmecken, rastet sie an der Einfassung ein, verfolgt das Telefon durch die gesamte Einstellung (planare Verfolgung, beide Richtungen, auch bei Drehung), erstellt eine Überblendung mit angepasster Helligkeit und ein wenig Glanz und schreibt work/X/key_preview.png (Viereck + Pixelraster) und work/X/qa.png (Original vs. Komposit).
Öffne immer beide Bilder. Wenn das Viereck falsch liegt, lies die Ecken vom Raster ab und führe erneut aus mit --key K --quad "x,y x,y x,y x,y" (OL OR UR UL, innere Bildschirmkante). Verwende START/ENDE aus dem sicheren Bereich der Analyse. Passe den App-Clip an die Zeile an: Zeige den Eingabebildschirm, während die Person fragt, das Ergebnis, während sie reagiert. Übermale veraltete oder private UI mit --blank (App-Pixelkoordinaten).
6. Erstelle den Ergebnismoment und Text
python3 $S/pop_highlight.py result_clip.mp4 x0,y0,x1,y1 work/pop.mp4 --blank 0,975,720,1145 # Schlüsselzahl erscheint, leuchtet, funkelt
python3 $S/captions.py captions.json work/caps # Hook, Zeilenuntertitel, Endkarte als PNGs
Textregeln: ein Hook im ersten Frame (eine Frage, die der Zuschauer hat), ein Untertitel pro gesprochener Zeile, maximal zwei Zeilen, groß, hoher Kontrast, außerhalb der unteren 20 % und des rechten Rands, niemals über App-UI, die der Zuschauer lesen muss. Halte den Text auf das vom Benutzer akzeptierte Minimum; gesetzlich vorgeschriebene Hinweise bleiben, aber klein. Endkarte = App-Symbol + Name (+ CTA, wenn der Benutzer es wünscht).
7. Montage mit intakter Synchronisation
Schreibe eine Zeitachsen-JSON (Format in scripts/assemble.py --help) und führe aus:
python3 $S/assemble.py timeline.json out.mp4
- Audio ist der eigene Ton der Quelle, in Segmente geschnitten; jede Einstellung mit einem sprechenden Gesicht verwendet dieselben Quellzeiten für Video und Audio. Über App-Bildschirmen, Weitwinkelaufnahmen und der Endkarte kann eine Zeile als Voice-Over gespielt werden.
- Entferne tote Luft (Stille vor Zeilen, zwischen Einstellungen), anstatt alles zu beschleunigen.
- Eine Personenaufnahme muss ab dem ersten Frame in Bewegung sein: Friere niemals ein Gesicht ein, um Zeit zu füllen; um eine Reaktion zu verlängern, verlangsame den stillen Teil mit Frame-Interpolation (
minterpolate) und füge etwas mehr Quellmaterial hinzu als nötig. - Überblendungen verwenden echte Frames nach dem Schnittpunkt; App-Bildschirme können hart geschnitten werden.
- Video- und Audiosummen müssen übereinstimmen (das Tool weigert sich sonst).
8. Überprüfe wie ein wählerischer Zuschauer
python3 $S/verify.py out.mp4 --forbid ai.mp4:10.79-17.29 --person 0-3.2 --person 5.2-8.8 --sheet work/sheet.jpg
Dann schau dir das Blatt an, lies das Transkript gegen deine Untertitel und sieh es dir einmal an. Typische Fehler: ein Randframe aus der nächsten Einstellung, ein Gesicht, das für 4 Frames einfriert, eine Zeile, die über das falsche Gesicht läuft, gefälschte UI am Rand eines ersetzten Bildschirms, Text, der die App bedeckt, der Hook, der über der App-UI bleibt. Korrigiere und überprüfe erneut, bevor du es dem Benutzer zeigst.
9. Ausliefern
Ein Ordner: finales mp4, die rohe KI-Ausgabe, Komposite, Zeitachsen-JSON, README mit der Zeitachsentabelle, ausgegebene Kredite und offene Risiken (Offenlegung der KI-Person, Testimonial-Wortlaut, falsch ausgesprochener Markenname). Wenn eine unabhängige Überprüfung gewünscht ist, übergebe einem Prüfer mit neuem Kontext das Frame-Blatt, das Transkript und die Zeitachse und sage ihm, welche Struktur beibehalten werden soll: Einem Prüfer, dem nur gesagt wird „mach es konform und schneller“, wird die Personen und das App-Material löschen.