Загрузите JSON-файл с транскриптом, инструмент автоматически определит структуру и экспортирует чистый SRT с таймкодами, текстом и при необходимости метками спикеров.
JSON-файл конвертируется локально в вашем браузере. Загрузка на сервер не требуется.
Автоматически созданные SRT-файлы стоит быстро валидировать, а для важных видео — визуально проверить тайминг.
Сервисы распознавания речи, такие как OpenAI Whisper, AWS Transcribe и Google Cloud Speech-to-Text, часто выдают не готовые субтитры, а JSON-файлы. В них могут быть таймкоды, слова, фразы, альтернативные варианты и данные о говорящих. Конвертер читает эту структуру, извлекает время начала, время окончания и текст, а затем создает стандартный файл SubRip в формате SRT.
Сырой JSON нельзя напрямую загрузить на YouTube или надежно импортировать в Adobe Premiere, DaVinci Resolve или Final Cut Pro. Сначала данные нужно превратить в линейную дорожку субтитров: номер блока, начало, конец и видимый текст. Этот инструмент выполняет преобразование автоматически.
Здесь показаны реальные API-структуры, а не только простой мини-конвертер. Так проще понять, похож ли ваш JSON на поддерживаемый формат и почему из него можно получить корректный SRT.
Экспорты Whisper часто содержат массив segments. Каждый элемент обычно включает start, end и text, что удобно напрямую переводится в SRT-блоки.
{
"segments": [
{ "start": 0.00, "end": 2.40, "text": "Добро пожаловать в видео." },
{ "start": 2.40, "end": 5.10, "text": "Сегодня мы покажем рабочий процесс." }
]
}
1
00:00:00,000 --> 00:00:02,400
Добро пожаловать в видео.
2
00:00:02,400 --> 00:00:05,100
Сегодня мы покажем рабочий процесс.
AWS Transcribe часто возвращает отдельные слова и знаки препинания в results.items. Инструмент группирует эти данные в читаемые блоки субтитров и может сохранить метки спикеров.
{
"results": {
"items": [
{ "type": "pronunciation", "start_time": "0.00", "end_time": "0.55", "alternatives": [{ "content": "Привет" }], "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: Привет Maik.
Google Speech-to-Text обычно хранит слова в results[].alternatives[].words[]. Время начала и окончания часто записано в секундах с суффиксом s, например 1.200s.
{
"results": [
{
"alternatives": [
{
"words": [
{ "startTime": "0s", "endTime": "0.700s", "word": "Это", "speakerTag": 1 },
{ "startTime": "0.700s", "endTime": "1.400s", "word": "работает", "speakerTag": 1 }
]
}
]
}
]
}
1
00:00:00,000 --> 00:00:01,400
Speaker 1: Это работает
JSON — это формат данных, а не формат субтитров. Поэтому разные провайдеры используют разные имена полей. Конвертер проверяет распространенные варианты ключей и умеет искать во вложенных массивах, если файл не полностью совпадает со схемой Whisper, AWS или Google.
| Поле | Распознаваемые ключи | Использование в SRT |
|---|---|---|
| Время начала | start, start_time, startTime, from, begin | становится временем начала SRT-блока |
| Время окончания | end, end_time, endTime, to, finish | становится временем окончания SRT-блока |
| Текст | text, transcript, content, sentence, value | становится видимым текстом субтитра |
| Спикер | speaker, speaker_label, speaker_id, speakerTag | может быть добавлен как префикс перед текстом |
Многие сервисы транскрипции передают информацию о говорящем через поля speaker, speaker_label, speakerTag или похожие. Если включить опцию «добавлять метки спикеров», конвертер запишет эту информацию прямо в текст субтитра.
В SRT нет отдельного технического поля для спикера. Поэтому на практике имя или метка говорящего сохраняется как текстовый префикс. Это удобно для интервью, подкастов, встреч, курсов и записей поддержки.
1
00:00:00,000 --> 00:00:02,200
Speaker 1: Добро пожаловать к разговору.
2
00:00:02,300 --> 00:00:04,800
Speaker 2: Спасибо за приглашение.
В таблице показаны структуры, которые инструмент распознает целенаправленно. Дополнительно он пытается автоматически найти универсальные массивы с началом, окончанием и текстом.
| Провайдер | Типичная структура JSON | Поддерживается? | Примечание |
|---|---|---|---|
| OpenAI Whisper | segments[] mit start, end, text | Да, напрямую | Сегментная структура, идеально подходит для прямого вывода в SRT. |
| AWS Transcribe | results.items[] plus optional speaker_labels | Да, напрямую | Данные по словам группируются в читаемые блоки субтитров. |
| Google Speech-to-Text | results[].alternatives[].words[] | Да, напрямую | Списки слов с временем в секундах группируются и сортируются. |
| Универсальный JSON | Массив или вложенный массив с start, end и text | Да, если поля есть | Работает, если есть понятные поля времени и текста. |
Да. Конвертация выполняется локально через JavaScript в вашем браузере. JSON-файл не отправляется на сервер. Это важно, потому что транскрипты часто содержат внутренние встречи, клиентские материалы, черновики сценариев или еще не опубликованные видео.
Инструмент может создавать сегменты только тогда, когда в JSON есть пригодные временные данные. JSON только с текстом, без времени начала и окончания, нельзя надежно преобразовать в SRT, потому что SRT обязательно требует таймкоды. Если файл содержит только текст, используйте конвертер TXT в SRT или синхронизируйте текст позже в Studio.
JSON-транскрипты часто создаются автоматическим распознаванием речи. Поэтому стоит проверить полученный SRT: тайминг, пустые блоки и читаемость.
Выберите JSON-транскрипт из Whisper, AWS, Google или похожей speech-to-text системы.
Инструмент распознает известные схемы и ищет сегменты, списки слов, поля времени и необязательные сведения о спикерах.
Скачайте созданный SRT-файл и при необходимости проверьте его в SRT Validator или Studio.
Поддерживаются типичные экспорты OpenAI Whisper, AWS Transcribe и Google Cloud Speech-to-Text, а также универсальные JSON-массивы с началом, окончанием и текстом.
Да. Можно выбрать короткие, обычные или длинные блоки. Это особенно полезно, если JSON от AWS или Google содержит отдельные слова.
Да. Если в JSON есть сведения о говорящих, инструмент может добавить их как текстовый префикс в SRT.
Да. Конвертация полностью выполняется в вашем браузере. Файл не отправляется на сервер.
SRT требует время начала и окончания для каждого блока. Если JSON содержит только текст, необходимых данных тайминга нет.
Да. Инструмент автоматически группирует отдельные слова и знаки препинания в читаемые блоки субтитров.
Проверьте тайминг, длину фраз, метки спикеров и пустые блоки. Для технических ошибок используйте SRT Validator.