n8n YouTube Transkripsjon-arbeidsflyt: RSS til AI-oppsummering

Hvis du ønsker en n8n YouTube transkripsjon-arbeitsflyt som kjører seg selv, her er det: fire noder som ser på en kanal, trekker transkripsjonen fra hver nye video, oppsummerer den med en LLM, og poster resultatet til Slack. Ingen YouTube Data API-prosjekt, ingen OAuth-skjermer, ingen skraping.
Trikset som gjør det ryddig er et de fleste ikke vet: hver YouTube-kanal har allerede en RSS-feed. n8n har en RSS-trigger. Resten er et enkelt HTTP-kall.
Arbeitsflyten på et blikk
- RSS Feed Trigger — fyrer når kanalen publiserer en video
- HTTP Request — henter transkripsjonen fra youtube2text.org
- OpenAI (eller enhver LLM-node) — gjør transkripsjonen til en oppsummering
- Slack (eller Notion, eller e-post) — leverer den
Node 1: RSS Feed Trigger
Legg til RSS Feed Trigger noden og gi den denne feed-URLen:
https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID
For å finne en kanals ID, åpne noen av videoene, se siden kilde, og søk etter channel_id — eller grabb det fra kanal-URLen hvis det er /channel/UC...-form. Feeden returnerer siste opplastninger; trigger-noden håndterer stemming og deduplikering, så hver video kommer gjennom nøyaktig en gang. Hvert element inkluderer et link-felt med full video-URL, som er nøyaktig hva neste node trenger.
Node 2: HTTP Request
Dette er hele integrasjonen. Legg til en HTTP Request node med:
- Metode: GET
- URL:
https://youtube2text.org/api/transcribe - Query-parametere:
url={{ $json.link }},maxChars=20000 - Headers:
x-api-key=yt_YOUR_KEY
Ingen nøkkel ennå? Hent den gratis delte — ingen konto nødvendig:
curl -s https://youtube2text.org/api/demo-key
Det returnerer {"success": true, "apiKey": "yt_..."}. Det er begrenset til 5 videoer per måned per IP, som er OK for å teste arbeitsflyten men ikke for å følge en aktiv kanal.
APIen godtar noen YouTube URL-form (watch?v=, youtu.be, til og med en bare 11-tegn video-id), så RSS-lenken fungerer som-er. Jeg satte maxChars til 20000 her fordi transkripsjonen er på vei til en LLM neste og du betaler for de tokens; standard og maksimum er 150000.
Responsen lander som strukturert JSON:
{"result": {"videoId": "...", "title": "...", "pubDate": "...",
"content": "transcript text ...", "contentSize": 12345, "truncated": false}}
Node 3: Oppsummer med en LLM
Legg til din LLM-node av valg og referanser transkripsjonen med et uttrykk som {{ $json.result.content }}. En prompt som har fungert bra for meg:
> Summarize this video transcript in 5 bullet points, then list any tools, links, or numbers mentioned. Title: {{ $json.result.title }}
Hold tittelen i prompten — auto-undertekster garner noen ganger produktnavn, og tittelen gir modellen noe å anker seg til.
Node 4: Lever den
Legg til en Slack node som poster til kanalen din, med video-tittelen, oppsummeringen, og original-lenken. Bytt inn en Notion-node hvis du heller ville bygge et søkbart arkiv — jeg skrev den varianten opp i Notion-guiden.
Feilen du faktisk burde håndtere
Ikke hver video har undertekster. Live streams rett etter lufting, noen musikk-videoer, og kanaler som deaktiverer tekst vil returnere:
{"error": {"code": "TRANSCRIPT_UNAVAILABLE", "message": "...", "status": 404}}
I HTTP Request-noden, aktiver valget å fortsette ved feil (eller fang den med en feil-gren) slik at en tekst-løs video ikke halter arbeitsflyten. Den andre koden verdt en gren er RATE_LIMIT_EXCEEDED (429) — responsen inkluderer retryAfterSeconds, så en Wait-node pluss en retry-løkke håndterer den hvis du prosesserer en etterstand.
Nøkkler og kvoter
For noe utover en test-kjøring, logg inn med Google på youtube2text.org/app/keys og lag din egen nøkkel — intet telefon-nummer, intet kort. Gratis-nivå dekker 5 videoer per måned; betalte planer kjøring fra $5.99 for 50 videoer til $19.99 for ubegrenset, som komfortabelt dekker til og med et multi-kanal-oppsett.
Hvis laget ditt bor i Make eller Zapier i stedet for n8n, oversetter samme arkitektur direkte — se Make-versjonen og Zapier-versjonen. Men hvis du velger frisk: n8n's gratis selvvert-nivå gjør det billigste måte å kjøre denne løkken ubegrenset.