Problemet det löser
När användare klistrar in en YouTube-länk i en assistent vägrar den antingen, hallucinerar utifrån titeln eller misslyckas med långa videor. Team som bygger agenter för research, försäljning eller support behöver ett pålitligt sätt att göra om vilken video som helst till text som modellen kan resonera kring, utan att underhålla scrapers som går sönder så fort YouTube ändrar något.
Vad den första versionen bör innehålla
- Ett verktyg som modellen kan anropa med valfri YouTube-URL eller video-ID
- Ren transkripttext plus tidsstämplade segment för källhänvisningar
- Språkval och översättning för videor som inte är på engelska
- Uppdelning av långa videor så att de ryms i modellens kontext
- Cachning så att samma video inte hämtas två gånger
Så bygger du det, steg för steg
- 01
Välj integration
Om din assistent stöder Model Context Protocol ansluter du MCP-servern så dyker verktygen upp automatiskt. Annars definierar du ett funktionsverktyg som anropar /transcribe.
- 02
Definiera verktygets kontrakt
Ta emot en video-URL och ett valfritt språk. Returnera transkripttexten och en lista med segment med starttider.
- 03
Hantera långa videor
För videor som är längre än ditt kontextfönster delar du upp segmenten i delar och sammanfattar var och en innan du svarar, eller hämtar bara de delar som är relevanta för frågan.
- 04
Ange källan
Instruera modellen att citera tidsstämplar från segmenten så att användarna kan verifiera varje påstående.
Startkod
Den här idén bygger på mönstret "Recept 1: En video in, strukturerat resultat ut". Byt till dina egna kanaler, promptar och lagring.
import requests
API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}
res = requests.post(f"{API}/transcribe", headers=HEADERS, json={
"video": "https://www.youtube.com/watch?v=VIDEO_ID",
"format": {"timestamp": True, "paragraphs": True},
}).json()
transcript = res["data"]["transcript"]
print(transcript["text"][:500]) # plain text for your LLM prompt
for seg in transcript["segments"][:3]: # timestamps for deep links
print(seg["start"], seg["text"])Därför är det värt att bygga
Det här är oftast en funktion, inte en produkt: den gör din befintliga assistent, bot eller copilot märkbart mer användbar. Som fristående produkt kan en Slack- eller Discord-bot som svarar på frågor om delade videor ta betalt per workspace.
Misstag att undvika
- Att proppa in ett tre timmar långt transkript i en enda prompt: hämta eller sammanfatta i delar i stället.
- Att ta bort tidsstämplarna, vilket gör svaren omöjliga att verifiera.
- Att hämta samma populära video om och om igen i stället för att cacha transkripten.
Frågor om den här idén
Kan ChatGPT eller Claude läsa YouTube-videor?
Inte pålitligt på egen hand. Genom att ansluta ett transkriptverktyg eller en MCP-server kan de läsa hela transkriptet för alla offentliga videor med undertexter.
Vad är en MCP-server?
Model Context Protocol är ett standardiserat sätt att ge AI-assistenter verktyg. Vår MCP-server exponerar transkriptverktyg som kompatibla assistenter kan anropa utan egen kod.
Hur hanterar jag väldigt långa videor?
Dela upp de tidsstämplade segmenten i delar och sammanfatta sedan varje del, eller hämta bara de delar som är relevanta för användarens fråga.