YouTube Transcript API
Eine Anfrage rein, das ganze Transkript raus. Du zahlst nur für die Videos, die du abrufst.
Kostenlosen API-Schlüssel holenSchnellstart
- Melde dich an und erstelle im API-Dashboard einen API-Schlüssel. Du bekommst 10 Gratis-Credits (5 Transkripte).
- Sende den Schlüssel im X-API-Key-Header zusammen mit einer YouTube-URL oder Video-ID.
- Kaufe ein Credit-Paket, wenn du mehr brauchst, oder aktiviere das automatische Aufladen.
curl -X POST https://sum.video/api/v1/transcript \
-H "X-API-Key: sv_live_your_key" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "lang": "en"}'Anfrage
POST /api/v1/transcript
url: YouTube-URL (watch-, youtu.be-, shorts-, embed- oder live-Link). Nutze dies oder video_id.video_id: Die 11-stellige YouTube-Video-ID.lang: Gewünschte Untertitelsprache, zum Beispiel en, de oder pt-BR. Standard ist en. Fehlt diese Sprache, wird die Originalspur geliefert und die Antwort nennt ihre tatsächliche Sprache.format: json (Segmente mit Zeitstempeln, Standard), text oder srt.
import requests
response = requests.post(
"https://sum.video/api/v1/transcript",
headers={"X-API-Key": "sv_live_your_key"},
json={"video_id": "dQw4w9WgXcQ", "lang": "en", "format": "text"},
timeout=120,
)
print(response.json()["text"])const response = await fetch("https://sum.video/api/v1/transcript", {
method: "POST",
headers: { "X-API-Key": process.env.SUMVIDEO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ url: "https://youtu.be/dQw4w9WgXcQ" }),
});
const { segments, credits_remaining } = await response.json();Antwort
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"is_generated": false,
"credits_used": 2,
"credits_remaining": 98,
"segments": [
{ "text": "We're no strangers to love", "offset": 18.64, "duration": 3.24 }
]
}Fehler
| 401 | invalid_key | Fehlender, falscher oder widerrufener API-Schlüssel. |
| 400 | invalid_input | Die URL oder Video-ID konnte nicht gelesen werden. |
| 402 | insufficient_credits | Dein Guthaben liegt unter 2 Credits. |
| 402 | budget_exceeded | Du hast dein selbst festgelegtes monatliches Credit-Limit erreicht. |
| 404 | no_transcript | Das Video hat keine Untertitel oder ist privat, live oder entfernt. Nicht berechnet. |
| 429 | rate_limited | Mehr als 60 Anfragen pro Minute mit einem Schlüssel. Warte die Retry-After-Sekunden ab. |
| 502 | upstream_error | YouTube hat nicht rechtzeitig geantwortet. Nicht berechnet, versuche es später erneut. |
Guthaben abfragen
curl https://sum.video/api/v1/credits -H "X-API-Key: sv_live_your_key"Preise
Jedes Transkript kostet 2 Credits. Credits verfallen nie. Pro-Abonnenten erhalten jeden Monat 100 Bonus-Credits.
| Paket | Credits | Transkripte | Preis | Pro Transkript |
|---|---|---|---|---|
| Starter | 100 | 50 | 4,49 $ | 0,090 $ |
| Pro | 500 | 250 | 13,99 $ | 0,056 $ |
| Scale | 2.000 | 1.000 | 37,99 $ | 0,038 $ |
| Business | 5.000 | 2.500 | 74,99 $ | 0,030 $ |
Automatisches Aufladen, Budgets und Warnungen
- Das automatische Aufladen kauft mit deiner gespeicherten Karte ein Paket, sobald dein Guthaben unter einen von dir gewählten Wert fällt.
- Ein monatliches Aufladebudget begrenzt, wie viel das automatische Aufladen ausgeben darf, und ein monatliches Credit-Limit stoppt Anfragen, sobald es erreicht ist.
- E-Mail-Warnungen informieren dich, wenn dein Guthaben knapp wird, wenn du 80 % deines Monatslimits erreichst oder wenn eine Aufladung fehlschlägt.
Limits und faire Nutzung
60 Anfragen pro Minute pro Schlüssel, bis zu 5 aktive Schlüssel pro Konto. Die API liefert Untertitel, die auf YouTube bereits existieren; sie transkribiert kein Audio. Du bist dafür verantwortlich, Transkripte im Einklang mit den Rechten der Videoinhaber und den Bedingungen von YouTube zu nutzen.
FAQ
- Zahle ich für dasselbe Video noch einmal?
- Ja, jede erfolgreiche Anfrage kostet 2 Credits, aber wiederholte Videos werden in Millisekunden aus unserem Cache beantwortet.
- Was passiert, wenn ein Video keine Untertitel hat?
- Du bekommst einen no_transcript-Fehler und es werden keine Credits abgezogen.
- Ist sie mit anderen Transcript-APIs kompatibel?
- Anfrage und Antwort folgen dem üblichen Aufbau mit url, lang und segments, ein Wechsel bedeutet also meist nur, die Basis-URL und den Schlüssel zu ändern.