Was macht YouTube-Transkripte und -Suche?
Video ist eine primäre Quelle, die die meisten Forschungsagenten nicht lesen können. Diese Fähigkeit verwandelt jedes YouTube-Video, jeden Kanal oder jede Suchanfrage in zitierbaren Text mit Zeitstempeln.
Alles läuft über eine einzige REST-API. Kein yt-dlp, kein Headless-Browser, keine zu installierenden Binärdateien.
Einrichtung
Die API benötigt einen Schlüssel in der Umgebung. Fügen Sie eine Zeile zu FrontierAgents .env hinzu:
echo 'TRANSCRIPT_API_KEY=sk_your_key_here' >> .env
Holen Sie sich einen Schlüssel unter https://transcriptapi.com. Der kostenlose Tarif gibt Ihnen 100 Credits und verlangt keine Kreditkarte. FrontierAgent lädt .env beim Start und Shell-Befehle erben es, sodass $TRANSCRIPT_API_KEY in jedem unten stehenden Befehl aufgelöst wird.
Wenn die Variable leer ist, brechen Sie ab und teilen Sie dem Benutzer mit, sie hinzuzufügen. Raten Sie keinen Schlüssel und geben Sie den Wert nicht an den Benutzer zurück.
Jede Anfrage benötigt beide Header
Authorization: Bearer $TRANSCRIPT_API_KEY und einen echten User-Agent. Ein fehlender oder standardmäßiger User-Agent wird mit einem Cloudflare 403 beantwortet, Fehlercode 1010.
Transkript abrufen
Ein Credit. video_url akzeptiert eine vollständige YouTube-URL oder eine bloße 11-stellige Video-ID.
curl -sS -G "https://transcriptapi.com/api/v2/youtube/transcript" \
--data-urlencode "video_url=$VIDEO" \
--data-urlencode "format=text" \
--data-urlencode "send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
-H "User-Agent: FrontierAgent/1.0"
Setzen Sie stattdessen format=json, wenn Sie segmentweise start- und duration-Werte benötigen, z. B. um einen Zeitstempel zu zitieren. Die JSON-Struktur ist
{"video_id": "...", "language": "en", "transcript": [{"text": "...", "start": 18.0, "duration": 3.5}]}.
Videos oder Kanäle suchen
Ein Credit. type ist video oder channel, limit läuft von 1 bis 50.
curl -sS -G "https://transcriptapi.com/api/v2/youtube/search" \
--data-urlencode "q=$QUERY" \
--data-urlencode "type=video" \
--data-urlencode "limit=20" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
-H "User-Agent: FrontierAgent/1.0"
Kanal-Handle auflösen
Kostenlos, kein Credit. Akzeptiert ein @Handle, eine Kanal-URL oder eine UC...-ID.
curl -sS -G "https://transcriptapi.com/api/v2/youtube/channel/resolve" \
--data-urlencode "input=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
-H "User-Agent: FrontierAgent/1.0"
Die anderen Kanal-Endpunkte akzeptieren denselben channel-Wert direkt, sodass Sie selten zuerst auflösen müssen.
Hilfsskript
scripts/transcript.sh kapselt den Transkriptaufruf und meldet lautstark, wenn der Schlüssel fehlt.
bash plugins/skills/youtube-transcripts/scripts/transcript.sh "https://www.youtube.com/watch?v=nm1TxQj9IsQ"
Wenn ein Aufruf fehlschlägt
| Status | Bedeutung | Maßnahme |
|---|---|---|
| 401 | Der Schlüssel ist falsch oder fehlt | Bitten Sie den Benutzer, TRANSCRIPT_API_KEY in .env zu überprüfen |
| 403 | Cloudflare hat die Anfrage blockiert | Sie haben den User-Agent-Header weggelassen. Fügen Sie ihn hinzu und wiederholen Sie den Vorgang |
| 404 | Das Video hat keine Untertitel | Sagen Sie dies klar. Erfinden Sie kein Transkript |
| 422 | Die Video-ID oder URL ist fehlerhaft | Lesen Sie die ID aus dem Link des Benutzers erneut aus |
| 429 | Credits aufgebraucht oder Ratenlimit überschritten | Melden Sie es. Wiederholen Sie es nicht in einer Schleife |
Ein langes Transkript kann das Ausgabebudget des Tools überschreiten. Fragen Sie nach format=text, schreiben Sie den Body mit > outputs/transcript.txt in eine Datei und lesen Sie dann die benötigten Teile.
Umgang mit den Ergebnissen
Zitieren Sie das Transkript, anstatt zu paraphrasieren, wenn die genaue Wortwahl die Behauptung trägt. Automatische Untertitel enthalten Erkennungsfehler. Behandeln Sie daher einen ungewöhnlichen technischen Begriff als verdächtig und prüfen Sie ihn anhand des Videotitels oder der Beschreibung, bevor Sie ein Argument darauf aufbauen.