Sube un archivo JSON de transcripción, deja que el sistema detecte el esquema y exporta un SRT limpio con tiempos, texto y etiquetas de hablante opcionales.
Tu archivo JSON se convierte localmente en el navegador. No se sube nada.
Los SRT generados automáticamente deben validarse brevemente y, en videos importantes, comprobarse visualmente por timing.
Servicios de transcripción como OpenAI Whisper, AWS Transcribe o Google Cloud Speech-to-Text suelen entregar archivos JSON en lugar de subtítulos listos. Esos JSON pueden incluir tiempos, palabras, frases, alternativas y datos de hablantes. Este convertidor interpreta la estructura, extrae inicio, fin y texto, y crea un archivo SubRip estándar en formato SRT.
Un JSON sin procesar no se puede subir directamente a YouTube ni importar de forma fiable en Adobe Premiere, DaVinci Resolve o Final Cut Pro. Primero hay que transformarlo en una pista lineal de subtítulos: número, hora de inicio, hora de fin y texto visible. Esa conversión la hace la herramienta automáticamente.
A diferencia de un mini convertidor limitado, esta página muestra estructuras reales de API. Así puedes ver rápido si tu JSON se parece y por qué puede convertirse en un SRT válido.
Los exports de Whisper suelen incluir un array segments. Cada elemento normalmente contiene start, end y text, una estructura que encaja muy bien con bloques SRT.
{
"segments": [
{ "start": 0.00, "end": 2.40, "text": "Bienvenido al video." },
{ "start": 2.40, "end": 5.10, "text": "Hoy mostramos el flujo de trabajo." }
]
}
1
00:00:00,000 --> 00:00:02,400
Bienvenido al video.
2
00:00:02,400 --> 00:00:05,100
Hoy mostramos el flujo de trabajo.
AWS Transcribe suele devolver palabras y signos de puntuación por separado en results.items. La herramienta agrupa esos datos en bloques de subtítulos legibles y puede conservar las etiquetas de hablante.
{
"results": {
"items": [
{ "type": "pronunciation", "start_time": "0.00", "end_time": "0.55", "alternatives": [{ "content": "Hola" }], "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: Hola Maik.
Google Speech-to-Text suele guardar las palabras en results[].alternatives[].words[]. Los tiempos de inicio y fin aparecen a menudo como segundos con sufijo s, por ejemplo 1.200s.
{
"results": [
{
"alternatives": [
{
"words": [
{ "startTime": "0s", "endTime": "0.700s", "word": "Esto", "speakerTag": 1 },
{ "startTime": "0.700s", "endTime": "1.400s", "word": "funciona", "speakerTag": 1 }
]
}
]
}
]
}
1
00:00:00,000 --> 00:00:01,400
Speaker 1: Esto funciona
JSON no es un formato de subtítulos, sino un formato de datos. Por eso cada proveedor puede usar nombres de campo distintos. El convertidor revisa variantes habituales y también puede buscar en arrays anidados cuando el archivo no sigue exactamente el esquema de Whisper, AWS o Google.
| Campo | Claves reconocidas | Uso en el SRT |
|---|---|---|
| Hora de inicio | start, start_time, startTime, from, begin | se convierte en la hora de inicio del bloque SRT |
| Hora de fin | end, end_time, endTime, to, finish | se convierte en la hora de fin del bloque SRT |
| Texto | text, transcript, content, sentence, value | se convierte en el texto visible del subtítulo |
| Hablante | speaker, speaker_label, speaker_id, speakerTag | puede añadirse como prefijo antes del texto |
Muchos servicios de transcripción entregan información de hablante como speaker, speaker_label, speakerTag o un campo similar. Si activas “incluir etiquetas de hablante”, el convertidor escribe esa información dentro del texto del subtítulo.
SRT no tiene un campo técnico propio para hablantes. En la práctica, se guardan como prefijo de texto. Es útil para entrevistas, podcasts, reuniones, cursos y grabaciones de soporte.
1
00:00:00,000 --> 00:00:02,200
Speaker 1: Bienvenido a la conversación.
2
00:00:02,300 --> 00:00:04,800
Speaker 2: Gracias por invitarme.
La siguiente tabla muestra las estructuras que la herramienta reconoce de forma específica. Además intenta detectar arrays genéricos con inicio, fin y texto.
| Proveedor | Estructura JSON habitual | ¿Compatible? | Nota |
|---|---|---|---|
| OpenAI Whisper | segments[] mit start, end, text | Sí, directamente | Estructura por segmentos, ideal para salida SRT directa. |
| AWS Transcribe | results.items[] plus optional speaker_labels | Sí, directamente | Los datos por palabra se agrupan en subtítulos legibles. |
| Google Speech-to-Text | results[].alternatives[].words[] | Sí, directamente | Las listas de palabras con tiempos en segundos se agrupan y ordenan. |
| JSON genérico | Array o array anidado con inicio, fin y texto | Sí, si existen los campos | Funciona si hay campos claros de tiempo y texto. |
Sí. La conversión se ejecuta localmente con JavaScript en tu navegador. Tu JSON no se sube a ningún servidor. Es importante porque las transcripciones suelen contener reuniones internas, material de clientes, guiones sin publicar o videos todavía privados.
La herramienta solo puede crear segmentos si el JSON contiene información de tiempo útil. Un JSON que solo tenga texto, sin inicio ni fin, no puede convertirse de forma fiable a SRT porque SRT necesita marcas de tiempo. Si tu archivo solo contiene texto, usa un convertidor TXT a SRT o sincronízalo después en Studio.
Las transcripciones JSON suelen venir de reconocimiento automático de voz. Conviene revisar el SRT generado para comprobar tiempos, bloques vacíos y legibilidad.
Elige una transcripción JSON de Whisper, AWS, Google o un sistema speech-to-text similar.
La herramienta reconoce esquemas conocidos y busca segmentos, listas de palabras, campos de tiempo e información opcional de hablante.
Descarga el SRT generado y, si hace falta, revísalo en el SRT Validator o en Studio.
Se admiten exports habituales de OpenAI Whisper, AWS Transcribe y Google Cloud Speech-to-Text, además de arrays JSON genéricos con inicio, fin y texto.
Sí. Puedes elegir bloques cortos, normales o largos. Es especialmente útil cuando el JSON de AWS o Google contiene datos palabra por palabra.
Sí. Si el JSON contiene información de hablante, la herramienta puede escribirla como prefijo en la salida SRT.
Sí. La conversión ocurre por completo en tu navegador. No se sube ningún archivo a servidores.
SRT necesita una hora de inicio y una hora de fin para cada bloque. Si el JSON solo contiene texto, faltan los datos de timing necesarios.
Sí. La herramienta agrupa automáticamente palabras y puntuación en bloques de subtítulos legibles.
Revisa timing, longitud de frases, etiquetas de hablante y bloques vacíos. Para errores técnicos, pasa el archivo por el SRT Validator.