Traduire des sous-titres SRT
Cet outil traduit un fichier de sous-titres SRT d’une langue vers une autre en conservant intacts les repères de temps. Chaque réplique traduite reste calée sur la même seconde que l’original. Il s’adresse aux personnes qui sous-titrent une vidéo, un cours ou une interview et veulent une version étrangère synchronisée, sans recaler les entrées.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Le minutage conservé à la seconde
Un fichier SRT numérote chaque réplique et lui associe un début et une fin. L’outil ne touche qu’au texte : les numéros et les repères de temps restent identiques, donc la traduction s’affiche exactement au même moment que la version d’origine. Vous chargez le fichier dans votre lecteur ou votre logiciel de montage sans le moindre décalage à corriger, prêt à diffuser.
Une traduction pensée pour l’écran
Traduire des sous-titres n’est pas traduire un texte : la réplique doit rester lisible dans le temps imparti. La formulation privilégie des phrases assez courtes pour être lues à l’écran, tout en respectant le sens. Les retours à la ligne à l’intérieur d’une réplique sont préservés, ce qui évite les blocs de texte trop denses qui défilent trop vite pour le spectateur.
Prix et volume
Facturation à l’usage, sans abonnement : $0.003 par requête, puis $0.0135 pour 1 000 mots de dialogue. Une vidéo courte revient à quelques centimes, un long-métrage à une ou deux requêtes selon sa longueur. Le montant dépend du volume de texte et s’affiche avant de lancer. L’achat se règle en une fois, et une facture peut vous être établie pour votre comptabilité.
Cas d’usage
Sous-titrer une vidéo pour l’étranger
Studio Lumen SAS a produit une vidéo de présentation en français. L’agence traduit le SRT en anglais : le fichier reste synchrone, il suffit de le déposer dans le lecteur.
Rendre un cours accessible
Un formateur met en ligne un cours filmé. Julien Lefèvre traduit les sous-titres en espagnol pour des étudiants hispanophones, sans refaire le calage image par image.
Traduire une interview
Une interview enregistrée doit être diffusée en deux langues. Le SRT français est traduit en anglais et les deux pistes se chargent tour à tour sur la même vidéo.
Questions fréquentes
Le minutage est-il modifié par la traduction ?
Non. Les numéros de réplique et les repères de temps restent exactement les mêmes ; seul le texte change. La version traduite s’affiche donc au même instant que l’originale.
Les sous-titres restent-ils lisibles à l’écran ?
La formulation vise des répliques assez brèves pour être lues dans le temps imparti, et les retours à la ligne d’origine sont conservés. Une relecture reste conseillée pour les passages très rapides.
Puis-je traduire un fichier de film entier ?
Oui, en une ou deux requêtes selon sa longueur, à raison d’environ 15 000 mots de dialogue par envoi. Chaque requête est facturée au millier de mots.
Le format SRT est-il conservé ?
Oui. Vous récupérez un fichier SRT valide, avec la même numérotation et la même structure, prêt à charger dans un lecteur ou un logiciel de montage.
Combien cela coûte-t-il ?
En dollars : $0.003 par requête et $0.0135 pour 1 000 mots de dialogue. Le prix est visible avant de valider, sans abonnement.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/translate/srt \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/translate/srt", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/translate/srt",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/translate/srt", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/translate/srt", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "translate.srt",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_tokens | 20000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |