[Документация Yandex Cloud](../../index.md) > [speechkit](../index.md) > [Распознавание речи](index.md) > Распознавание аудиофайлов > Асинхронное распознавание

# Асинхронное распознавание

Асинхронное распознавание позволяет преобразовывать в текст многоканальные аудиофайлы следующих характеристик:
* Максимальная длительность записи — 4 часа.
* Максимальный размер файла — 1 ГБ.

Результаты распознавания хранятся на сервере 3 суток, после чего вы не сможете их получить.

Асинхронное распознавание не подходит для распознавания диалога в режиме реального времени. Если вам нужны промежуточные результаты и минимальное время ответа, используйте [потоковое распознавание](streaming.md).

Список поддерживаемых языков смотрите в разделе [Поддерживаемые языки распознавания](models.md#languages).

## Режимы работы асинхронного распознавания {#modes}

[Асинхронное распознавание](transcribation.md) доступно в двух режимах:
1. В стандартном режиме распознавание обрабатывается в очереди со стандартным приоритетом. Режим работает при выборе модели `general`.
1. В отложенном режиме аудиофайл для распознавания попадает в очередь с низким приоритетом и обрабатывается в наименее нагруженное время. На отложенное распознавание действуют [специальные тарифы](../pricing.md#prices-stt). Для распознавания в отложенном режиме укажите модель `deferred-general`.

И в стандартном, и в отложенном режиме асинхронное распознавание может длиться от нескольких минут до 24 часов. Точное время обработки зависит от размера файла и загруженности сервиса.

## Как асинхронно распознать предзаписанное аудио {#async-recognition}


{% note info %}

В [регионе Казахстан](../../overview/concepts/region.md) доступна только версия API v3.

{% endnote %}


Для асинхронного распознавания речи используются API v2 и v3 SpeechKit. Чтобы распознать предзаписанное аудио:

1. [Создайте сервисный аккаунт](../../iam/operations/sa/create.md).
1. [Назначьте ему роли](../../iam/operations/sa/assign-role-for-sa.md):

   * `ai.speechkit-stt.user` — для распознавания речи;
   * `storage.uploader` — для загрузки аудиофайла в [бакет Yandex Object Storage](../../storage/concepts/bucket.md);
   * (Опционально) `storage.configurer`, `kms.keys.encrypter` и `kms.keys.decrypter` — для шифрования и расшифровки объектов в бакете. Эти роли нужны, только если вы используете [шифрование в Object Storage](../../storage/concepts/encryption.md).

1. Получите [IAM-токен](../../iam/operations/iam-token/create-for-sa.md) или [API-ключ](../../iam/operations/authentication/manage-api-keys.md#create-api-key) для вашего сервисного аккаунта, они понадобятся для аутентификации в API.
1. [Создайте бакет Yandex Object Storage](../../storage/operations/buckets/create.md).
1. [Загрузите аудиофайл в бакет](../../storage/operations/objects/upload.md).
1. [Получите ссылку](../../storage/operations/objects/link-for-download.md) на загруженный файл.

   Для бакета с ограниченным доступом в ссылке присутствуют дополнительные query-параметры (после знака `?`). Эти параметры не нужно передавать в SpeechKit — они игнорируются.

1. Отправьте API-запрос на распознавание файла через [gRPC API](../stt-v3/api-ref/grpc/AsyncRecognizer/index.md) или [REST API](../stt-v3/api-ref/AsyncRecognizer/index.md). В теле запроса передайте ссылку на аудиофайл. В HTTP-заголовке укажите данные аутентификации:

   * `Authorization: Bearer <IAM-токен>` — для аутентификации с IAM-токеном;
   * `Authorization: Api-Key <API-ключ>` — для аутентификации с API-ключом.

   В ответе на запрос возвращается идентификатор операции распознавания. Сохраните его — он понадобится в следующем запросе.

   {% note warning %}

   Результаты хранятся на сервере 3 суток. После этого вы не сможете запросить результаты распознавания, используя полученный идентификатор.

   {% endnote %}

1. Подождите, пока закончится распознавание. Одна минута одноканального аудио распознается примерно за 10 секунд.
1. Отправьте API-запрос на получение результатов распознавания:
   * при помощи [API v2](api/transcribation-api.md#get-result);
   * при помощи [API v3](../stt-v3/api-ref/AsyncRecognizer/getRecognition.md):
       * [REST](../stt-v3/api-ref/AsyncRecognizer/getRecognition.md);
       * [gRPC](../stt-v3/api-ref/grpc/AsyncRecognizer/getRecognition.md).

   В HTTP-заголовке укажите те же данные аутентификации.

   Результаты содержат распознанный текст целиком и список распознанных слов.


## Примеры использования {#examples}

* [Асинхронное распознавание аудиофайлов в формате LPCM в API v2](api/transcribation-lpcm.md)
* [Асинхронное распознавание аудиофайлов в формате OggOpus в API v2](api/transcribation-ogg.md)
* [Асинхронное распознавание аудиофайлов в формате WAV в API v3](api/transcribation-api-v3.md)
* [Регулярное асинхронное распознавание аудиофайлов из Yandex Object Storage](api/batch-transcribation.md)