HomeBlogTranscribePlansAPI Keys

n8n YouTube Transkriptionsarbetsflöde: RSS till AI-sammanfattning

n8n-arbetsflödeskantvas som ansluter en YouTube RSS-utlösare till en HTTP Request-nod, en LLM-nod och Slack

Om du vill ha ett n8n YouTube-transkriptionsarbetsflöde som kör sig själv, här är det: fyra noder som bevakar en kanal, drar transkriptionen för varje ny video, sammanfattar den med en LLM, och postar resultatet till Slack. Ingen YouTube Data API-projekt, ingen OAuth-skärm, ingen skrapning.

Tricket som gör detta rent är ett de flesta inte vet: varje YouTube-kanal redan har ett RSS-flöde. n8n har en RSS-utlösare. Resten är ett enda HTTP-anrop.

Arbetsflödet i kort

  1. RSS Feed Trigger — aktiveras när kanalen publicerar en video
  2. HTTP Request — hämtar transkriptionen från youtube2text.org
  3. OpenAI (eller valfri LLM-nod) — förvandlar transkriptionen till en sammanfattning
  4. Slack (eller Notion, eller e-post) — levererar den

Nod 1: RSS Feed Trigger

Lägg till noden RSS Feed Trigger och ge den denna feed-URL:

https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID

För att hitta en kanals ID, öppna en av dess videor, visa sidkällan, och sök efter channel_id — eller ta den från kanal-URL:en om den är formen /channel/UC.... Feeden returnerar de senaste uppladdningarna; utlösarnoden hanterar avsökning och deduplicering, så varje video kommer genom exakt en gång. Varje objekt inkluderar ett link-fält med den fullständiga video-URL:en, vilket är exakt vad nästa nod behöver.

Nod 2: HTTP Request

Det här är hela integreringen. Lägg till en HTTP Request-nod med:

Ingen nyckel ännu? Hämta den gratis delade — inget konto behövs:

curl -s https://youtube2text.org/api/demo-key

Det returnerar {"success": true, "apiKey": "yt_..."}. Den är begränsad till 5 videor per månad per IP, vilket är bra för att testa arbetsflödet men inte för att följa en aktiv kanal.

API:t accepterar valfri YouTube URL-form (watch?v=, youtu.be, till och med ett enkelt 11-tecken video-id), så RSS-länken fungerar som den är. Jag ställde in maxChars till 20000 här för att transkriptionen är på väg till en LLM nästa och du betalar för dessa tokens; standard och maximum är 150000.

Svaret landar som strukturerad JSON:

{"result": {"videoId": "...", "title": "...", "pubDate": "...",
            "content": "transcript text ...", "contentSize": 12345, "truncated": false}}

Nod 3: Sammanfatta med en LLM

Lägg till din LLM-nodval och referera transkriptionen med ett uttryck som {{ $json.result.content }}. En prompt som har fungerat bra för mig:

> Summarize this video transcript in 5 bullet points, then list any tools, links, or numbers mentioned. Title: {{ $json.result.title }}

Behåll titeln i prompten — auto-bildtexter garbuller ibland produktnamn, och titeln ger modellen något att förankra sig på.

Nod 4: Leverera det

Lägg till en Slack-nod som postar till din kanal, med videotiteln, sammanfattningen och den ursprungliga länken. Byt in en Notion-nod om du snarare vill bygga ett sökbart arkiv — jag skrev upp varianten i Notion-guiden.

Felet du faktiskt bör hantera

Inte varje video har bildtexter. Livestreamar precis efter sändning, vissa musikvideor och kanaler som inaktiverar bildtexter returnerar:

{"error": {"code": "TRANSCRIPT_UNAVAILABLE", "message": "...", "status": 404}}

I HTTP Request-noden, aktivera alternativet att fortsätta vid misslyckande (eller fånga det med en felgren) så att en bildtextlös video inte stoppar arbetsflödet. Den andra koden värd en gren är RATE_LIMIT_EXCEEDED (429) — svaret inkluderar retryAfterSeconds, så en Wait-nod plus en omprövningsloop hanterar den om du bearbetar en eftersläpning.

Nycklar och kvoter

För något utöver en testkörning, logga in med Google på youtube2text.org/app/keys och skapa din egen nyckel — inget telefonnummer, inget kort. Den fria nivån täcker 5 videor per månad; betalningsplaner går från $5,99 för 50 videor till $19,99 för unlimited, vilket bekvämt täcker till och med en multikanal-inställning.

Om ditt team bor i Make eller Zapier i stället för n8n, översätts samma arkitektur direkt — se Make-versionen och Zapier-versionen. Men om du väljer färskt: n8ns gratis självsignerad nivå gör det det billigaste sättet att köra denna loop unlimited.