Синхронная и асинхронная обработка
Узнайте, когда нужно использовать синхронный режим, а когда — асинхронный.
Nexara API предлагает два режима обработки аудио. Они принимают одни и те же параметры, но по-разному возвращают результат: синхронный режим возвращает готовую транскрипцию прямо в ответе, держа соединение открытым все время обработки, а асинхронный — сразу возвращает идентификатор задачи, результат которой вы забираете позже.
Синхронная обработка
POST /v1/audio/transcriptions — соединение остаётся открытым, пока
файл обрабатывается, и результат приходит в теле ответа. Подходит для
коротких аудио.
Асинхронная обработка
POST /v1/audio/transcriptions/async — запрос сразу возвращает
job_id, а обработка идёт в фоне. Готовый результат забирается опросом по
job_id. Подходит для длинных файлов и пакетной обработки.
Синхронная обработка
Отправьте аудио на POST /v1/audio/transcriptions. Соединение удерживается до конца обработки, после чего в ответе возвращается готовый текст.
curl https://api.nexara.ru/v1/audio/transcriptions \
-H "Authorization: Bearer nx-XXXXXXXXXXXXXXXXXXXXXXXX" \
-F "file=@audio.mp3" \
-F "model=whisper-1"Ответ содержит результат сразу:
{
"text": "Привет! Это пример транскрибации."
}Синхронный режим — это самый простой способ использовать API: один запрос, один ответ. Он оптимален для коротких записей, где время обработки невелико.
Для длинных файлов синхронный запрос держит HTTP-соединение открытым всё время обработки, что чувствительно к сетевым таймаутам на стороне клиента и прокси. Для продолжительного аудио рекомендуется использовать асинхронный режим.
Асинхронная обработка
Асинхронный режим разбивает работу на два шага: постановку задачи и получение результата.
Шаг 1. Поставить задачу
Отправьте аудио на POST /v1/audio/transcriptions/async. Запрос принимает те же параметры, что и синхронный, но возвращается сразу, не дожидаясь обработки.
curl https://api.nexara.ru/v1/audio/transcriptions/async \
-H "Authorization: Bearer nx-XXXXXXXXXXXXXXXXXXXXXXXX" \
-F "file=@long-audio.mp3" \
-F "model=whisper-1"В ответ приходит идентификатор задачи и её статус:
{
"job_id": "5f1c2e3a-...",
"status": "in_progress",
"created_at": "2026-07-13T10:00:00+00:00"
}Сохраните job_id — по нему вы будете забирать результат.
Шаг 2. Опросить статус
Отправляйте запросы на GET /v1/audio/transcriptions/async/{job_id}, пока задача не завершится.
curl https://api.nexara.ru/v1/audio/transcriptions/async/5f1c2e3a-... \
-H "Authorization: Bearer nx-XXXXXXXXXXXXXXXXXXXXXXXX"Так выглядит ответ API пока задача выполняется:
{
"job_id": "5f1c2e3a-...",
"status": "in_progress",
"created_at": "2026-07-13T10:00:00+00:00",
"completed_at": null,
"result": null,
"error": null
}А так — когда ответ получен:
{
"job_id": "5f1c2e3a-...",
"status": "complete",
"created_at": "2026-07-13T10:00:00+00:00",
"completed_at": "2026-07-13T10:01:12+00:00",
"result": {
"text": "Привет! Это пример транскрибации."
},
"error": null
}После завершения в поле result появляется готовый текст расшифровки. Поле result может содержать любые форматы ответа.
После генерации ответа, результат хранится на сервере в течение 12 часов, а потом удаляется безвозвратно.
Статусы задачи
in_progress: задача поставлена в очередь или обрабатывается. Полеresultпустое;complete: обработка завершена успешно. Результат находится в полеresult, а время завершения — вcompleted_at.error: обработка завершилась ошибкой. Описание причины находится в полеerror.
Что выбрать
Выбирайте синхронный режим
для коротких записей, интерактивных сценариев и быстрой интеграции, когда важно получить результат одним запросом.
Выбирайте асинхронный режим
для длинных файлов и пакетной обработки, чтобы не держать открытым HTTP-соединение и не упираться в клиентские таймауты.
Оба режима ограничены частотой 10 запросов в секунду. Для асинхронного режима действует дополнительный лимит — не более 200 одновременно выполняющихся задач на один API-ключ. Подробнее читайте на странице лимитов.