ForHosting KIT · Audio et voix

Aligner une transcription sur des horodatages SRT

Transformez une transcription finale en texte brut et un minutage existant en sous-titres SRT prêts à l’emploi.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Chaque horodatage devient un repère numéroté, tandis que la transcription fournit exactement les mots affichés. Le texte de référence facultatif indique combien de mots appartiennent à chaque segment : les corrections orthographiques ou typographiques ne détruisent donc pas la structure temporelle. Le résultat respecte les codes temporels SRT, une numérotation stable, les lignes vides entre blocs et une limite configurable de caractères par ligne.

Préparez la transcription et le minutage

Partez de la transcription définitive, telle qu’elle doit apparaître à l’écran. Les espaces entre les mots sont normalisés, mais l’orthographe, les majuscules et la ponctuation sont conservées. Fournissez ensuite une liste chronologique d’horodatages. Chaque élément doit comporter un début et une fin en secondes et devient un repère SRT. Il peut aussi contenir un texte de référence issu de la transcription initiale. L’outil ne recopie pas ce texte : il compte ses mots et prélève le même nombre de mots dans la version corrigée. Vous pouvez ainsi garder le minutage produit automatiquement après avoir rectifié les noms ou la formulation. Sans référence, chaque horodatage consomme un mot. Les comptes cumulés doivent couvrir toute la transcription ; tout mot restant ou dépassement provoque une erreur explicite. Les secondes décimales, comme 1.25 ou 8.9, sont acceptées.

Maîtrisez la longueur des lignes

Réglez max_chars_per_line selon les exigences de votre chaîne de diffusion, lecteur ou référentiel d’accessibilité. La valeur par défaut est 42 caractères et la plage admise va de 8 à 120. Le retour à la ligne intervient uniquement entre les mots. L’algorithme remplit une ligne jusqu’à ce que le mot suivant dépasse la limite, puis en ouvre une nouvelle. Il ne modifie aucun mot, ne supprime aucune ponctuation et n’ajoute aucun trait d’union. Un mot à lui seul trop long entraîne une erreur claire afin de préserver la transcription. Vous pouvez alors relever la limite ou modifier volontairement ce mot. Chaque horodatage reste un seul repère même si son texte occupe plusieurs lignes ; aucun temps n’est inventé ni divisé. Pour viser deux lignes, préparez des segments assez courts pour la limite choisie. Seul le nombre de caractères par ligne est imposé.

Validez les temps et exploitez le SRT

Avant toute génération, chaque horodatage est contrôlé. Le début et la fin doivent être des secondes finies et positives ou nulles, avec une fin postérieure au début. L’ordre doit rester chronologique : le repère suivant ne peut pas commencer avant la fin du précédent. Deux repères peuvent toutefois se toucher exactement. En cas de chevauchement ou d’intervalle inversé, le traitement s’arrête et désigne l’élément fautif. Ce contrôle évite qu’un fichier apparemment propre masque des défauts rendus différemment selon les lecteurs. Les secondes sont arrondies à la milliseconde et formatées en HH:MM:SS,mmm. La réponse contient une chaîne srt complète à copier ou enregistrer et un tableau blocks destiné aux intégrations structurées. La numérotation commence à un et le résultat est déterministe. Utilisez le navigateur pour une préparation ponctuelle ou l’API pour $0.002 dans une chaîne multimédia automatisée.

Appliquer des corrections éditoriales

Conservez le minutage automatique tout en remplaçant le texte par une transcription corrigée et validée.

Convertir le minutage mot à mot en SRT

Transformez un horodatage par mot en repères SRT valides sans formater manuellement temps et numéros.

Respecter les limites de ligne

Recomposez les sous-titres selon un maximum connu avant leur importation dans un lecteur ou un logiciel de montage.

Quel est le prix d’une requête API ?

Chaque requête API coûte $0.002. La version dans le navigateur fonctionne de manière interactive sans envoyer le contenu à un modèle distant.

Le texte de référence apparaît-il dans les sous-titres ?

Non. Il détermine uniquement le nombre de mots attribués ; le texte visible vient toujours de la transcription.

Les horodatages peuvent-ils se chevaucher ?

Non. Chaque repère doit finir après son début, et le suivant doit commencer à la fin du précédent ou plus tard.

Que se passe-t-il si les comptes de mots divergent ?

La requête échoue si des mots restent sans affectation ou si les horodatages en réclament davantage que la transcription.

Un mot trop long est-il coupé ?

Non. Un mot dépassant max_chars_per_line provoque une erreur afin de préserver le texte sans modification silencieuse.

Comment les fractions de seconde sont-elles formatées ?

Les secondes sont arrondies à la milliseconde la plus proche et utilisent la virgule normalisée du format SRT.

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.

POSThttps://api.kit.forhosting.com/audio/audio-to-text-srt-align

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é.

curl -X POST https://api.kit.forhosting.com/audio/audio-to-text-srt-align \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"transcript":"Welcome to the demonstration. This subtitle wraps cleanly.","timestamps":[{"start":0,"end":2.4,"text":"Welcome to the demonstration."},{"start":2.4,"end":5.2,"text":"This subtitle wraps cleanly."}]}'
{
  "transcript": "Welcome to the demonstration. This subtitle wraps cleanly.",
  "timestamps": [
    {
      "start": 0,
      "end": 2.4,
      "text": "Welcome to the demonstration."
    },
    {
      "start": 2.4,
      "end": 5.2,
      "text": "This subtitle wraps cleanly."
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "audio.audio_to_text_srt_align",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_items10000
max_chars500000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →