Flusso di lavoro n8n YouTube Transcript: RSS to AI Summary

Se vuoi un flusso di lavoro n8n di trascrizione YouTube che si esegue da solo, eccolo: quattro nodi che osservano un canale, estraggono la trascrizione di ogni nuovo video, la riassumono con un LLM e inviano il risultato a Slack. Nessun progetto YouTube Data API, nessuna schermata OAuth, nessuno scraping.
Il trucco che lo rende pulito è uno che la maggior parte delle persone non conosce: ogni canale YouTube ha già un feed RSS. n8n ha un trigger RSS. Il resto è una singola chiamata HTTP.
Il flusso di lavoro a colpo d'occhio
- Trigger Feed RSS — si attiva quando il canale pubblica un video
- HTTP Request — recupera la trascrizione da youtube2text.org
- OpenAI (o qualsiasi nodo LLM) — trasforma la trascrizione in un riassunto
- Slack (o Notion, o email) — lo consegna
Nodo 1: Trigger Feed RSS
Aggiungi il nodo Trigger Feed RSS e dagli questo URL del feed:
https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID
Per trovare l'ID di un canale, apri uno qualsiasi dei suoi video, visualizza l'origine della pagina e cerca channel_id — o prendilo dall'URL del canale se è la forma /channel/UC.... Il feed restituisce gli upload più recenti; il nodo trigger gestisce il polling e la deduplicazione, quindi ogni video passa esattamente una volta. Ogni elemento include un campo link con l'URL video completo, che è esattamente quello di cui ha bisogno il nodo successivo.
Nodo 2: HTTP Request
Questa è l'intera integrazione. Aggiungi un nodo HTTP Request con:
- Metodo: GET
- URL:
https://youtube2text.org/api/transcribe - Parametri di query:
url={{ $json.link }},maxChars=20000 - Intestazioni:
x-api-key=yt_YOUR_KEY
Non hai ancora una chiave? Recupera quella condivisa gratuita — nessun account necessario:
curl -s https://youtube2text.org/api/demo-key
Quello restituisce {"success": true, "apiKey": "yt_..."}. È limitato a 5 video al mese per IP, il che va bene per testare il flusso di lavoro ma non per seguire un canale attivo.
L'API accetta qualsiasi forma di URL YouTube (watch?v=, youtu.be, anche un video ID nudo di 11 caratteri), quindi il link RSS funziona come è. Ho impostato maxChars a 20000 qui perché la trascrizione sta andando in un LLM successivo e stai pagando per quei token; il valore predefinito e massimo è 150000.
La risposta arriva come JSON strutturato:
{"result": {"videoId": "...", "title": "...", "pubDate": "...",
"content": "transcript text ...", "contentSize": 12345, "truncated": false}}
Nodo 3: Riassumi con un LLM
Aggiungi il nodo LLM che preferisci e fai riferimento alla trascrizione con un'espressione come {{ $json.result.content }}. Un prompt che ha funzionato bene per me:
> Summarize this video transcript in 5 bullet points, then list any tools, links, or numbers mentioned. Title: {{ $json.result.title }}
Mantieni il titolo nel prompt — le didascalie auto-generate occasionalmente distorcono i nomi dei prodotti, e il titolo dà al modello qualcosa su cui ancorare.
Nodo 4: Consegnalo
Aggiungi un nodo Slack che invia al tuo canale, con il titolo del video, il riassunto e il link originale. Sostituisci con un nodo Notion se preferisci costruire un archivio ricercabile — ho scritto quella variante nella guida Notion.
L'errore che dovresti effettivamente gestire
Non ogni video ha didascalie. Live stream subito dopo la messa in onda, alcuni video musicali e canali che disabilitano le didascalie restituiranno:
{"error": {"code": "TRANSCRIPT_UNAVAILABLE", "message": "...", "status": 404}}
Nel nodo HTTP Request, abilita l'opzione per continuare in caso di errore (o catturala con un ramo di errore) in modo che un video senza didascalie non fermi il flusso di lavoro. L'altro codice che merita un ramo è RATE_LIMIT_EXCEEDED (429) — la risposta include retryAfterSeconds, quindi un nodo Wait più un loop di ritentativo lo gestisce se stai elaborando un backlog.
Chiavi e quote
Per qualcosa oltre a un test run, accedi con Google su youtube2text.org/app/keys e crea la tua chiave — nessun numero di telefono, nessuna carta. Il livello gratuito copre 5 video al mese; i piani a pagamento vanno da $ 5,99 per 50 video a $ 19,99 per illimitato, che copre comodamente anche un setup multi-canale.
Se il tuo team vive in Make o Zapier invece di n8n, la stessa architettura si traduce direttamente — vedi la versione Make e la versione Zapier. Ma se stai scegliendo fresco: il livello gratuito auto-ospitato di n8n lo rende il modo più economico per eseguire questo loop senza limiti.