Communitygithub.com

tauseefau/podcast-video

Verwandle ein Thema in ein vertontes Zwei-Moderatoren-Podcast-Video mit lokalen VoiceStudio-Stimmen und HyperFrames, gerendert als 1080p MP4, nachdem der Benutzer zu seinen Wünschen befragt wurde. Verwende dies, wenn der Benutzer ein Podcast-Video, ein KI-vertontes Gesprächsvideo oder einen YouTube-Erklärer im Podcast-Format erstellen möchte.

Was ist podcast-video?

Diese Skill erstellt automatisch ein professionelles 1920×1080-Podcast-Video mit zwei KI-Moderatoren, die ein vom Benutzer vorgegebenes Thema diskutieren. Der Prozess beginnt mit einer strukturierten Interviewrunde, in der alle kreativen Entscheidungen (Thema, Zielgruppe, Gastgeber, Ton, Länge, Öffnung mit eigener Stimme) geklärt werden, bevor Inhalte generiert oder gerendert werden. Nach der Bestätigung recherchiert die Skill das Thema, schreibt ein natürliches Drehbuch (~150 Wörter pro Minute), generiert Sprachausgaben über eine lokale VoiceStudio-Instanz und komponiert das Video mit HyperFrames inklusive Hintergrundbildern, Lucide-Icons, Übergangseffekten (Wischen, Whoosh, Pop) und Abspann. Sie unterstützt die Einbindung einer geklonten Benutzerstimme, erfordert aber die ausdrückliche Erlaubnis des Stimmbesitzers. Jeder Render-Durchlauf ist aufwändig (mehrere Minuten pro Minute Video), daher werden alle Entscheidungen im Voraus getroffen. Die Skill ist für Entwickler und Content-Ersteller gedacht, die schnell KI-generierte Podcast-Videos für YouTube, soziale Medien oder interne Präsentationen produzieren möchten.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tauseefau/podcast-video-skill/tree/HEAD

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht podcast-video?

Erstellt ein 1920×1080-Video mit zwei Moderatoren, die ein Thema besprechen. Jedes Thema erhält ein eigenes Hintergrundfoto, eine Titelgrafik, ein Icon und eine Sprecherbezeichnung mit animierten Sprachbalken. Themenwechsel werden mit einem Vollbild-Wisch und einem Whoosh eingeleitet, Icons erscheinen mit einem Pop, und die letzte Szene enthält einen Abonnement-Button und Credits. Es kann mit der Stimme des Benutzers in einer geklonten Version beginnen.

Lese /hyperframes, bevor du etwas an der Komposition änderst. Die folgenden Skripte befinden sich im scripts/-Ordner dieser Skill. Führe sie aus dem Video-Projektordner aus.

0. Zuerst das Interview

Führe keine Recherche, kein Schreiben und keine Generierung durch, bis dieser Schritt abgeschlossen ist. Ein gerendertes Video ist nur langsam neu zu erstellen, daher sollten die Entscheidungen vorher getroffen werden. Die Methode stammt von Matt Pococks Grilling Skill.

Die Entscheidungen bilden einen Baum: Einige können erst getroffen werden, wenn andere geklärt sind. Arbeite in Runden:

  1. Stelle jede Frage, für die die Voraussetzungen jetzt erfüllt sind, und nichts, was von einer noch nicht gehörten Antwort abhängt. Diese Frage wartet auf eine spätere Runde.
  2. Nummeriere jede Frage und gib deine empfohlene Antwort an, formuliert so, dass „Ja“ sie akzeptiert.
  3. Warte auf die Antworten, ermittle dann, was sie freigegeben haben, und stelle die nächste Runde. Eine Antwort kann auch eine geplante Frage überflüssig machen: Lasse sie weg.

Formatiere jede Frage wie folgt:

❓ **F1** - **<Titel>**: <die Frage>

➡️ <deine empfohlene Antwort>

Fakten sind deine Aufgabe, Entscheidungen sind ihre. Frage niemals nach Dingen, die du nachschlagen kannst: ob VoiceStudio läuft, welche Sprachprofile existieren (GET /profiles), was im Ordner ist, was die Recherche ergibt. Triff niemals eine Entscheidung für sie. Stelle Fragen in Klartext, damit sie in eigenen Worten antworten können.

Die zu klärenden Entscheidungen, ungefähr in dieser Reihenfolge:

RundeEntscheidungen
1Das Thema und der spezifische Blickwinkel. Wer zusieht und was sie bereits wissen. Was die Zuschauer danach tun sollen. Ziellänge.
2Die beiden Moderatoren: Wer sie sind und wie sie zueinander stehen, z. B. Experte und Kunde. Ton. Sendungsname. Ob es mit der eigenen Stimme des Benutzers beginnt.
3Falls es mit seiner Stimme beginnt: welches Profil und die genauen Worte. Akzente und Stimmcharakter für die entworfenen Moderatoren.
4Nach der Recherche: Welche Ergebnisse verwendet werden sollen und welche Behauptung weggelassen werden soll. Die Liste der Themen in Reihenfolge.
5Look and Sound: Die Art der Fotos, das Icon für jedes Thema, Änderungen an den Wisch-, Whoosh- und Pop-Effekten. Wo das Video veröffentlicht wird.

Überspringe alles, was bereits in der Anfrage beantwortet wurde. Wenn sie sagen „mach einfach“ oder „entscheide du“, höre auf zu fragen, nimm deine empfohlenen Antworten und liste sie auf. Es gibt keine Begrenzung für Fragen, aber frage nicht um des Fragens willen: Jede Frage muss das Video verändern.

Beende den Schritt, indem du den Plan in ein paar Zeilen wiedergibst: Thema, Zielgruppe, Länge, Moderatoren, Eröffnung, Themenliste und der Call-to-Action. Warte auf ihre Bestätigung, bevor du mit Schritt 1 beginnst. Wenn später etwas eine Entscheidung erneut aufwirft, z. B. eine Recherche, die den Blickwinkel untergräbt, halte inne und frage nach.

1. Prüfe die Einrichtung

  • curl -s "$VOICESTUDIO_URL/profiles" sollte antworten. Standard-URL: http://localhost:3000. Wenn der Server einen API-Key hat, muss VOICESTUDIO_API_KEY gesetzt sein. Schreibe den Key niemals in eine Projektdatei.
  • ffmpeg und node sind im PATH, und die HyperFrames-Skills sind installiert.

Wenn etwas fehlt, halte inne und verweise den Benutzer auf die README dieser Skill.

2. Erstelle das Projekt

npx hyperframes init <verz>, dann kopiere templates/script.example.json nach <verz>/script.json.

3. Recherchiere und schreibe script.json

Recherchiere zuerst das Thema. Jede Statistik benötigt eine echte Quelle: Trage sie in das source-Feld dieser Szene ein und erfinde keine Zahlen. Schreibe natürliche Sprache, etwa 150 Wörter pro Minute.

FeldBedeutung
showSendungsname, wird auf jeder Szene angezeigt
chipsCredit-Labels auf der letzten Szene
voicesEin Eintrag pro Sprecher. name, role, color, plus entweder profile_id oder instruct und seed
scenesGeordnet nach Erscheinungsreihenfolge. kicker, title, icon, optional sub und source. Die letzte ist das Outro
linesGesprochene Beiträge in Reihenfolge: who, scene, text. Die Zeilen einer Szene müssen zusammenhängend sein

icon ist ein Lucide-Icon-Name, der zum Thema passt, z. B. phone-call.

Um mit der eigenen geklonten Stimme des Benutzers zu öffnen, füge eine Stimme mit seiner VoiceStudio-profile_id (aus GET /profiles) hinzu, gib ihr eine eigene erste Szene und beende die Zeile mit einer Übergabe wie „Lass uns loslegen!“ Klone eine Stimme nur mit Erlaubnis ihres Besitzers.

Zeige dem Benutzer das Skript, bevor du die Stimmen generierst.

4. Generiere die Stimmen

python3 <skill>/scripts/make_voice.py

Dies erzeugt assets/audio/ und assets/lines.json. Audio wird zwischengespeichert, sodass nach einer Bearbeitung des Skripts nur geänderte Teile neu generiert werden. Wenn der Benutzer eine Stimme neu klont, lösche das entsprechende Audio aus assets/audio/, damit es neu generiert wird, und bestätige zuerst, dass sich ref_audio_path des Profils geändert hat: Ein Klon, der nicht gespeichert wurde, belässt die alte Stimme. Lasse den Benutzer das Audio anhören, bevor du renderst.

5. Füge Bilder, Icons und Sounds hinzu

Bilder: Jede Szene benötigt assets/img/<szenen-id>.jpg, Querformat, mindestens 1920 Pixel breit, und ein anderes Foto als die vorherige Szene, sodass jeder Themenwechsel sichtbar ist. Verwende nur Bilder, die der Benutzer veröffentlichen darf, z. B. CC-lizenzierte Fotos von Wikimedia Commons. Trage jedes in assets/img/credits.json ein als {"<szenen-id>": {"artist": "...", "license": "...", "page": "..."}}. Die letzte Szene zeigt die Künstlernamen an.

Icons:

npm pack [email protected] --silent && tar xzf lucide-static-0.460.0.tgz
mkdir -p assets/icons && cp package/LICENSE assets/icons/LICENSE
cp package/icons/<icon-name>.svg assets/icons/   # einmal pro Szenen-Icon
rm -rf package lucide-static-0.460.0.tgz

Sounds: Führe diese aus und kopiere die jeweils ausgegebene Datei:

npx hyperframes media-use resolve --type sfx --intent "kurzer Whoosh-Übergang" --project .
npx hyperframes media-use resolve --type sfx --intent "schnelles Pop-Badge" --project .
mkdir -p assets/sfx
cp <Whoosh-Pfad> assets/sfx/whoosh.mp3
cp <Pop-Pfad> assets/sfx/pop.mp3

Gib CC BY-Sounds in der letzten Szene über chips an.

6. Baue und prüfe

python3 <skill>/scripts/build.py, dann npx hyperframes check. Behebe alle Fehler. Führe dann npx hyperframes snapshot --at <sekunden> aus und betrachte die Frames an den Szenenübergängen, bevor du renderst. Wische sind Vollbild zu den Startzeiten der Szenen, die build.py ausgibt.

7. Rendern

npx hyperframes render. Die MP4 landet in renders/. Rechne mit mehreren Minuten pro Minute Videolänge.

Überprüfe die Datei, teile dem Benutzer dann deine Messung mit: npx hyperframes audio <video> --json zeigt an, ob der Ton vorhanden ist und die Lautstärke im Bereich liegt. Du kannst den Ton messen, aber nicht hören, also bitte den Benutzer, ihn anzuhören.

Verwandte Skills