IVA ДОКУМЕНТАЦИЯ ОБНОВЛЕНИЯ

Транскрибация аудиофайлов через API

Начиная с версии IVA Terra 6.0, аудиофайл завершенной записи можно отправить на транскрибацию одним запросом и затем получить результат по идентификатору задачи. Для обработки звука текущего мероприятия используются методы /process и /minutes.

Отправка файла

Метод: POST /api/v1/transcriptions.

Тип содержимого запроса: multipart/form-data.

Поле Обязательное Описание

token

да

ключ доступа клиента

audiofile

да

аудиофайл

diarization

нет

разделение речи по голосам. По умолчанию false

identify_speakers

нет

определение имен говорящих по содержанию записи. Применяется вместе с diarization, по умолчанию false

Поддерживаются файлы форматов WAV, MP3, M4A, OGG и FLAC. Допустимая длительность записи — до 5 часов, размер запроса — до 500 МБ.

Для длинных записей рекомендуется сжатый формат. Пятичасовой WAV-файл может превышать ограничение по размеру

Пример запроса:

curl -k -X POST "https://<TERRA_IP>:9001/api/v1/transcriptions" \
  -F "token=<TOKEN>" \
  -F "diarization=true" \
  -F "audiofile=@meeting.mp3"

где:
<TERRA_IP> — адрес сервера IVA Terra
<TOKEN> — ключ доступа клиента

Ответ со статус-кодом 202 содержит идентификатор задачи в поле id, состояние processing, длительность записи в секундах и имя файла.

Получение результата

Метод: GET /api/v1/transcriptions/<TASK_ID>.

Путь: /api/v1/transcriptions/<TASK_ID>.

В параметре token передается ключ клиента, в параметре format — требуемый формат результата: json (по умолчанию), txt или xml.

Пример запроса:

curl -k "https://<TERRA_IP>:9001/api/v1/transcriptions/<TASK_ID>?token=<TOKEN>&format=json"

где:
<TERRA_IP> — адрес сервера IVA Terra
<TASK_ID> — идентификатор задачи из ответа на запрос отправки файла
<TOKEN> — ключ доступа клиента

Пока запись обрабатывается, поле status содержит значение processing. После завершения обработки оно принимает значение done или failed. Рекомендуемый интервал повторных запросов — от 10 до 30 секунд.

В результате json содержатся сведения о спикерах и фрагменты стенограммы. У каждого фрагмента есть начало и конец в секундах от начала записи, спикер и текст. При включенном identify_speakers вместо обозначения Спикер N подставляется ФИО, если его удалось определить. Результат txt содержит реплики строками, а xml соответствует формату метода /minutes.

HTTP-код 200 означает, что запрос состояния задачи выполнен успешно. Результат обработки аудиофайла указывается в поле status JSON-ответа. Если обработка завершилась с ошибкой, это поле содержит значение failed.

Коды ответов

Код Значение

200

состояние задачи получено. Результат определяется полем status

202

файл принят, задача создана

400

некорректный файл, превышена длительность записи или запрошен неизвестный формат результата

403

неверный ключ доступа, неразрешенный адрес или запрос к чужой задаче

404

задача с указанным идентификатором не найдена или срок хранения результата истек

413

размер запроса превышает 500 МБ

5xx

сервис недоступен

Срок хранения аудио и результата определяется настройками IVA Terra. Один файл создает одну задачу с собственным идентификатором.