Trascrizioni YouTube in Notion: Percorsi Senza Codice e Python

Salvare ogni trascrizione YouTube in Notion trasforma un canale che segui in un database che puoi cercare, taggare e collegare dalle tue note. Ci sono due buoni modi per costruirlo — un'automazione senza codice o uno script Python di circa venti righe — e ti darò entrambi, perché quello giusto dipende interamente da se già esegui n8n o Make.
Percorso 1: senza codice
Se uno strumento di automazione è già nella tua vita, questo è un lavoro di tre moduli. Il trigger è il feed RSS del canale (ogni canale ne ha uno: https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID), il mezzo è una sola chiamata HTTP e la fine è un passo Notion "crea pagina" puntato al tuo database.
Il passo HTTP è lo stesso in ogni strumento:
- Metodo: GET
- URL:
https://youtube2text.org/api/transcribe - Parametri di query:
url= il link video dal trigger,maxChars=20000 - Intestazioni:
x-api-key=yt_YOUR_KEY
La risposta torna come {"result": {"videoId", "title", "pubDate", "content", ...}} — mappa result.title al titolo della pagina e result.content nel corpo della pagina. Ho scritto guide complete per n8n, compreso un nodo di riassunto LLM prima del passo Notion, e per Make con la sua configurazione del router.
Percorso 2: venti righe di Python
Nessuna piattaforma di automazione? L'API Notion più una sola chiamata requests ti dà lo stesso risultato. Configurazione prima: crea un'integrazione interna su notion.so/my-integrations, copia il suo segreto e condividi il tuo database di destinazione con l'integrazione (i database sono invisibili alle integrazioni finché non lo fai). Il database ha bisogno di una proprietà di titolo chiamata Name.
import requests
YT_KEY = "yt_YOUR_KEY"
NOTION_KEY = "secret_YOUR_NOTION_KEY"
DATABASE_ID = "your-database-id"
def add_video(url):
r = requests.get(
"https://youtube2text.org/api/transcribe",
params={"url": url, "maxChars": 20000},
headers={"x-api-key": YT_KEY},
).json()["result"]
text = r["content"]
chunks = [text[i:i + 2000] for i in range(0, len(text), 2000)]
blocks = [{"object": "block", "type": "paragraph",
"paragraph": {"rich_text": [{"text": {"content": c}}]}}
for c in chunks[:100]]
requests.post(
"https://api.notion.com/v1/pages",
headers={"Authorization": f"Bearer {NOTION_KEY}",
"Notion-Version": "2022-06-28",
"Content-Type": "application/json"},
json={"parent": {"database_id": DATABASE_ID},
"properties": {"Name": {"title": [{"text": {"content": r["title"]}}]}},
"children": blocks},
)
add_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
Il parametro url accetta qualsiasi forma di URL YouTube o un ID nudo di 11 caratteri. Per una chiave senza iscrizione, curl -s https://youtube2text.org/api/demo-key restituisce una condivisa gratuita — 5 video al mese per IP, abbastanza per testare.
Perché lo script divide il testo
Quella suddivisione in pezzi di 2000 caratteri non è decorazione — è la regola di Notion. L'API limita ogni rich text a 2.000 caratteri e ogni richiesta create-page a 100 blocchi, che è l'onesta limitazione di questo intero setup: circa 200.000 caratteri per richiesta, e le trascrizioni lunghe rendono le pagine lente da aprire ben prima di ciò. Ecco perché ho impostato maxChars a 20.000. Se hai effettivamente bisogno di trascrizioni complete di più ore memorizzate, aggiungi i blocchi rimanenti con richieste di follow-up all'endpoint dei blocchi — ma per la maggior parte degli archivi, 20k caratteri più un riassunto batte un muro di didascalie auto-generate.
Aggiungi il riassunto
La trascrizione è la materia prima; il riassunto è quello che leggerai effettivamente tra sei mesi. Inseri una sola chiamata LLM tra il recupero e la creazione della pagina — alimentala con r["content"], chiedi cinque pallottole e anteponi il risultato come il primo blocco di paragrafo (in n8n è solo un nodo in più). Una volta che i riassunti vivono insieme alle trascrizioni, il database diventa anche un corpus di recupero decente — questo è il punto di partenza per costruire RAG su un intero canale.
Chiavi e costi
La chiave demo condivisa non reggerà il passo con un canale che effettivamente segui. Accedi con Google su youtube2text.org/app/keys — nessun telefono, nessuna carta — per la tua chiave: 5 video gratuiti al mese, $ 5,99 per 50, $ 9,99 per 500, $ 19,99 illimitati. Il lato Notion è gratuito; le trascrizioni quasi.