Importez une transcription JSON, laissez l’outil reconnaître le schéma, puis exportez un fichier SRT propre avec horodatages, texte et étiquettes de locuteur optionnelles.
Votre fichier JSON est converti localement dans votre navigateur. Aucun envoi n’est nécessaire.
Les fichiers SRT générés automatiquement doivent être rapidement validés et, pour les vidéos importantes, contrôlés visuellement côté timing.
Des services de transcription comme OpenAI Whisper, AWS Transcribe ou Google Cloud Speech-to-Text fournissent souvent des fichiers JSON plutôt que des sous-titres prêts à l’emploi. Ces fichiers peuvent contenir des temps, des mots, des phrases, des alternatives et parfois des informations de locuteur. Le convertisseur lit cette structure, extrait le début, la fin et le texte, puis crée un fichier SubRip standard au format SRT.
Un JSON brut ne peut pas être téléversé directement sur YouTube ni importé de manière fiable dans Adobe Premiere, DaVinci Resolve ou Final Cut Pro. Il doit d’abord devenir une piste de sous-titres linéaire : numéro, heure de début, heure de fin et texte affiché. L’outil effectue cette étape automatiquement.
Cette page montre de vraies structures d’API, au lieu de se limiter à un mini-convertisseur. Vous voyez immédiatement si votre fichier JSON ressemble aux exemples et pourquoi il peut devenir un SRT valide.
Les exports Whisper contiennent souvent un tableau segments. Chaque élément comprend généralement start, end et text, ce qui se transforme directement en blocs SRT.
{
"segments": [
{ "start": 0.00, "end": 2.40, "text": "Bienvenue dans la vidéo." },
{ "start": 2.40, "end": 5.10, "text": "Aujourd’hui, nous montrons le workflow." }
]
}
1
00:00:00,000 --> 00:00:02,400
Bienvenue dans la vidéo.
2
00:00:02,400 --> 00:00:05,100
Aujourd’hui, nous montrons le workflow.
AWS Transcribe renvoie souvent des mots et signes de ponctuation séparés dans results.items. L’outil regroupe ces éléments en blocs de sous-titres lisibles et peut conserver les labels de locuteur.
{
"results": {
"items": [
{ "type": "pronunciation", "start_time": "0.00", "end_time": "0.55", "alternatives": [{ "content": "Bonjour" }], "speaker_label": "spk_0" },
{ "type": "pronunciation", "start_time": "0.56", "end_time": "1.10", "alternatives": [{ "content": "Maik" }], "speaker_label": "spk_0" },
{ "type": "punctuation", "alternatives": [{ "content": "." }] }
]
}
}
1
00:00:00,000 --> 00:00:01,100
spk_0: Bonjour Maik.
Google Speech-to-Text stocke généralement les mots dans results[].alternatives[].words[]. Les temps de début et de fin utilisent souvent des secondes avec le suffixe s, par exemple 1.200s.
{
"results": [
{
"alternatives": [
{
"words": [
{ "startTime": "0s", "endTime": "0.700s", "word": "Cela", "speakerTag": 1 },
{ "startTime": "0.700s", "endTime": "1.400s", "word": "fonctionne", "speakerTag": 1 }
]
}
]
}
]
}
1
00:00:00,000 --> 00:00:01,400
Speaker 1: Cela fonctionne
JSON est un format de données, pas un format de sous-titres. Les fournisseurs peuvent donc utiliser des noms de champs très différents. Le convertisseur vérifie les variantes courantes et peut parcourir des tableaux imbriqués si le fichier ne suit pas exactement le schéma Whisper, AWS ou Google.
| Champ | Clés reconnues | Utilisation dans le SRT |
|---|---|---|
| Début | start, start_time, startTime, from, begin | devient le temps de début du bloc SRT |
| Fin | end, end_time, endTime, to, finish | devient le temps de fin du bloc SRT |
| Texte | text, transcript, content, sentence, value | devient le texte visible du sous-titre |
| Locuteur | speaker, speaker_label, speaker_id, speakerTag | peut être ajouté comme préfixe avant le texte |
De nombreux services de transcription fournissent le locuteur sous forme de champ speaker, speaker_label, speakerTag ou équivalent. Si l’option “inclure les labels de locuteur” est activée, le convertisseur écrit cette information directement dans le texte du sous-titre.
Le format SRT ne possède pas de champ technique dédié au locuteur. En pratique, les locuteurs sont donc enregistrés comme préfixe texte, ce qui aide pour les interviews, podcasts, réunions, cours et enregistrements de support.
1
00:00:00,000 --> 00:00:02,200
Speaker 1: Bienvenue dans cette discussion.
2
00:00:02,300 --> 00:00:04,800
Speaker 2: Merci pour l’invitation.
Le tableau suivant présente les structures que l’outil reconnaît explicitement. Il tente aussi de trouver automatiquement des tableaux génériques avec début, fin et texte.
| Fournisseur | Structure JSON typique | Pris en charge ? | Remarque |
|---|---|---|---|
| OpenAI Whisper | segments[] mit start, end, text | Oui, directement | Structure par segments, idéale pour une sortie SRT directe. |
| AWS Transcribe | results.items[] plus optional speaker_labels | Oui, directement | Les données mot par mot sont regroupées en blocs lisibles. |
| Google Speech-to-Text | results[].alternatives[].words[] | Oui, directement | Les listes de mots avec temps en secondes sont regroupées et triées. |
| JSON générique | Tableau ou tableau imbriqué avec début, fin et texte | Oui, si les champs existent | Fonctionne si les champs de temps et de texte sont clairs. |
Oui. La conversion se déroule localement en JavaScript dans votre navigateur. Votre fichier JSON n’est pas envoyé vers un serveur. C’est important, car les transcriptions contiennent souvent des réunions internes, des contenus client, des scripts de travail ou des vidéos non publiées.
L’outil ne peut créer des segments que si le JSON contient des informations temporelles exploitables. Un JSON composé uniquement de texte, sans temps de début ni de fin, ne peut pas être transformé de façon fiable en SRT, car le SRT exige des horodatages. Pour un fichier texte seul, utilisez plutôt un convertisseur TXT vers SRT ou synchronisez le texte ensuite dans Studio.
Les transcriptions JSON proviennent souvent d’une reconnaissance vocale automatique. Il est donc utile de vérifier le SRT généré : timing, blocs vides et lisibilité.
Choisissez une transcription JSON de Whisper, AWS, Google ou d’un service speech-to-text similaire.
L’outil reconnaît les schémas connus et cherche segments, listes de mots, champs temporels et informations de locuteur optionnelles.
Téléchargez le SRT généré et, si nécessaire, vérifiez-le dans le SRT Validator ou dans Studio.
Les exports courants d’OpenAI Whisper, AWS Transcribe et Google Cloud Speech-to-Text sont pris en charge, ainsi que les tableaux JSON génériques avec début, fin et texte.
Oui. Vous pouvez choisir des blocs courts, normaux ou longs. C’est particulièrement pratique lorsque le JSON AWS ou Google contient des données mot par mot.
Oui. Si le fichier JSON contient des informations de locuteur, l’outil peut les écrire comme préfixe texte dans la sortie SRT.
Oui. La conversion se fait entièrement dans votre navigateur. Aucun fichier n’est envoyé à un serveur.
Un SRT nécessite une heure de début et une heure de fin pour chaque bloc. Si le JSON ne contient que du texte, les données de timing indispensables manquent.
Oui. L’outil regroupe automatiquement les mots et la ponctuation en blocs de sous-titres lisibles.
Vérifiez le timing, la longueur des phrases, les labels de locuteur et les blocs vides. Pour les erreurs techniques, utilisez ensuite le SRT Validator.