Générer des sous-titres vidéo
Envoyez une vidéo et recevez un fichier de sous-titres minuté, transcrit à partir de la parole, qu’il s’agisse d’un clip de deux minutes ou d’un cours de deux heures. Des sous-titres sans saisir les temps à la main. Paiement à l’usage, sans abonnement.
Cette tâche n'est pas disponible pour le moment et ne peut donc pas être achetée. Rien n'est facturé.
Voir l’APIGénérer des sous-titres consiste à écouter la parole d’une vidéo et à produire un fichier horodaté — au format SRT ou VTT — que le lecteur affiche par-dessus l’image. Chaque réplique reçoit son minutage, prêt à charger sur une plateforme ou à retoucher avant diffusion.
Ce que vous récupérez
Le résultat n’est pas une vidéo, mais un fichier texte de sous-titres : chaque ligne porte un numéro, un intervalle de temps et la réplique correspondante. Le format SRT convient aux plateformes vidéo et aux lecteurs de bureau ; le VTT vise la lecture web. Ce fichier reste séparé de la vidéo, ce qui vous laisse corriger une faute, ajuster un minutage ou traduire une ligne sans jamais réencoder l’image ni retoucher le fichier d’origine.
SRT ou VTT, lequel choisir
Pour déposer une vidéo sur une plateforme de partage ou l’ouvrir dans un logiciel de montage, le SRT est le format le plus universel. Pour une lecture directement dans une page web, via la balise vidéo du navigateur, le VTT est prévu pour cet usage et gère quelques options de mise en forme. En cas de doute, le SRT reste le choix sûr : la plupart des outils l’acceptent et savent le convertir si besoin.
Disponibilité
Le générateur de sous-titres est en cours de déploiement. Le prix est arrêté et affiché ; l’exécution, elle, n’est pas encore ouverte au public, et nous préférons l’annoncer franchement plutôt que de laisser croire à un service déjà actif.
Cas d’usage
Vidéo pour les réseaux
Studio Lumen SAS sous-titre une capsule promotionnelle : la majorité des vues se font sans le son, les sous-titres rendent le message lisible d’emblée.
Accessibilité
Une association ajoute un fichier SRT à ses conférences filmées pour les personnes sourdes ou malentendantes, une exigence désormais courante des financeurs publics.
Cours en ligne
Élodie Garnier fournit le VTT de ses modules vidéo afin que les apprenants suivent le texte à l’écran et retrouvent un passage précis par la lecture.
Questions fréquentes
Quelle est la différence avec l’incrustation des sous-titres ?
Ici, vous obtenez un fichier séparé (SRT ou VTT) que le lecteur superpose et que l’on peut désactiver ou corriger. L’incrustation, elle, grave les sous-titres dans l’image de façon définitive.
Puis-je corriger le texte des sous-titres ensuite ?
Oui. Le fichier généré est du texte modifiable : vous ouvrez le SRT ou le VTT dans un simple éditeur pour relire, corriger une faute ou ajuster un minutage avant diffusion.
Ma vidéo est-elle conservée sur vos serveurs ?
Non. Le fichier transite le temps de produire les sous-titres, par un transfert chiffré, puis il est effacé. Le sous-titrage automatique demande un traitement côté serveur, que nous assumons sans le déguiser.
Le service est-il déjà utilisable ?
Pas encore : il est en cours de déploiement.
Faut-il créer un compte ?
Non. Il n’y a ni compte ni inscription : l’achat se fait directement, à l’usage, quand la capacité sera ouverte.
Outils associés
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
Un POST authentifié crée la tâche ; le résultat arrive par webhook ou par un lien signé. Cette capacité est disponible par API, pas comme outil web interactif.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/video/subtitles \
-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/video/subtitles", {
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/video/subtitles",
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/video/subtitles", 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/video/subtitles", 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
{
"audio": "https://ejemplo.com/audio.mp3"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.subtitles",
"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_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
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. |
Notes techniques
Le tarif, à la minute
Pas d’abonnement: vous réglez le fichier que vous générez, une seule fois, et le prix ne change pas selon le canal utilisé. Le sous-titrage se paie à l’usage, en dollars US: $0.079 par requête, puis $0.01 par minute de vidéo. Une vidéo de dix minutes revient à environ $0.18, une demi-heure à environ $0.38, toujours calculés sur la durée réelle du fichier, sans arrondi.
Disponibilité
L’outil se lancera depuis cette page en premier lieu, puis via l’API, avant une arrivée prévue sur mobile, e-mail et Telegram, avec le même tarif partout.
Questions techniques
Combien coûte le sous-titrage d’une vidéo ?
Le tarif est de $0.079 par requête, plus $0.01 par minute. Dix minutes reviennent à environ $0.18, facturés sur la durée réelle du fichier, en dollars US.