Was macht ai-ugc-video-pipeline?
Kurzform-KI-Präsentator-Marketing-Videos (Talking-Head + echtes Produktmaterial + Untertitel) haben eine spezifische Reihe von Fehlermodi, die erst auffallen, wenn man die finale Datei auf einem echten Gerät abspielt – nicht in ffprobe oder einem Skript, das die Timeline anspringt. Dies ist eine phasengesteuerte Pipeline, die sie vor der Auslieferung abfängt, plus die zwei Audio-Bugs, die leicht wieder eingeführt werden, selbst wenn man von ihnen weiß.
Wann verwenden
- Produktion eines Kurzform-Videos (hochkant, 9:16) mit KI-Präsentator für Produkt-/Marketingzwecke.
- Nachbearbeitung oder Iteration eines bestehenden Videos.
- Jede Pipeline, die KI-generiertes Talking-Head-Material + echten Screen-Capture + generierte Untertikel über ffmpeg zusammensetzt.
Nicht verhandelbare Phasenreihenfolge – jede Phase ist das Tor zur nächsten
- PREP (nichts ausgeben, bis dies grün ist). Recherchiere die aktuelle Modell-Landschaft für deinen Präsentator/Sprachgenerierung (Preise und Endpunkte dieser APIs ändern sich monatlich – überprüfe sie anhand der aktuellen Anbieterdokumentation, bevor du Ausgaben tätigst). Schreibe einige Skriptvarianten, lass einen Text-Judge eine auswählen, halte dein Gesicht-/Sprachreferenzmaterial bereit (mit echter, dokumentierter Einwilligung für die verwendete Identität), nimm das echte Produktmaterial auf, das du einfügen wirst, und erstelle eine Bewertungsmatrix plus eine harte Budgetobergrenze, bevor du einen Cent ausgibst.
- KALIBRIEREN. Erstelle zuerst einen kurzen, günstigen Clip, um Bildausschnitt und Identitätsakzeptanz zu validieren, bevor du dich auf vollständige Takes festlegst. Wenn der Bildausschnitt falsch ist, korrigiere das Referenzbild, das du dem Modell fütterst, nicht die Modellauswahl.
- GENERIEREN. Minimale, bewusste Takes. Wechsele nur zwischen Anbietern/Modellen, wenn du Belege hast, dass einer nicht gut performt – mache keine wahllosen Anfragen. Höre auf zu generieren, sobald die Bewertungen ein Plateau erreichen; begrenze bezahlte Iterationen (z. B. stoppe nach 2, es sei denn, die Werte steigen weiter).
- ZUSAMMENSETZEN. Verwende den concat-Filter von ffmpeg, nicht den Demuxer, für den endgültigen Zusammenschnitt (siehe unten zu den Audio-Bugs). Jeder Neubau erhält einen neuen Dateinamen – überschreibe nie direkt, damit du immer gegen die letzte gute Version differenzieren kannst.
- ÜBERPRÜFEN. Führe deine Medienvalidierungs-Gates (unten) und einen Text-/Ehrlichkeits-Preflight für jedes Skript, Untertitel und Textelement aus. Keine Auslieferung, wenn ein Gate fehlschlägt.
- AUSLIEFERN. Übergib die Datei mit einem kurzen Bewertungs-/Notizdokument einem Menschen zur endgültigen Freigabe. Das Posten auf einer Plattform ist immer eine vom Menschen gesteuerte Entscheidung – niemals automatisch posten. Wenn der Präsentator ein realistisches synthetisches Abbild ist, verwende den KI-Inhalts-Offenlegungs-Schalter der Plattform, selbst wenn die Offenlegung im Video eine bewusste, separate Entscheidung ist.
Die zwei Audio-Bugs, die stillschweigend ausgeliefert werden, wenn du nicht davor schützt
- Die Audiospur eines Segments ist kürzer als seine Videospur (Voiceover endet, bevor der Videoclip zu Ende ist). Bei einem Stream-Copy-Concat verschiebt sich die Audio-Timeline und stirbt effektiv frühzeitig in der finalen Datei. Behebung: Polstere die Audiospur jedes Segments auf die Videolänge auf und normalisiere jedes Segment auf dieselbe Sample-Rate/Anzahl der Kanäle vor dem Zusammenfügen.
- Selbst mit Polsterung kann der concat-Demuxer winzige (~0,1 s) Paket-Timing-Lücken durch Rundung der Audiodauer hinterlassen. Tools, die direkt decodieren (ffmpeg, ein Transkriptionstool), spielen nahtlos durch diese Lücken und werden nichts anzeigen – aber manche echten Player stoppen den Ton sofort an der ersten Lücke, sodass eine Datei, die deine automatische Prüfung „besteht“, für einen tatsächlichen Zuschauer dennoch kaputt sein kann. Behebung: Führe den endgültigen Zusammenschnitt als Single-Pass-concat-Filter durch (nicht den Demuxer) mit erzwungener Audio-Neuabtastung auf eine kontinuierliche, lückenlose Timeline.
Der Probe, der beide erkennt: Scanne die Audio-Paket-Zeitstempel der finalen Datei auf Lücken > ~50 ms. Validiere Medien so, wie es ein echter Player tut – eine kontinuierliche Decodierung + ein kompletter Datei-Transkript –, nicht durch Anspringen von Zeitstempeln und Stichproben, die stillschweigend genau um die Lücke herum neu synchronisieren können, die du fangen willst.
Judge-Protokoll – LLM-Judges halluzinieren bei Medien, quervalidieren sie
- Bewerte anhand eines festen, moderaten Kompressions-Proxys (zu aggressive Kompression überzeichnet Artefakte und verzerrt die Bewertung gegen das Format, nicht den Inhalt).
- Quervalidieren jede Behauptung eines Judges über Audio mit einem deterministischen Probe (einem Transkript und dem obigen Paket-Lücken-Scan), bevor du danach handelst. Ein Richter, der etwas „einen Glitch“ nennt, kann richtig ODER falsch aus dem falschen Grund sein – vertraue oder verwerfe es nicht nach Gefühl; führe zuerst den deterministischen Check durch, dann entscheide.
- Für A/B-Vergleiche: gleiche Audiospur, festgelegte/gepinnte Kriterien, konsistente Reihenfolge und erzwinge strenge strukturierte Ausgabe – frei formulierte Richtermeinungen sind schwerer umsetzbar und leichter zu rationalisieren.
- Erwarte, dass ein Judge streng ist. Liefere auf Basis von Beweisen aus (jedes deterministische Gate grün + die Freigabe eines echten Menschen), niemals allein auf Basis des Urteils eines Judges.
Ehrlichkeits- und Sicherheits-Gates – kodiere diese als Code, nicht als Bauchgefühl-Check
Führe einen automatisierten Preflight für jedes Skript, jeden Untertitel und jedes Textelement durch, bevor es ausgeliefert wird:
- Keine erfundenen Behauptungen über die Fähigkeiten oder Ergebnisse des Produkts.
- Keine unautorisierte Nutzung von Gesichtern oder Stimmen anderer – hole und dokumentiere echte Einwilligung, bevor du mit dem Abbild einer echten Person generierst, und prüfe die eigenen Nutzungsrichtlinien des Generierungsanbieters für identitätsbasierte Generierung.
- Keine Behauptungen, die als echte Benutzerergebnisse dargestellt werden, tatsächlich aber generiert/simuliert wurden.
- Marken- oder Produktnamen, die nicht öffentlich sein sollten, bleiben aus Skripten, Untertiteln und den Posting-Notizen heraus.
- Das Posten selbst ist immer ein separater, vom Menschen gesteuerter Schritt – der Job der Pipeline endet bei „bereit zur Überprüfung“, niemals bei „veröffentlicht“.
Budget-Disziplin
Führe ein laufendes Kostenledger (Schätzung vs. tatsächliche Kosten pro Generierung) gegen eine harte Obergrenze, die du in PREP festgelegt hast, und stoppe die Generierung, sobald die Bewertungen ein Plateau erreichen, anstatt weiter über den Punkt der abnehmenden Grenzerträge hinaus auszugeben. Budgetierung im Voraus und Stoppen auf Basis von Beweisen – statt auf „nur noch einen Take“ – hält diese Pipeline bezahlbar.
Wie verwenden
Installation: Kopiere diesen Ordner für den persönlichen Gebrauch nach ~/.claude/skills/ai-ugc-video-pipeline/ oder bei einem Projekt-Repository nach .claude/skills/ai-ugc-video-pipeline/. Du schließt deine eigene Wahl des Präsentator-/Sprach-Generierungsanbieters und des Screen-Capture-Tools an – diese Skill ist die Phasensteuerungs-Methodik und die hart erarbeiteten Korrekturen für Fehlermodi, keine spezifische Anbieterintegration.
Aufruf:
Führe mich durch die PREP-Phase der ai-ugc-video-pipeline für ein 30-sekündiges Produkt-Demo-Video – hilf mir, die Skriptvarianten und das Budgetledger zu schreiben, bevor wir etwas generieren.
Mein zusammengesetztes Video hat Audio, das in einigen Playern mitten drin aussetzt, aber in ffplay einwandfrei läuft. Verwende den Audio-Bug-Bereich der ai-ugc-video-pipeline, um es zu diagnostizieren und zu beheben.