Was macht KI-Podcast-Generator?
Erstelle Multi-Personen-Talking-Head-Podcast-Videos mit der inference.sh-Pipeline: Porträtgenerierung → TTS-Audio → Avatar-Video → Zusammenführung. Unterstützt echte Menschen (über Phota), 3D-Maskottchen, illustrierte Charaktere und gemischte Besetzungen.
Verwende dies, wenn der Nutzer einen Podcast, ein Talking-Head-Video, ein Demo-Reel, ein Werbegespräch oder andere Videoinhalte mit mehreren Sprechern erstellen möchte.
Pipeline-Übersicht
Charaktere (Bilder) → TTS (Audio pro Runde) → Avatar (Video pro Runde) → Zusammenführung (finales Video)
Ablauf
Schritt 1: Charaktererstellung
Wähle das richtige Tool pro Charaktertyp:
| Charaktertyp | Tool | Hinweise |
|---|---|---|
| Echter Mensch (neu) | pruna/p-image | 16:9, prompt_upsampling: true. Schnell, kein Training nötig, aber die Identität ist über mehrere Generationen hinweg nicht konsistent. |
| Echter Mensch (konsistente ID) | phota/generate mit [[profile_id]] | Konsistente Identität über alle Aufnahmen. Erfordert ein zuvor trainiertes Phota-Profil (siehe unten). |
| Markenmaskottchen / Logo-Charakter | google/gemini-3-pro-image-preview | Übergib Logo + Charakterblatt als Referenzbilder |
| Illustriert / stilisiert | google/gemini-3-pro-image-preview | Übergib Stilreferenz als Eingabebild |
Trainieren einer Phota-Identität (optional, aber für Menschen empfohlen):
Wenn du einen echten menschlichen Charakter mit konsistenter Identität über mehrere Winkel und Aufnahmen hinweg benötigst, trainiere zuerst ein Phota-Profil:
infsh app run phota/train --input '{
"images": ["url1.jpg", "url2.jpg", ...],
"wait": true
}' --save profile.json
- Erfordert 30-50 Gesichtsbilder der Person
- Training dauert einige Minuten mit
wait: true - Gibt eine
profile_idzurück, die du dann inphota/generateals[[profile_id]]in Prompts verwendest - Das Profil ist wiederverwendbar – trainiere einmal, generiere unbegrenzt viele Aufnahmen
Wenn du keine konsistente Identität über mehrere Aufnahmen benötigst (z. B. Einzelsprecher-Video, nur ein Winkel), ist pruna/p-image einfacher und günstiger.
Zuerst Charakterblätter, dann Podcast-Frames:
- Generiere ein Charakterblatt (weißer Hintergrund, mehrere Winkel) für jeden Charakter
- Platziere dann die Charaktere mit dem Blatt als Referenz in der Podcast-Studio-Umgebung
Für markierte Charaktere (Logo auf Kleidung):
- Generiere den Charakter mit einer schlichten Version des Kleidungsstücks
- Verwende
phota/editmit dem Logo als zweitem Referenzbild, um das Logo hinzuzufügen - Übergib das Logo-Bild immer zusammen mit den Charakter-Referenzen, wenn du neue Winkel generierst
Schritt 2: Alternative Winkel
Generiere mindestens 2 Winkel pro Charakter für visuelle Abwechslung:
| Winkel | Verwendung |
|---|---|
| Frontal/Mittel | Einstiegsszenen, Eröffnung, Abschluss |
| Nahaufnahme | Reaktionen, emotionale Momente, prägnante Zeilen |
Für Nahaufnahmen: Prompt für „enger Bildausschnitt, Brust hoch, geringe Schärfentiefe“ – nicht „zur Seite gedreht“ (das lässt sie nur wegschauen).
Regeln zur Identitätskonsistenz:
- Für echte Menschen mit einem Phota-Profil: Verwende
phota/generateoderphota/editfür neue Winkel – Gemini bewahrt keine Gesichtsidentität und würde eine andere Person erzeugen - Für echte Menschen ohne Phota-Profil: Versuche, alle benötigten Winkel auf einmal mit
pruna/p-imagezu generieren, oder erwäge das Training eines Phota-Profils, wenn du viele Aufnahmen benötigst - Für Maskottchen/Illustrationen: Gemini 3 Pro ist geeignet, übergib das etablierte Frame als Referenz
Bildausschnitt-Regel: Verwende enge Bildausschnitte für einzelne Sprecher. Weite Aufnahmen mit mehreren Stühlen zeigen leere Stühle, wenn nur eine Person zu sehen ist.
Schritt 3: Qualitätssicherung der Frames
Überprüfe vor dem Fortfahren alle Frames visuell auf:
- Zusätzliche Personen im Hintergrund
- Mehrere Mikrofone (sollte ein Mikrofon pro Aufnahme sein)
- Falsche oder verzerrte Logos
- Inkonsistente Charakteridentität über verschiedene Winkel
- Seltsame Artefakte (zusätzliche Gliedmaßen, verschmolzene Objekte)
Behebe Probleme, bevor du Videos generierst – das erneute Rendern von Videos ist der teuerste Schritt in der Pipeline.
Schritt 4: Das Drehbuch schreiben
Regeln für natürliche Konversation:
- Schreibe es wie ein echtes Gespräch, NICHT wie Leute, die abwechselnd Werbetexte vorlesen
- Füge Reaktionen ein („Moment mal“, „Das ist verrückt“), Unterbrechungen und Nachfragen
- Variiere die Länge der Redebeiträge – kurze Reaktionen (1 Satz) gemischt mit längeren Erklärungen (2-3 Sätze)
- Der Moderator sollte echte Fragen stellen, keine offensichtlichen Gesprächsthemen vorgeben
- Behalte die Gesamtdauer im Auge: ~2,5 Wörter/Sekunde für natürliche Sprache bei 1,05-fachem Tempo
Richtwerte für die Dauer:
| Ziel | Wörter |
|---|---|
| 15s | ~38 Wörter |
| 30s | ~75 Wörter |
| 60s | ~150 Wörter |
Schritt 5: TTS-Audio generieren
Verwende inworld/text-to-speech-2 für jede Runde.
infsh app run inworld/text-to-speech-2 --input '{
"text": "...",
"voice_id": "...",
"speaking_rate": 1.05,
"audio_encoding": "MP3"
}' --save output.json
Stimmenauswahl:
- Generiere vor der endgültigen Entscheidung Proben mit demselben Satz bei mehreren Kandidatenstimmen
- Lass den Nutzer die Stimmen anhören und genehmigen
- Gute Podcast-Stimmen: Tyler, Nate, Lauren, Kelsey, Naomi, Anjali (EN_US)
- Verwende
inworld/text-to-speech-2:voices, um alle verfügbaren Stimmen aufzulisten
Sprechgeschwindigkeit:
- Standardmäßig 1.05 für natürliches Podcast-Tempo
- Verwende 1.1 für kurze, schnelle Reaktionen
- NIEMALS unter 1.0 gehen – klingt langsam und langweilig
- Halte die Geschwindigkeit pro Charakter über alle ihre Runden hinweg konsistent
Alle TTS-Runden können parallel ausgeführt werden (günstig, schnell ~2-8s pro Stück).
Schritt 6: Videoclips generieren
Verwende pruna/p-video-avatar für jede Runde.
infsh app run pruna/p-video-avatar --input '{
"image": "<character_frame_url>",
"audio": "<tts_audio_url>",
"resolution": "720p",
"video_prompt": "..."
}' --save output.json
Wichtig: Führe Clips SEQUENTIELL aus, nicht parallel. Parallele Ausführungen greifen auf dieselbe GPU zu und verursachen CUDA-OOM-Fehler. Jeder Clip dauert 15-90s, abhängig von der Audiolänge.
Plan für die Winkelzuteilung: Wechsle zwischen Frontal- und Nahaufnahmen über die Runden hinweg für visuelle Abwechslung. Beispiel für 6 Runden:
R1: Sprecher A — frontal
R2: Sprecher B — frontal
R3: Sprecher C — frontal (oder Nahaufnahme)
R4: Sprecher A — Nahaufnahme
R5: Sprecher B — Nahaufnahme
R6: Sprecher A — frontal
Schritt 7: Zusammenführung
Verwende infsh/media-merger, um alle Clips zum finalen Video zusammenzufügen.
# Eingabe-JSON erstellen
{
"media_files": [
{"file": "<clip1_url>"},
{"file": "<clip2_url>"},
...
],
"fps": 24,
"output_format": "mp4"
}
infsh app run infsh/media-merger --input merger_input.json --save final.json
Der Merger ist kostenlos und dauert 2-6 Minuten, abhängig von der Gesamtdauer.
Regeln
-
Gemini bewahrt keine menschliche Gesichtsidentität – das Generieren alternativer Winkel eines echten Menschen mit Gemini führt zu einer anderen Person. Verwende für identitätskonsistente menschliche Aufnahmen Phota mit einer trainierten profile_id oder generiere alle Winkel in einem einzigen Batch. Dies wurde gelernt, nachdem Gemini für eine Nahaufnahme, die zur Frontaufnahme passen sollte, ein völlig anderes Gesicht produziert hat.
-
NIEMALS p-video-avatar-Clips parallel ausführen – sie konkurrieren um GPU-Speicher und schlagen mit CUDA OOM fehl. Führe sie sequentiell aus. Dies wurde gelernt, nachdem 2 von 3 parallelen Ausführungen fehlgeschlagen sind.
-
NIEMALS speaking_rate unter 1.0 setzen – es klingt unnatürlich und langweilig. Standardmäßig auf 1.05 setzen. Gelernt aus Nutzerfeedback, dass eine Rate von 0.9 „sich seltsam und langweilig anfühlte“.
-
IMMER Qualitätssicherung der Frames vor der Videogenerierung durchführen – die Videogenerierung ist der teuerste Schritt in der Pipeline. Ein doppeltes Mikrofon oder ein falsches Logo im Bildstadium zu erkennen, ist günstig zu beheben. Es nach der Videogenerierung zu bemerken, bedeutet den gesamten Clip neu zu rendern.
-
IMMER enge Bildausschnitte für einzelne Sprecher verwenden – weite/Einstiegsaufnahmen zeigen leere Stühle, wo andere Sprecher sein sollten. Rahmen Sie von der Taille oder Brust aufwärts ein, sodass keine leeren Stühle sichtbar sind.
-
IMMER das Logo als Referenzbild übergeben, wenn markierte Charaktere generiert werden – die Beschreibung eines Logos in Textform führt zu falschen Ergebnissen. Übergib die tatsächliche Logodatei als zweites Bildeingabe.
-
IMMER die Stimme vor der vollen Produktion genehmigen lassen – generiere Muster mit demselben Satz bei 5-8 Kandidatenstimmen und lass den Nutzer auswählen, bevor du dich auf das vollständige Drehbuch festlegst.
-
Das Drehbuch sollte sich wie ein Gespräch lesen, nicht wie eine Werbung – Leute, die abwechselnd Werbetexte vorlesen, klingen unecht. Füge Reaktionen, Unterbrechungen, unterschiedliche Redelängen und echte Fragen ein. Der Moderator sollte Persönlichkeit haben, nicht nur Gesprächsthemen vorgeben.
App-Referenz
| App | Zweck |
|---|---|
pruna/p-image | Porträts aus Text generieren |
phota/train | Identitätsprofil aus 30-50 Gesichtsbildern trainieren |
phota/generate | Bilder mit trainierter Identität über [[profile_id]] generieren |
phota/edit | Bilder bearbeiten unter Beibehaltung der Identität bekannter Personen |
google/gemini-3-pro-image-preview | Bildgenerierung/-bearbeitung, Maskottchen, Stiltransfer |
inworld/text-to-speech-2 | Text zu Sprache, 100+ Sprachen, Sprachsteuerung |
pruna/p-video-avatar | Porträt + Audio → Talking-Head-Video |
infsh/media-merger | Videoclips zu einem Video zusammenfügen |
Verwende belt task cost <task-id>, um die Kosten einer einzelnen Aufgabe zu überprüfen.