Transkrypcje YouTube w Notion: Ścieżki bez kodu i Python

Zapisywanie każdej transkrypcji YouTube do Notion zamienia kanał, który obserwujesz, w bazę danych, którą możesz wyszukiwać, tagować i łączyć ze swoimi notatkami. Są dwa dobre sposoby, aby to zbudować — automatyzacja bez kodu lub skrypt Python około dwadzieścia linii — i dam Ci zarówno, ponieważ prawo jest zupełnie na tym, czy już prowadzisz n8n lub Make.
Ścieżka 1: bez kodu
Jeśli narzędzie automatyzacji jest już w Twoim życiu, to jest trzy moduły pracy. Wyzwalaczem jest kanał RSS kanału (każdy kanał ma jeden: https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID), środek to jedno wywołanie HTTP, a koniec to krok Notion "utwórz stronę" skierowany do Twojej bazy danych.
Krok HTTP jest ten sam w każdym narzędziu:
- Method: GET
- URL:
https://youtube2text.org/api/transcribe - Query params:
url= link wideo od wyzwalacza,maxChars=20000 - Headers:
x-api-key=yt_YOUR_KEY
Odpowiedź wraca jako {"result": {"videoId", "title", "pubDate", "content", ...}} — mapuj result.title do tytułu strony i result.content do treści strony. Napisałem pełne spacery dla n8n, w tym węzła podsumowania LLM przed krokiem Notion, i dla Make z jego routerem konfiguracji.
Ścieżka 2: dwadzieścia linii Python
Brak platformy automatyzacji? Interfejs API Notion plus jedno wywołanie requests daje Ci ten sam wynik. Konfiguracja najpierw: utwórz integralną integrację na notion.so/my-integrations, skopiuj jej tajemnicę i udostępnij swoją bazę danych docelową integracji (bazy danych są niewidoczne dla integracji, aż to robisz). Baza danych potrzebuje właściwości tytułu zwaną 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")
Parametr url przyjmuje każdy kształt URL YouTube lub gołe 11-znakowe id. Dla klucza bez rejestracji, curl -s https://youtube2text.org/api/demo-key zwraca bezpłatny wspólny — 5 filmów na miesiąc na IP, wystarczający do testowania.
Dlaczego skrypt dzieli tekst na fragmenty
To dzielenie na kawałki 2000-znakowe to nie dekoracja — to reguła Notion. API ogranicza każdy bogaty tekst do 2000 znaków i każde żądanie strony utworzenia do 100 bloków, co jest szczerą ograniczeniem całej konfiguracji: około 200 000 znaków na żądanie, a długie transkrypcje sprawiają, że strony są opóźnione do otwania na długo, zanim się tam dostaniesz. Dlatego ustaw maxChars na 20000. Jeśli naprawdę potrzebujesz przechowywać pełne transkrypcje wielu godzin, dołącz pozostałe bloki z żądaniami uzupełnienia do punktu końcowego bloków — ale na większości archiwów, 20k znaków plus podsumowanie bije ścianę autokaptionów.
Dodaj podsumowanie
Transkrypcja to surowiec; podsumowanie to co będziesz czytać za sześć miesięcy. Wstaw jedno wezwanie LLM między pobieraniem a utworzeniem strony — podaj mu r["content"], poproś o pięć pocisków i poprzedzić wynik jako pierwszy blok paragrafu (w n8n to po prostu jeden więcej węzła). Po podsumowaniach obok transkrypcji baza danych staje się również przyzwoitym korpusem pobierania — to starting point do budowania RAG na całym kanale.
Klucze i koszty
Wspólny klucz demo nie będzie działać z kanałem, który faktycznie obserwujesz. Zaloguj się za pomocą Google na youtube2text.org/app/keys — brak telefonu, brak karty — dla Twojego własnego klucza: bezpłatny 5 filmów na miesiąc, 5,99 USD za 50, 9,99 USD za 500, 19,99 USD bez limitu. Strona Notion jest bezpłatna; transkrypcje prawie są.