API распознавания речи
Формат запроса и ответа повторяет Deepgram, поэтому официальные SDK работают без изменений. В существующей интеграции меняются адрес сервиса и ключ.
Быстрый старт
Отправка записи
Аудио передаётся телом запроса, авторизация идёт заголовком Authorization со схемой Token.
from deepgram import DeepgramClient, DeepgramClientOptions
client = DeepgramClient(
"ВАШ_КЛЮЧ",
DeepgramClientOptions(url="https://api.vtext38.ru"),
)
with open("recording.mp3", "rb") as audio:
response = client.listen.rest.v("1").transcribe_file(
{"buffer": audio},
{"smart_format": True, "diarize": True, "utterances": True},
)
print(response.results.channels[0].alternatives[0].transcript)Справочник
Параметры запроса
| Параметр | Назначение |
|---|---|
| punctuate | Знаки препинания и заглавные буквы. |
| smart_format | Форматирование текста для чтения. |
| diarize | Разделение по говорящим для записи в моно. |
| multichannel | Разделение по каналам стереозаписи. Для телефонии точнее, чем диаризация. |
| utterances | Разбивка на реплики по паузам и смене говорящего. |
| paragraphs | Дополнительная разбивка реплик на предложения. |
Имя модели принимается любое и на результат не влияет: перенесённый код не должен падать из-за строки nova-3 в параметрах. Язык поддерживается один, русский.
Расхождения
Чем мы отличаемся от Deepgram
О них лучше прочитать здесь, чем встретить их на боевом трафике.
Ограничения
Длинные записи
Синхронный запрос удерживает соединение до десяти минут обработки. Считается именно обработка: при обычных параметрах в неё помещается примерно сорок минут аудио, а с разделением по говорящим меньше.
Обратный вызов, которым Deepgram отдаёт результат по готовности, у нас ещё не открыт: запрос с параметром callback обрабатывается как обычный синхронный. Пока длинные записи надёжнее загружать через кабинет, там расшифровка идёт в фоне и длина файла ничем не ограничена.
Базовый адрес сервиса: https://api.vtext38.ru.
Ключ выдаётся сразу после регистрации
15 минут распознавания начислим сразу, отдельного тарифа для API нет — минуты те же, что и в кабинете.