Envie um JSON de transcrição, deixe o sistema reconhecer o esquema automaticamente e exporte um SRT limpo com tempos, texto e rótulos de falante opcionais.
Seu arquivo JSON é convertido localmente no navegador. Nenhum upload é necessário.
Arquivos SRT gerados automaticamente devem ser validados rapidamente e, em vídeos importantes, conferidos visualmente quanto ao timing.
Serviços de transcrição como OpenAI Whisper, AWS Transcribe e Google Cloud Speech-to-Text muitas vezes geram arquivos JSON em vez de legendas prontas. Esses arquivos podem conter tempos, palavras, frases, alternativas e dados de falantes. O conversor lê essa estrutura, extrai início, fim e texto e cria um arquivo SubRip padrão no formato SRT.
Um JSON bruto não pode ser enviado diretamente ao YouTube nem importado com segurança para Adobe Premiere, DaVinci Resolve ou Final Cut Pro. Primeiro ele precisa virar uma faixa linear de legendas: número sequencial, tempo inicial, tempo final e texto visível. A ferramenta faz essa etapa automaticamente.
Esta página mostra estruturas reais de API, não apenas um conversor simples de um único formato. Assim você vê rapidamente se seu JSON é parecido e por que ele pode gerar um SRT válido.
Exportações do Whisper normalmente incluem um array segments. Cada item costuma ter start, end e text, uma estrutura ideal para criar blocos SRT.
{
"segments": [
{ "start": 0.00, "end": 2.40, "text": "Bem-vindo ao vídeo." },
{ "start": 2.40, "end": 5.10, "text": "Hoje mostramos o fluxo de trabalho." }
]
}
1
00:00:00,000 --> 00:00:02,400
Bem-vindo ao vídeo.
2
00:00:02,400 --> 00:00:05,100
Hoje mostramos o fluxo de trabalho.
O AWS Transcribe geralmente retorna palavras e pontuação separadas em results.items. A ferramenta agrupa esses dados em blocos de legenda legíveis e pode manter rótulos de falante quando existirem.
{
"results": {
"items": [
{ "type": "pronunciation", "start_time": "0.00", "end_time": "0.55", "alternatives": [{ "content": "Olá" }], "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: Olá Maik.
O Google Speech-to-Text costuma armazenar palavras em results[].alternatives[].words[]. Os tempos de início e fim geralmente aparecem em segundos com sufixo s, por exemplo 1.200s.
{
"results": [
{
"alternatives": [
{
"words": [
{ "startTime": "0s", "endTime": "0.700s", "word": "Isso", "speakerTag": 1 },
{ "startTime": "0.700s", "endTime": "1.400s", "word": "funciona", "speakerTag": 1 }
]
}
]
}
]
}
1
00:00:00,000 --> 00:00:01,400
Speaker 1: Isso funciona
JSON é um formato de dados, não um formato de legenda. Por isso, fornecedores diferentes usam nomes de campos diferentes. O conversor verifica variações comuns e também pode procurar em arrays aninhados quando o arquivo não segue exatamente o modelo do Whisper, AWS ou Google.
| Campo | Chaves reconhecidas | Uso no SRT |
|---|---|---|
| Tempo inicial | start, start_time, startTime, from, begin | vira o tempo inicial do bloco SRT |
| Tempo final | end, end_time, endTime, to, finish | vira o tempo final do bloco SRT |
| Texto | text, transcript, content, sentence, value | vira o texto visível da legenda |
| Falante | speaker, speaker_label, speaker_id, speakerTag | pode ser usado como prefixo antes do texto |
Muitos serviços de transcrição entregam informações de falante em campos como speaker, speaker_label, speakerTag ou semelhantes. Ao ativar “incluir rótulos de falante”, o conversor escreve essa informação diretamente no texto da legenda.
O formato SRT não tem um campo técnico próprio para falantes. Na prática, os falantes são salvos como prefixo de texto. Isso ajuda em entrevistas, podcasts, reuniões, cursos e gravações de suporte.
1
00:00:00,000 --> 00:00:02,200
Speaker 1: Bem-vindo à conversa.
2
00:00:02,300 --> 00:00:04,800
Speaker 2: Obrigado pelo convite.
A tabela abaixo mostra as estruturas que a ferramenta reconhece diretamente. Além disso, ela tenta detectar arrays genéricos com início, fim e texto.
| Provedor | Estrutura JSON típica | Compatível? | Observação |
|---|---|---|---|
| OpenAI Whisper | segments[] mit start, end, text | Sim, diretamente | Estrutura baseada em segmentos, ideal para saída SRT direta. |
| AWS Transcribe | results.items[] plus optional speaker_labels | Sim, diretamente | Dados palavra por palavra são agrupados em legendas legíveis. |
| Google Speech-to-Text | results[].alternatives[].words[] | Sim, diretamente | Listas de palavras com tempos em segundos são agrupadas e ordenadas. |
| JSON genérico | Array ou array aninhado com início, fim e texto | Sim, se os campos existirem | Funciona quando há campos claros de tempo e texto. |
Sim. A conversão roda localmente com JavaScript no seu navegador. O arquivo JSON não é enviado para nenhum servidor. Isso é importante porque transcrições frequentemente contêm reuniões internas, material de clientes, roteiros em rascunho ou vídeos ainda não publicados.
A ferramenta só consegue criar segmentos quando o JSON contém informações de tempo úteis. Um JSON apenas com texto, sem início e fim, não pode ser convertido com confiabilidade para SRT, pois SRT exige timestamps. Se o arquivo tiver apenas texto, use um conversor TXT para SRT ou sincronize o texto depois no Studio.
Transcrições JSON costumam vir de reconhecimento automático de fala. Vale conferir o SRT gerado quanto a timing, blocos vazios e legibilidade antes de publicar.
Escolha uma transcrição JSON do Whisper, AWS, Google ou de um sistema semelhante de fala para texto.
A ferramenta reconhece esquemas conhecidos e procura segmentos, listas de palavras, campos de tempo e informações opcionais de falante.
Baixe o SRT gerado e, se necessário, confira no SRT Validator ou no Studio.
São aceitas exportações típicas do OpenAI Whisper, AWS Transcribe e Google Cloud Speech-to-Text, além de arrays JSON genéricos com início, fim e texto.
Sim. Você pode escolher blocos curtos, normais ou longos. Isso é especialmente útil quando o JSON da AWS ou do Google traz dados palavra por palavra.
Sim. Se houver informação de falante no JSON, a ferramenta pode escrevê-la como prefixo no SRT final.
Sim. A conversão acontece totalmente no seu navegador. Nenhum arquivo é enviado para servidores.
SRT precisa de tempo inicial e final para cada bloco de legenda. Se o JSON contém apenas texto, faltam os dados de timing obrigatórios.
Sim. A ferramenta agrupa automaticamente palavras individuais e pontuação em blocos de legenda legíveis.
Confira timing, tamanho das frases, rótulos de falante e blocos vazios. Para erros técnicos, use o SRT Validator.