Обзор
Одно рукопожатие, один WebSocket. Аудио уходит сырым PCM, обратно приходит JSON. Эта страница — весь протокол.
Каждая сессия — это три шага. Рукопожатие выбирает узел, проверяет баланс и выпускает краткоживущий токен; WebSocket переносит аудио и результаты; закрытие сокета завершает поток.
API — это чистый realtime-канал. Если не передать store: true, ничего не сохраняется: после закрытия соединения аудио и транскрипта на нашей стороне больше нет.
Быстрый стартВсё, что нужно для рабочего потока: один HTTP-запрос за узлом и токеном, один WebSocket, сырой PCM наверх и JSON обратно.АутентификацияРукопожатие аутентифицируется API-ключом, созданным в панели; ключ показывается один раз при создании. Сам WebSocket аутентифицируется краткоживущим токеном из ответа рукопожатия, но не ключом.ПодключениеОтправьте POST с конфигурацией потока и получите URL узла, идентификатор сессии и токен.WebSocketОткройте WebSocket по возвращённому url. Токен передаётся как subprotocol, поскольку браузеры не умеют задавать заголовки при WebSocket-рукопожатии.СообщенияПосле session.ready отправляйте сырой PCM. Управляющие сообщения: finalize, stop, ping.РасшифровкаПодсказки по языкам, автоопределение и момент фиксации сегмента.ПереводОдна языковая пара на поток; направление определяется для каждого сегмента.ГоворящиеВключите разделение говорящих при рукопожатии — и каждый завершённый сегмент вернётся с меткой говорящего рядом с таймкодами.ГлоссарийСмещает распознавание к вашим терминам и закрепляет перевод названий.ИИ-доработка переводаВторой проход модели переписывает перевод с учётом контекста.Протокол в реальном времениПротокол формируется разделами, пока сессия ещё идёт.ТаймкодыstartMs и endMs в transcript.final и translation.final — это смещения в миллисекундах внутри аудио этого потока, считая от первого отправленного байта. При store: true это позиции в записи, которую можно скачать.ЗаписиЕсли поток шёл с store: true, аудио и транскрипт доступны 30 дней по подписанным ссылкам.Обрывы связиЗакрытый сокет означает, что поток завершён. Возобновления нет: вызовите connect снова — начнётся новый поток. У вашего клиента уже есть полученный текст; сервер его никогда не хранил.ОшибкиHTTP-ошибки возвращают JSON с полем code. Повторяйте только то, что помечено retryable.ЦеныЕдиный тариф на весь API: каждый поток округляется вверх до целых минут аудио.