n8n YouTube-Transkript-Workflow: RSS zu KI-Zusammenfassung

Wenn du ein n8n YouTube-Transkript-Workflow willst, das sich selbst läuft, hier ist es: vier Nodes, die einen Kanal beobachten, das Transkript jedes neuen Videos abrufen, es mit einem LLM zusammenfassen und das Ergebnis zu Slack posten. Kein YouTube Data API-Projekt, keine OAuth-Bildschirme, kein Scraping.
Der Trick, der das sauber macht, ist einer, den die meisten nicht kennen: Jeder YouTube-Kanal hat bereits einen RSS-Feed. n8n hat einen RSS-Trigger. Der Rest ist ein einzelner HTTP-Aufruf.
Der Workflow auf einen Blick
- RSS-Feed-Trigger — feuert, wenn der Kanal ein Video veröffentlicht
- HTTP-Request — ruft das Transkript von youtube2text.org ab
- OpenAI (oder jeden LLM-Node) — verwandelt das Transkript in eine Zusammenfassung
- Slack (oder Notion, oder E-Mail) — liefert es
Node 1: RSS-Feed-Trigger
Füge den RSS-Feed-Trigger Node hinzu und gib ihm diese Feed-URL:
https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID
Um die ID eines Kanals zu finden, öffne eines seiner Videos, zeige den Seiten-Source an und suche nach channel_id — oder grab es aus der Kanal-URL, wenn es die /channel/UC... Form ist. Der Feed gibt die neuesten Uploads zurück; der Trigger-Node handhabt Polling und Deduplication, daher jedes Video kommt genau einmal durch. Jedes Item enthält ein link-Feld mit der vollständigen Video-URL, das ist genau das, was der nächste Node braucht.
Node 2: HTTP-Request
Das ist die ganze Integration. Füge einen HTTP-Request Node hinzu mit:
- Methode: GET
- URL:
https://youtube2text.org/api/transcribe - Abfrage-Parameter:
url={{ $json.link }},maxChars=20000 - Headers:
x-api-key=yt_YOUR_KEY
Noch keinen Schlüssel? Abruf den kostenlos gemeinsamen — kein Konto nötig:
curl -s https://youtube2text.org/api/demo-key
Das gibt {"success": true, "apiKey": "yt_..."} zurück. Es ist auf 5 Videos pro Monat pro IP begrenzt, das ist fine zum Testen des Workflows, aber nicht zum Verfolgen eines aktiven Kanals.
Die API akzeptiert jede YouTube-URL-Form (watch?v=, youtu.be, sogar eine nackte 11-stellige Video-ID), daher der RSS-Link funktioniert so. Ich setze maxChars hier auf 20000, weil das Transkript als nächstes in einem LLM geht und du für diese Token zahlst; der Standard und Maximum ist 150000.
Die Antwort landet als strukturiertes JSON:
{"result": {"videoId": "...", "title": "...", "pubDate": "...",
"content": "transcript text ...", "contentSize": 12345, "truncated": false}}
Node 3: Mit einem LLM zusammenfassen
Füge deinen LLM-Node deiner Wahl hinzu und referenziere das Transkript mit einem Ausdruck wie {{ $json.result.content }}. Ein Prompt, der mir gut funktioniert hat:
> Summarize this video transcript in 5 bullet points, then list any tools, links, or numbers mentioned. Title: {{ $json.result.title }}
Behalte den Titel in der Aufforderung — Auto-Untertitel garble gelegentlich Produktnamen, und der Titel gibt dem Modell etwas, worauf man sich ankern kann.
Node 4: Liefere es
Füge einen Slack Node hinzu, der zu deinem Kanal postet, mit dem Video-Titel, der Zusammenfassung und dem ursprünglichen Link. Tausche einen Notion-Node ein, wenn du lieber ein durchsuchbares Archiv bauen würdest — ich schrieb diese Variante in der Notion-Leitfaden.
Der Fehler, den du eigentlich handhaben solltest
Nicht jedes Video hat Untertitel. Live-Streams kurz nach der Ausstrahlung, einige Musikvideos und Kanäle, die Untertitel deaktivieren, geben:
{"error": {"code": "TRANSCRIPT_UNAVAILABLE", "message": "...", "status": 404}}
In dem HTTP-Request-Node aktiviere die Option, bei Fehler fortzufahren (oder fang sie mit einem Fehler-Branch), daher ein caption-weniger Video nicht den Workflow hält. Der andere Code, der einen Branch wert ist, ist RATE_LIMIT_EXCEEDED (429) — die Antwort enthält retryAfterSeconds, daher ein Wait-Node plus eine Retry-Schleife handhabt es, wenn du ein Rücklog verarbeitest.
Schlüssel und Kontingente
Für etwas darüber hinaus eine Test-Lauf, melde dich mit Google bei youtube2text.org/app/keys an und erstelle deinen eigenen Schlüssel — keine Telefonnummer, keine Karte. Die kostenlose Stufe covers 5 Videos pro Monat; bezahlte Pläne laufen von $5,99 für 50 Videos bis $19,99 für unbegrenzt, das bequem sogar ein Multi-Channel-Setup covers.
Wenn dein Team statt in n8n in Make oder Zapier lebt, übersetzt die gleiche Architektur direkt — siehe die Make-Version und die Zapier-Version. Aber wenn du frisch wählst: n8ns kostenlose selbst-gehostete Stufe macht es den billigsten Weg, diese Schleife unbegrenzt zu laufen.