WebVTT-Untertitel erstellen
KIT erzeugt aus einer Audio- oder Videospur automatisch eine Untertiteldatei im WebVTT-Format, dem Standard für den HTML5-Videoplayer im Browser. Gedacht für alle, die ein Video direkt auf der eigenen Website oder in einer Web-App mit Untertiteln versehen wollen, ohne SRT nachträglich umzuwandeln.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
WebVTT statt SRT: der Unterschied zählt
Browser lesen für das Untertitel-Element im Video-Tag das WebVTT-Format, nicht SRT; wer Untertitel direkt auf der eigenen Website einbinden will, braucht also die VTT-Datei und keine nachträgliche Umwandlung. KIT liefert das Format direkt, inklusive des Zeitcodes im Punkt-Stil, den HTML5-Player erwarten.
So binden Sie die Datei ein
Nach der Verarbeitung erhalten Sie die VTT-Datei zum Herunterladen; im HTML-Code wird sie als Untertitelspur im Video-Element eingebunden, und der Browser zeigt die Untertitel automatisch an, inklusive Ein- und Ausschalter im Standard-Player, ganz ohne zusätzliches Plugin.
Typischer Einsatz
Firmen, die Erklärvideos oder Produktvideos direkt auf der eigenen Website statt auf YouTube einbetten, brauchen WebVTT für die native Untertitelanzeige des Browsers. Auch Lernplattformen mit eigenem Videoplayer setzen meist auf dieses Format statt auf SRT.
Grenzen
Die automatische Texttrennung folgt Sprechpausen, ersetzt aber keine Prüfung bei Eigennamen oder Fachbegriffen vor der Veröffentlichung. Die Datei darf bis zu 200 MB groß sein und bis zu 180 Minuten lang; für sehr lange Aufnahmen empfiehlt sich eine vorherige Aufteilung.
Anwendungsfälle
Erklärvideo auf der eigenen Website
Ein Softwareanbieter aus München bindet ein Produktvideo direkt auf der eigenen Landingpage ein und ergänzt es mit WebVTT-Untertiteln, statt auf eine externe Plattform auszuweichen.
Kursvideo für die Lernplattform
Eine Weiterbildungsplattform stattet jedes Kursvideo im eigenen Player mit VTT-Untertiteln aus, damit Teilnehmer auch im Großraumbüro ohne Ton mitlesen können.
Mehrsprachiges Produktvideo
Ein Hersteller aus Stuttgart hinterlegt für ein Produktvideo mehrere VTT-Dateien in unterschiedlichen Sprachen, zwischen denen Besucher der Website per Klick wechseln.
Häufige Fragen
Warum WebVTT und nicht einfach SRT?
Weil Browser für den HTML5-Videoplayer WebVTT erwarten; wer Untertitel direkt im eigenen Player der Website anzeigen will, kommt um dieses Format nicht herum.
Kann ich die Datei auch in SRT umwandeln lassen?
Für SRT gibt es die eigene Funktion „SRT-Untertitel erstellen“; beide Formate lassen sich aus derselben Aufnahme erzeugen.
Was kostet eine WebVTT-Datei aus einer fünfzehnminütigen Aufnahme?
$0.002 pro Anfrage plus $0.0055 pro Minute, also rund $0,08 für fünfzehn Minuten.
Muss ich ein Konto haben oder Software installieren, um die Datei zu nutzen?
Nein, die VTT-Datei ist reiner Text und lässt sich mit jedem Editor öffnen und direkt in den HTML-Code einbinden.
Werden meine Videoinhalte gespeichert oder ausgewertet?
Die Datei dient ausschließlich der Erstellung dieser Untertiteldatei und wird nicht für andere Zwecke verwendet oder weitergegeben.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/audio/subtitles-vtt \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/audio.mp3"}'const res = await fetch("https://api.kit.forhosting.com/audio/subtitles-vtt", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/audio.mp3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/subtitles-vtt",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/audio.mp3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/subtitles-vtt", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/audio.mp3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/audio.mp3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/subtitles-vtt", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"audio": "https://ejemplo.com/audio.mp3"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.subtitles_vtt",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 200 |
max_minutes | 180 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
422 | task_failed | Die Aufgabe ist fehlgeschlagen und wird nicht berechnet. |