SRT-Untertitel erstellen
KIT erzeugt aus einer Audio- oder Videospur automatisch eine SRT-Untertiteldatei mit Zeitcode und Text, fertig zum Import in Schnittprogramme, Videoplayer oder Plattformen wie YouTube. Gedacht für alle, die ein Video barrierefrei oder mehrsprachig zugänglich machen müssen, ohne jede Zeile von Hand zu setzen.
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.
Was eine SRT-Datei leisten muss
Das SRT-Format ist der De-facto-Standard für Untertitel: Nummer, Zeitcode und Text pro Block, lesbar von praktisch jedem Videoschnittprogramm und jeder Plattform. KIT erkennt die Sprache in der Aufnahme, transkribiert sie und teilt den Text automatisch in Blöcke passender Länge auf, statt einen einzigen langen Absatz zu liefern.
Ablauf
Sie laden die Datei auf dieser Seite hoch oder rufen die Funktion per API auf; nach der Verarbeitung steht die fertige .srt-Datei zum Herunterladen bereit. Der Import in Programme wie Premiere, DaVinci Resolve oder eine Videoplattform funktioniert ohne weitere Anpassung, da das Format standardisiert ist.
Wann sich das lohnt
Für Firmenvideos, Schulungsvideos oder Social-Media-Clips, die auch ohne Ton verständlich sein sollen, ist ein Untertitel Pflicht, kein Extra. Wer ein Video zusätzlich barrierefrei anbieten will, kommt an einer Untertiteldatei ebenfalls nicht vorbei – von Hand ist das bei einem zehnminütigen Video eine Stunde Arbeit, automatisch sind es wenige Minuten.
Qualität und Nachbearbeitung
Die automatische Trennung folgt Sprechpausen und Satzgrenzen, ersetzt aber keine redaktionelle Prüfung bei Namen, Zahlen oder Fachbegriffen. Für ein zweisprachiges Video lässt sich das Ergebnis anschließend mit der Übersetzungsfunktion in eine zweite Sprache übertragen.
Anwendungsfälle
Firmenvideo für Social Media
Ein Marketingteam aus Hamburg lässt für ein LinkedIn-Video automatisch Untertitel erzeugen, weil ein Großteil der Zuschauer ohne Ton scrollt.
Schulungsvideo barrierefrei machen
Eine Weiterbildungsplattform ergänzt ihre Video-Kurse um SRT-Untertitel, damit Inhalte auch für Hörgeschädigte zugänglich sind.
Interview für YouTube
Ein Handwerksbetrieb aus Leipzig veröffentlicht ein Kundeninterview auf YouTube und lädt die passende SRT-Datei gleich mit hoch, statt Untertitel manuell zu tippen.
Häufige Fragen
Was ist der Unterschied zwischen SRT und VTT?
SRT ist das klassische Format für Schnittprogramme und Plattformen wie YouTube; VTT ist der Webstandard für HTML5-Videoplayer. Für Websites nutzen Sie eher die VTT-Funktion.
Was kostet eine SRT-Datei aus einem zehnminütigen Video?
$0.002 pro Anfrage plus $0.0055 pro Minute, also rund $0,06 für zehn Minuten Audio.
Muss ich die Untertitel danach noch prüfen?
Bei klarer Aussprache ist die Trefferquote hoch; bei Fachbegriffen, Namen oder Dialekt empfiehlt sich ein kurzer Blick vor der Veröffentlichung.
Funktioniert das auch mit einer reinen Audiodatei ohne Video?
Ja, die Funktion benötigt nur die Tonspur; das Video selbst ist für die Untertitelerstellung nicht nötig.
Wird meine Datei nach der Verarbeitung gelöscht?
Sie wird ausschließlich zur Erstellung dieser Untertiteldatei verwendet und nicht für andere Zwecke gespeichert 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-srt \
-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-srt", {
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-srt",
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-srt", 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-srt", 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_srt",
"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. |