Welches Problem es löst
Coaches und Lehrende beantworten jeden Tag dieselben Fragen in Kommentaren und DMs, obwohl sie diese längst in Videos behandelt haben. Das Publikum findet das passende Video nicht, und der Creator kann persönliche Antworten nicht skalieren. Ein Kanal-Chatbot antwortet in der Stimme des Creators und führt Zuschauer zurück zu den Originalinhalten.
Was in die erste Version gehört
- Antworten ausschließlich aus den eigenen Videos des Creators
- Quellenangaben mit Link zum exakten Video und Zeitstempel
- Automatische Aktualisierung bei neuen Videos
- Ein kostenloser Tarif mit Fragenlimit und ein bezahlter Tarif für Mitglieder
- Einbettbares Widget für die Website oder Community des Creators
Schritt für Schritt bauen
- 01
Kanal einlesen
Lösen Sie den Kanal oder eine kuratierte Playlist auf und senden Sie alle Video-IDs mit format.paragraphs und format.timestamp an /batch.
- 02
Chunken und Embeddings erzeugen
Speichern Sie jeden Absatz mit Videotitel, URL und Startzeit und erzeugen Sie Embeddings in einer Vektordatenbank.
- 03
Abrufen und antworten
Rufen Sie für jede Frage die relevantesten Absätze ab und lassen Sie ein LLM nur auf dieser Basis antworten – mit Angabe von Video und Zeitstempel.
- 04
Aktuell bleiben
Prüfen Sie den Kanal regelmäßig auf neue Uploads und fügen Sie nur die neuen Transkripte zum Index hinzu.
Starter-Code
Diese Idee basiert auf dem Muster „Rezept 3: Eine Playlist gesammelt in eine Wissensdatenbank laden“. Setzen Sie Ihre eigenen Kanäle, Prompts und Speicherlösungen ein.
import requests
API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}
playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
"limit": 100}).json()
ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
"video_ids": ids,
"format": {"timestamp": True, "paragraphs": True},
}).json()
# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
if r["status"] == "completed":
for p in r["data"]["transcript"].get("paragraphs") or []:
store(video_id=r["video_id"], start=p["start"], text=p["text"]) # your vector DBSo verdient es Geld
Berechnen Sie dem Creator eine Monatsgebühr für den gehosteten Chatbot oder teilen Sie die Einnahmen aus einem bezahlten Tarif, den er an sein Publikum verkauft. Mitglieder-Communities und Kursanbieter können ihn als Premium-Vorteil bündeln.
Fehler, die Sie vermeiden sollten
- Das Modell aus allgemeinem Wissen antworten lassen: Beschränken Sie es auf abgerufene Transkriptpassagen, damit es wie der Creator klingt.
- Chunks fester Größe verwenden, die Sätze halbieren: Absatzgruppen erhalten den Kontext.
- Ohne Zustimmung des Creators starten: Bauen Sie es gemeinsam mit dem Creator – es sind seine Stimme und seine Inhalte.
Fragen zu dieser Idee
Kann ich einen Chatbot mit einem YouTube-Kanal trainieren?
Ja. Statt ein Modell zu trainieren, rufen Sie relevante Transkriptpassagen ab und lassen ein LLM daraus antworten. Das nennt man Retrieval-Augmented Generation.
Wie bringe ich den Chatbot dazu, seine Quellen zu nennen?
Speichern Sie Video-URL und Startzeit mit jedem Transkript-Chunk und weisen Sie das Modell an, beides in jede Antwort aufzunehmen.
Was kostet es, einen ganzen Kanal zu indexieren?
Videos mit nativen Untertiteln kosten je 1 Credit. Ein Kanal mit 300 Videos kostet einmalig etwa 300 Credits, danach nur noch neue Uploads.