Один API для транскрипции, перевода, субтитров и анализа
Большинство API распознавания речи отдают голый текст, а API Sonix возвращает транскрипт, который уже структурирован под то, что вы будете строить дальше.
Каждая возможность ниже доступна через документированный эндпоинт, так что полученный транскрипт можно превратить в субтитры, перевод, смонтированный аудиофрагмент или резюме, не выходя за пределы API.
Пакетная транскрипция
Отправьте файл методом POST на /v1/media или передайте file_url для всего, что больше 100MB, и Sonix транскрибирует его асинхронно. Укажите язык, добавьте keywords, чтобы распознавание точнее справлялось с именами и профессиональной лексикой, прикрепите custom_data со своими идентификаторами и задайте callback_url, чтобы Sonix сообщил вашему серверу, как только задача завершится или упадёт с ошибкой. Для записей, где каждый спикер записан на отдельный канал, есть многодорожечный эндпоинт с определением спикеров по каналам.
Перевод
Когда транскрипт готов, отправьте POST-запрос с кодом целевого языка на его эндпоинт переводов, и Sonix вернёт переведённый транскрипт на любом из 54+ языков. Эндпоинты транскриптов принимают параметр language, поэтому испанский SRT-файл английского интервью после завершения перевода получается одним GET-запросом.
Субтитры
Эндпоинты SRT и VTT возвращают файлы субтитров с полноценными настройками отображения: max_characters и max_duration ограничивают каждый субтитр, subtitle_lines задаёт одну или две строки, а speaker_display определяет, как показываются имена спикеров. Эндпоинт split перестраивает весь транскрипт в субтитры с ограничением скорости чтения max_cps, а эндпоинт вшивания накладывает субтитры прямо на видео с выбранными вами шрифтом, размером, цветом и соотношением сторон, включая 9:16 и 1:1 для соцсетей.
Экспорт и структурированные данные
Получайте любой транскрипт в JSON с временем начала и конца каждого слова и метками спикеров, обычным текстом, документом Word или PDF, готовым к отправке, в SRT или VTT, а также файлом Avid DS для видеомонтажёров. Эндпоинт экспорта медиа идёт ещё дальше: он нарезает само аудио или видео до ваших фрагментов или вырезает всё, что вы зачеркнули, в форматах MP3, WAV или MP4.
ИИ-анализ
Эндпоинт summarization анализирует готовый транскрипт: резюме с заданным вами числом предложений, главы, тональность, тематический анализ, извлечение сущностей или ваш собственный промпт, например «Напишите 5 рекламных твитов для этого подкаста».
Колбэки и вебхуки
Опрашивать сервер в цикле не нужно. Задачи транскрипции и summarization принимают callback_url, и Sonix отправляет на него POST-запрос со статусом задачи, когда работа завершена или завершилась ошибкой. Командам, которые автоматизируют процессы в больших масштабах, тарифы Pro и Enterprise добавляют вебхуки событий: подпишитесь на завершение транскрипции, завершение перевода, изменения меток и папок и применение редактирования конфиденциальных данных. Каждое событие подписано HMAC-SHA256 в заголовке X-Webhook-Signature, чтобы ваш сервер мог убедиться, что полезная нагрузка пришла именно от Sonix.
Потоковое распознавание
Для живых субтитров и распознавания речи с низкой задержкой у Sonix есть потоковый API на WebSocket. Он в раннем доступе для корпоративных команд; запросить доступ можно на странице транскрипции в реальном времени. Пакетная транскрипция уже сегодня полностью задокументирована и доступна без участия менеджера.
От аудиофайла до транскрипта за три вызова API
Авторизуйтесь с Bearer-токеном на https://api.sonix.ai/v1, отправьте файл, затем получите транскрипт в нужном формате.
Отправьте файл
Передайте медиафайл как multipart form data с указанием языка, названия и, при желании, keywords и custom_data:
curl -XPOST https://api.sonix.ai/v1/media -H "Authorization: Bearer <API Key>" \
-F file=@my_audio.mp3 \
-F language=en \
-F name='Podcast Episode 45' \
-F keywords='Sonix, Bergamasco, Kairos, Chewbacca' \
-F custom_data='{"internal_id": "123412", "customer_email": "[email protected]"}'Проверьте статус или дождитесь колбэка
Опрашивайте объект media, пока его статус не станет completed, или пропустите этот шаг и дождитесь вызова на ваш callback_url:
curl -XGET https://api.sonix.ai/v1/media/qmnY1nD5 -H "Authorization: Bearer <API Key>"Получите транскрипт с тайм-кодами
Запросите транскрипт в JSON или замените расширение на .srt, .vtt или обычный текст:
curl -XGET https://api.sonix.ai/v1/media/qmnY1nD5/transcript.json -H "Authorization: Bearer <API Key>"Запись на нескольких языках? Укажите language=multi и перечислите ожидаемые языки в language_hints. Полный справочник параметров, тела ответов и коды ошибок вы найдёте в документации API.