Long-Form Podcast-Intro (Cold Open)
Der Look orientiert sich an den langen Intros von Greg Isenberg. Was es fesselnd macht:
- Beginne mit dem stärksten Satz, ohne vorheriges Logo.
- Schnitt alle 3–6 s.
- Mache etwa jeden zweiten Clip zu einer Einblendung: Der Sprecher rutscht auf eine Karte auf der linken Seite, während eine Grafik auf der rechten Seite erscheint.
- Halte Untertitel kurz: 1–3 Wörter mit orangefarbenen Schlüsselwörtern.
- Ende mit dem Titel: Eine Karte, die zeigt, was kommt.
Die Pipeline ist pipeline/build_episode.py, gesteuert durch work/<ep>/episode.json → intro. Das Rendern verwendet die Remotion IntroV2-Komposition (pipeline/remotion/src/IntroV2.tsx); Grafiken stammen aus Graphics.tsx.
1. Durchforste die Folge nach Clips (8–10 Kandidaten, behalte 7–9)
- Lies das Transkript (
work/<ep>/words-*.jsonoder die Descript.txt) und liste Sätze auf, die in unter 6 s für sich allein stehen. - In der Reihenfolge der Präferenz:
- Eine harte Zahl: "27 % ihrer Angestellten zum Gehen zu bewegen", "900 % Umsatzbindung".
- Eine kühne Behauptung oder Vorhersage: "Tokens werden in alles eindringen".
- Ein Geständnis oder nachvollziehbarer Schmerz: "Ich bin es so leid, Abos zu bezahlen".
- Eine lustige oder emotionale Reaktion: "Ich würde token maxen".
- Ein zitierfähiger Abschluss: "Superintelligenz kann man nicht mit Geld aufwiegen".
- Verteile sie über die Themen: etwa ein Clip pro Kapitel, beide Moderatoren vertreten, mindestens ein Lacher.
- Ordne die Highlight-Reihe:
- Clip 1 ist der einzelne stärkste Aufhänger, normalerweise eine Zahl oder eine Behauptung.
- Wechsle zwischen Sprechern und Energielevel.
- Setze den zitierfähigsten Satz an den Schluss, direkt vor die Titelkarte.
- Überspringe:
- Sätze, die Kontext benötigen ("wie ich sagte", "diese Tabelle");
- Sätze über ~6 s;
- Sätze mit Übersprechen.
- Fluchen: Behalte es nur, wenn der Benutzer mit einem expliziten Intro einverstanden ist, und weise im Bericht darauf hin.
2. Konfiguriere episode.json → intro
"title": "FRINGE LINES",
"subtitle": "30. Oktober 2026",
"intro": {
"style": "v2",
"title": "Fringe Lines",
"title_seconds": 4.5,
"topics": ["The Morning Loop", "Microsoft headcount", "Build vs. buy", "Token limits", "Google vs. AI mode", "Anthropic's S-1", "AI spend"],
"emphasis": ["27%", "leave", "900%", "retention", "sql", "agents", "tokens", "everything", "maxing"],
"clips": [
{"say": "microsoft just offered", "until": "employees to leave", "tag": "AI & Jobs", "replace": {"27": "27%"},
"graphic_on": "27%", "graphic": {"type": "stat", "kicker": "Microsoft-Abkaufangebot", "value": 27, "suffix": "%", "label": "der Angestellten wurde eine Abfindung angeboten, um zu *gehen*"}},
{"say": "tokens are going to seep", "until": "like the internet", "tag": "Tokens überall"}
]
}
say/until: Die ersten und letzten gesprochenen Wörter des Clips, groß-/kleinschreibungs- und satzzeichenunabhängig abgeglichen. Der Treffer ist das erste Vorkommen in der Folge, also machesaymarkant (3–5 Wörter). Wenn der andere Sprecher über die Textzeile spricht, wiederholt der Matcher die Suche mit den Wörtern nur eines Sprechers.pre: Optionale Sekunden Vorspann vorsay.tag: Das Themenlabel, das oben links mit seiner Nummer angezeigt wird. Verwende 1–3 Wörter.replace: Korrekturen für Untertitel, z. B. Zahlen, "sequel"→"SQL", oder"a": ""um ein Wort auszublenden.graphic+graphic_on: Die Einblendung erscheint etwa 150 ms vor dem gesprochenen Wortgraphic_on.- Optional:
graphic_off(ein späteres Wort) kehrt zum Vollbild zurück. - Ohne
graphic_offbleibt die Einblendung bis zum Ende des Clips bestehen.
- Optional:
- Anzahl der Einblendungen: Füge 3–5 Clips Einblendungen hinzu. Wähle die mit einer Zahl, einem namentlich genannten Unternehmen oder Produkt oder einem zitierfähigen Satz aus. Lasse Reaktions- und Lachclips als Vollbild.
- Grafiktypen (wie bei den redaktionellen Kurzclips):
stat: eine Zählzahl mit Vorspann und Label;people: ein Symbolraster;lines: schematische Trendlinien;quote: eine Tintenkarte;headline: eine kartenähnliche Nachrichten-Stil mit einem Highlight-Sweep;list: nummerierte Zeilen.- Verwende
*Wort*für orange Kursivschrift.
- Ehrlichkeit: Zahlen auf dem Bildschirm müssen dem Gesagten entsprechen. Diagramme sind schematisch, niemals erfundene Daten.
topics: 5–7 kurze Kapitelnamen für die Titelkarte, in der Reihenfolge der Folge.emphasis: 12–25 Schlüsselwörter, die in Untertiteln orange dargestellt werden: Zahlen, Namen, Pointenwörter.title_seconds: 4–5 s. Die Titelkarte zeigt "Fringe Lines" in Serife mit einem orangefarbenen kursiven letzten Wort, das Datum und eine Liste "In dieser Folge".
3. Überprüfe den Plan vor dem Rendern
~/.shorts-skill/bin/python pipeline/build_episode.py --ep <ep> --stage plan
- Es gibt für jeden Intro-Clip das Tag, die Länge und den Untertiteltext aus.
- Behebe jedes
WARN intro clip not found: Passe diesay/until-Formulierung an, um genau mit dem Transkript übereinzustimmen. - Ziellänge: Clips von 35–50 s plus ein 4,5 s Titel. Lasse Clips über 6 s weg oder kürze sie.
- Lies jede Untertitelzeile auf falsch verstandene Wörter und füge
replace-Korrekturen hinzu.
4. Rendern
~/.shorts-skill/bin/python pipeline/build_episode.py --ep <ep> --stage graphics # Intro-Clips + IntroV2 + untere Drittel
~/.shorts-skill/bin/python pipeline/build_episode.py --ep <ep> --stage final # Intro + Hauptteil, Kapitel, Lautstärke zusammenfügen
- Füge
--blurzu beiden Befehlen hinzu für die Version mit unscharfem Hintergrund. Sie benötigt die unscharfen Kameras in~/.cache/fringe-lines-video/blur/(siehepipeline/bg_blur.py) und schreibt<ep>-fringe-lines-blur.mp4aus einem separaten Cache. - Der Hauptteil muss für Intro-Änderungen nicht neu gerendert werden.
- Die Kapiteldatei wird neu generiert, sodass alle Zeitstempel mit der Introlänge verschoben werden.
- Soundeffekte (Whoosh, Pop, langer Whoosh zum Titel hin) werden in den Grafikordner generiert und von Remotion gemischt.
5. Qualitätssicherung
F=out/episode/<ep>-fringe-lines.mp4
ffmpeg -v error -y -i $F -t 50 -vf "fps=1,scale=320:-1,tile=8x7" -frames:v 1 /tmp/intro.png
Überprüfe:
- Die Karte jeder Einblendung ist vollständig auf dem Bildschirm, ihre Zahlen stimmen mit dem Gesagten überein und es gibt kein versehentliches
*. - Untertitel zeigen orangefarbene Schlüsselwörter, und kein Untertitel überlappt den unteren Rand der Sprecherkarte.
- Die Titelkarte listet jedes Thema in der richtigen Reihenfolge auf.
- Die Dauer von Video und Audio stimmen überein (
ffprobe -show_entries stream=codec_type,duration). - Die Folge liegt bei etwa −15,5 LUFS.
- Die Kapiteldatei beginnt mit
00:00 Cold open, dann die Introlänge, dann "Aufholen".
Berichte dem Benutzer:
- die Clip-Liste (Tag + Satz);
- welche Clips Einblendungen haben;
- die Introlänge;
- explizite Sprache;
- zu überprüfende Zahlen.