Быстрый старт
Узнайте, как превратить ваше аудио в текст. Вы можете скопировать всю страницу документации в ChatGPT, нажав на кнопку выше.
API Аудио предоставляет один endpoint для преобразования речи в текст:
transcriptions
Загрузка файлов ограничена 1 ГБ (если вам нужна поддержка файлов большего размера, вы можете написать в Поддержку). Поддерживаются следующие типы файлов: mp3
, wav
, m4a
, flac
, ogg
, opus
, mp4
, mov
, avi
и mkv
. Также, поддерживается отправка файлов по их ссылкам и нейронное разделение на говорящих (диаризация).
Транскрибация
API транскрибации принимает на вход аудио (или видео) файл, который вы хотите транскрибировать (либо ссылку на этот файл), и желаемый формат вывода. Модель поддерживает следующие форматы вывода (json
, text
, srt
, verbose_json
, vtt
). Подробнее о форматах вывода читайте на странице Форматы ответа.
По умолчанию тип ответа будет json
:
Поддерживаемые языки
В настоящее время мы поддерживаем следующие языки через endpoint /transcriptions
:
Африкаанс, Арабский, Армянский, Азербайджанский, Белорусский, Боснийский, Болгарский, Каталанский, Китайский, Хорватский, Чешский, Датский, Нидерландский, Английский, Эстонский, Финский, Французский, Галисийский, Немецкий, Греческий, Иврит, Хинди, Венгерский, Исландский, Индонезийский, Итальянский, Японский, Каннада, Казахский, Корейский, Латышский, Литовский, Македонский, Малайский, Маратхи, Маори, Непальский, Норвежский, Персидский, Польский, Португальский, Румынский, Русский, Сербский, Словацкий, Словенский, Испанский, Суахили, Шведский, Тагальский, Тамильский, Тайский, Турецкий, Украинский, Урду, Вьетнамский и Валлийский.
Хотя модель была обучена на 98 языках, список выше содержит только языки, у которых Word Error Rate (WER) не больше 50%. Полный список языков и их кодов в формате ISO-639-1 смотрите на странице Supported Languages.
Временные метки
Чтобы получить временные метки вместе с результатом, вы можете использовать параметр timestamp_granularities[]
. Для того, чтобы использовать эту функцию, установите verbose_json
в параметре response_format
. Для получения более подробной информации посетите Документацию API.
В настоящее время доступны два уровня детализации временных меток:
-
Уровень
segment
:- Как запросить: Добавьте параметр
timestamp_granularities[]='segment'
в API-запрос вместе сresponse_format='verbose_json'
. - Что возвращается: В ответе формата
verbose_json
будет массивsegments
. Каждый элемент этого массива представляет собой 30-секундный фрагмент аудио и содержит:- время начала (
start
), - время окончания (
end
), - транскрибированный текст (
text
) для данного сегмента.
- время начала (
- Как запросить: Добавьте параметр
-
Уровень
word
:- Как запросить: Добавьте
timestamp_granularities[]='word'
в запрос (также сresponse_format='verbose_json'
). - Что возвращается: Это самый подробный уровень временных меток. В ответе вы получите:
- Массив
words
, где каждый объект содержит отдельное слово с точными временами начала (start
) и окончания (end
) в секундах. - Массив
segments
, как и при сегментной детализации. Даже если вы запрашиваете уровеньword
, структураsegments
всё равно включается в ответ — это позволяет получить как точные метки слов, так и более широкие сегменты в одном ответе.
- Массив
- Как запросить: Добавьте
В итоге:
- Используйте
segment
, если вам нужно примерное разбиение по времени. - Используйте
word
, если вам нужны точные времена начала/конца для отдельных слов. Запрос гранулярностиword
удобно предоставляет как массивwords
, так и массивsegments
. - Помните, что для обоих вариантов нужен
response_format='verbose_json'
.
Пример вывода:
Форматы ответа
API Nexara позволяет указать формат, в котором вы хотите получить результаты. Используя параметр response_format
в вашем запросе, вы можете настроить вывод так, чтобы он наилучшим образом соответствовал вашим потребностям, будь то простой текст, структурированные данные или готовые к использованию файлы субтитров. Примеры смотрите в документации API.
API поддерживает следующие форматы вывода:
json
: Возвращает стандартный JSON-объект, содержащий транскрибированный текст.text
: Возвращает транскрипцию в виде одной строки простого текста.verbose_json
: Возвращает подробный JSON-объект, содержащий текст, язык, продолжительность, а также, возможно, временные метки на уровне сегментов и слов (если запрошено черезtimestamp_granularities[]
).srt
: Возвращает транскрипцию, отформатированную как файл субтитров SRT.vtt
: Возвращает транскрипцию, отформатированную как файл субтитров WebVTT.
srt
или vtt
) не используйте response.text
если делаете запрос через request
библиотеку в Python. Используйте response.json
, как и для остальных форматов ответа.Диаризация
API Nexara поддерживает нейронное разделение на говорящих (диаризацию). Диаризация — это процесс разделения аудио на отдельные голоса, иными словами, определение, кто, когда и что говорит.
Также вы можете использовать параметр num_speakers
для указания количества говорящих в аудиофайле. Обратите внимание, что этот параметр не гарантирует, что вы получите ровно столько говорящих, сколько указали вы, но помогает модели определить, сколько говорящих в аудиофайле.
Модель поддерживает три режима диаризации:
general
: Общий режим.meeting
: Режим для встреч.telephonic
: Режим для телефонных разговоров.
Обратите внимение, что диаризация - более ресурсоемкая операция, чем транскрибация. Поэтому, время выполнения запроса может быть больше, чем при транскрибации. Стоимость минуты аудио при диаризации - 0,72 ₽ / мин.
Ответ содержит следующие поля:
task
: Тип задачи.language
: Язык аудиофайла.duration
: Продолжительность аудиофайла.text
: Транскрибированный текст.segments
: Сегменты аудиофайла с информацией о начале, конце сегмента, ID говорящего и тексте, который он сказал.
Когда вы запрашиваете диаризацию, API всегда будет возвращать следующий JSON, вне зависимости от параметра response_format
.
Обратите внимание, что Nexara не поддерживает канальную диаризацию. Это означает, что API будет игнорировать стерео информацию и идентифицировать говорящих на основе содержимого аудиофайла.