{"name":"Yandex SpeechKit API","vendor":"Яндекс","industry":"ai","summary":"API распознавания и синтеза речи Yandex SpeechKit (Yandex Cloud / AI Studio). Синхронное распознавание коротких аудио (до 30 секунд), асинхронное распознавание длинных файлов из Object Storage (до 4 часов) и синтез речи из текста или SSML. Описаны REST-методы API v1 и v2; потоковое распознавание и синтез API v3 работают через gRPC и в этот файл не вошли.","docsUrl":"https://aistudio.yandex.ru/ru/docs/speechkit/","coverage":{"included":[],"excluded":[]},"scenarios":[{"id":"raspoznat-korotkoe-golosovoe-soobschenie","title":"Распознать короткое голосовое сообщение","summary":"Голосовые сообщения в боте, голосовой поиск, короткие команды — аудио до 30 секунд.","steps":["Создай сервисный аккаунт с ролью ai.speechkit-stt.user и API-ключ; передавай его в заголовке Authorization: Api-Key <ключ>. С пользовательским аккаунтом (IAM-токен) нужен ещё параметр folderId.","Отправь аудио: POST /speech/v1/stt:recognize на stt.api.cloud.yandex.net — в теле двоичное содержимое файла (до 1 МБ, до 30 секунд, один канал), в строке запроса lang = ru-RU и format.","Голосовые из Telegram и большинства мессенджеров — OggOpus, это формат по умолчанию. Для «сырого» PCM передай format = lpcm и sampleRateHertz.","Распознанный текст — в поле result. Числа по умолчанию приходят цифрами; число тарифицированных единиц — в заголовке YaCloud-Billing-Units."],"code":"curl -X POST \"https://stt.api.cloud.yandex.net/speech/v1/stt:recognize?lang=ru-RU&format=oggopus\" \\\n  -H \"Authorization: Api-Key $YANDEX_API_KEY\" \\\n  --data-binary @voice.ogg\n# → {\"result\": \"привет хочу заказать доставку на завтра\"}","language":"bash","methods":["POST /speech/v1/stt:recognize"]},{"id":"rasshifrovat-dlinnuyu-zapis-razgovora","title":"Расшифровать длинную запись разговора","summary":"Расшифровки звонков колл-центра, интервью, совещаний — файлы до 4 часов.","steps":["Асинхронное распознавание доступно только сервисному аккаунту с ролями ai.speechkit-stt.user и storage.uploader.","Загрузи файл в бакет Yandex Object Storage и получи ссылку на него.","Запусти распознавание: POST /speech/stt/v2/longRunningRecognize на transcribe.api.cloud.yandex.net с config.specification (languageCode, audioEncoding — OGG_OPUS, MP3 или LINEAR16_PCM) и audio.uri — ссылкой на файл. В ответе — ID операции.","Забирай результат: GET /operations/{operationId} на operation.api.cloud.yandex.net. Минута одноканального аудио распознаётся примерно за 10 секунд — не опрашивай слишком часто. Результат хранится 3 дня.","Для стерео-записи звонков с LPCM укажи audioChannelCount — каналы распознаются раздельно."],"code":"OP=$(curl -s -X POST https://transcribe.api.cloud.yandex.net/speech/stt/v2/longRunningRecognize \\\n  -H \"Authorization: Api-Key $YANDEX_API_KEY\" -H 'Content-Type: application/json' \\\n  -d '{\n        \"config\": {\"specification\": {\"languageCode\": \"ru-RU\", \"audioEncoding\": \"MP3\"}},\n        \"audio\": {\"uri\": \"https://storage.yandexcloud.net/<бакет>/calls/2026-10-24-call-1042.mp3\"}\n      }' | jq -r .id)\n\ncurl https://operation.api.cloud.yandex.net/operations/$OP -H \"Authorization: Api-Key $YANDEX_API_KEY\"","language":"bash","methods":["POST /speech/stt/v2/longRunningRecognize","GET /operations/{operationId}"]},{"id":"ozvuchit-tekst","title":"Озвучить текст","summary":"Голосовые ответы бота, озвучка уведомлений и IVR-меню.","steps":["Отправь текст: POST /speech/v1/tts:synthesize на tts.api.cloud.yandex.net. Параметры передаются URL-кодированными в теле: text (до 5000 символов) или ssml, voice, speed (0.1–3.0) и format (oggopus, mp3 или lpcm).","Ответ — сразу аудиофайл в выбранном формате, сохрани его или отдай пользователю.","Для пауз, ударений и интонации используй ssml вместо text. Эмоциональную окраску задаёт emotion — доступность зависит от голоса.","Лимит — 40 запросов в секунду."],"code":"curl -X POST https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize \\\n  -H \"Authorization: Api-Key $YANDEX_API_KEY\" \\\n  --data-urlencode 'text=Ваш заказ номер тысяча сорок два передан курьеру.' \\\n  -d lang=ru-RU -d voice=alena -d speed=1.0 -d format=mp3 \\\n  -o speech.mp3","language":"bash","methods":["POST /speech/v1/tts:synthesize"]}],"baseUrls":[{"label":"Синхронное распознавание","url":"https://stt.api.cloud.yandex.net"},{"label":"Асинхронное распознавание","url":"https://transcribe.api.cloud.yandex.net"},{"label":"Синтез речи","url":"https://tts.api.cloud.yandex.net"},{"label":"Операции","url":"https://operation.api.cloud.yandex.net"}],"auth":{"type":"bearer","description":"- IAM-токен: `Authorization: Bearer <IAM-токен>`\n- API-ключ сервисного аккаунта: `Authorization: Api-Key <API-ключ>`\n\nПри авторизации пользовательским аккаунтом нужен параметр `folderId`; для сервисного аккаунта он не используется. Асинхронное распознавание доступно только сервисным аккаунтам (роли `ai.speechkit-stt.user` и `storage.uploader`).","example":""},"methods":[{"id":"POST /speech/v1/stt:recognize","title":"Синхронное распознавание","httpMethod":"POST","path":"/speech/v1/stt:recognize","description":"Тело — двоичное содержимое аудиофайла: до 1 МБ, до 30 секунд, один канал.","params":[{"name":"lang","in":"query","type":"string","required":false,"description":"Язык распознавания, по умолчанию ru-RU"},{"name":"topic","in":"query","type":"string","required":false,"description":"Языковая модель, по умолчанию general"},{"name":"profanityFilter","in":"query","type":"boolean","required":false,"description":"Исключать ненормативную лексику, по умолчанию false"},{"name":"rawResults","in":"query","type":"boolean","required":false,"description":"Числа прописью (true) или цифрами (false, по умолчанию)"},{"name":"format","in":"query","type":"string","required":false,"description":"lpcm (без WAV-заголовка) или oggopus (по умолчанию)"},{"name":"sampleRateHertz","in":"query","type":"integer","required":false,"description":"48000 (по умолчанию), 16000 или 8000; только для lpcm"},{"name":"folderId","in":"query","type":"string","required":false,"description":"ID каталога (для пользовательского аккаунта)"}],"requestExample":"","responseExample":"HTTP/1.1 200 OK\nYaCloud-Billing-Units: 15\n{\n  \"result\": \"твой номер 212-85-06\"\n}","docsUrl":""},{"id":"POST /speech/stt/v2/longRunningRecognize","title":"Асинхронное распознавание","httpMethod":"POST","path":"/speech/stt/v2/longRunningRecognize","description":"Хост `transcribe.api.cloud.yandex.net`. Возвращает ID операции; результат хранится 3 дня.","params":[{"name":"config.specification.languageCode","in":"body","type":"string","required":false,"description":"Язык, по умолчанию ru-RU"},{"name":"config.specification.model","in":"body","type":"string","required":false,"description":"Модель, по умолчанию general; влияет на стоимость"},{"name":"config.specification.profanityFilter","in":"body","type":"boolean","required":false,"description":"Маскировать ненормативную лексику"},{"name":"config.specification.literature_text","in":"body","type":"boolean","required":false,"description":"Режим нормализации текста"},{"name":"config.specification.audioEncoding","in":"body","type":"string","required":false,"description":"LINEAR16_PCM, OGG_OPUS (по умолчанию) или MP3"},{"name":"config.specification.sampleRateHertz","in":"body","type":"integer","required":false,"description":"48000 (по умолчанию), 16000, 8000; обязателен для LINEAR16_PCM"},{"name":"config.specification.audioChannelCount","in":"body","type":"integer","required":false,"description":"Число каналов, только для LPCM, по умолчанию 1"},{"name":"config.specification.rawResults","in":"body","type":"boolean","required":false,"description":"Числа прописью"},{"name":"audio.uri","in":"body","type":"string","required":true,"description":"Ссылка на файл в Yandex Object Storage"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"GET /operations/{operationId}","title":"Результат асинхронного распознавания","httpMethod":"GET","path":"/operations/{operationId}","description":"Хост `operation.api.cloud.yandex.net`. Минута одноканального аудио распознаётся примерно за 10 секунд; запросы результата ограничены по частоте.","params":[{"name":"operationId","in":"path","type":"string","required":true,"description":"ID операции из ответа longRunningRecognize"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"POST /speech/v1/tts:synthesize","title":"Синтез речи","httpMethod":"POST","path":"/speech/v1/tts:synthesize","description":"Хост `tts.api.cloud.yandex.net`. Параметры передаются URL-кодированными в теле POST-запроса (до 15 КБ). Ответ — двоичный аудиофайл в формате `format`.","params":[{"name":"text","in":"body","type":"string","required":false,"description":"Текст в UTF-8, до 5000 символов; взаимоисключающее с ssml"},{"name":"ssml","in":"body","type":"string","required":false,"description":"Текст в формате SSML"},{"name":"lang","in":"body","type":"string","required":false,"description":"Только ru-RU (по умолчанию)"},{"name":"voice","in":"body","type":"string","required":false,"description":"Голос из списка голосов"},{"name":"emotion","in":"body","type":"string","required":false,"description":"Эмоциональная окраска (для ru-RU, зависит от голоса)"},{"name":"speed","in":"body","type":"string","required":false,"description":"Скорость от 0.1 до 3.0, по умолчанию 1.0"},{"name":"format","in":"body","type":"string","required":false,"description":"lpcm, oggopus (по умолчанию) или mp3"},{"name":"sampleRateHertz","in":"body","type":"string","required":false,"description":"48000 (по умолчанию), 16000, 8000; только для lpcm"},{"name":"folderId","in":"body","type":"string","required":false,"description":"ID каталога (для пользовательского аккаунта)"}],"requestExample":"","responseExample":"","docsUrl":""}],"codeExamples":[],"errors":[{"code":"400","description":"Некорректные параметры запроса"},{"code":"401","description":"Нужна аутентификация"},{"code":"403","description":"Недостаточно прав"},{"code":"429","description":"Превышена квота запросов"},{"code":"500","description":"Внутренняя ошибка"},{"code":"503","description":"Сервис временно недоступен"}],"limits":"- Синхронное распознавание: 20 запросов в секунду; файл до 1 МБ и 30 секунд.\n- Асинхронное распознавание: 500 запросов в час, 10 000 тарифицированных часов аудио в сутки; файл до 1 ГБ и 4 часов.\n- Потоковое распознавание: 40 запросов в секунду.\n- Синтез речи: 40 запросов в секунду; API v1 — до 5 000 символов, API v3 — до 250 символов и 24 секунд.\n- Квоты меняются через техподдержку, лимиты — нет.","gotchas":["Число тарифицируемых единиц возвращается в заголовке ответа `YaCloud-Billing-Units`.","Для `lpcm` передаётся «сырое» аудио без WAV-заголовка; частота задаётся явно.","Для OggOpus и MP3 число каналов не указывается — оно есть в самом файле.","Для асинхронного распознавания файл сначала загружают в бакет Object Storage."],"slug":"yandex-speechkit","version":2,"updatedAt":"2026-10-24T17:05:41.817Z","sources":[{"title":"Синхронное распознавание API v1","url":"https://aistudio.yandex.ru/ru/docs/speechkit/stt/api/request-api","kind":"research","addedAt":"2026-10-14T14:55:27.351Z"},{"title":"Пример синхронного распознавания","url":"https://aistudio.yandex.ru/ru/docs/speechkit/stt/api/request-examples","kind":"research","addedAt":"2026-10-14T14:55:27.351Z"},{"title":"Асинхронное распознавание","url":"https://aistudio.yandex.ru/ru/docs/speechkit/stt/api/transcribation-api","kind":"research","addedAt":"2026-10-14T14:55:27.351Z"},{"title":"Синтез речи API v1","url":"https://aistudio.yandex.ru/ru/docs/speechkit/tts/request","kind":"research","addedAt":"2026-10-14T14:55:27.351Z"},{"title":"Квоты и лимиты SpeechKit","url":"https://aistudio.yandex.ru/ru/docs/speechkit/concepts/limits","kind":"research","addedAt":"2026-10-14T14:55:27.351Z"},{"title":"Обработка ошибок в API Yandex Cloud","url":"https://yandex.cloud/ru/docs/api-design-guide/concepts/errors","kind":"research","addedAt":"2026-10-14T14:55:27.351Z"},{"title":"Вставленный текст","url":"","kind":"import","addedAt":"2026-10-14T14:55:27.351Z"},{"title":"scenarios-yandex-speechkit.md","url":"","kind":"import","addedAt":"2026-10-24T17:05:30.800Z"}],"logoUrl":null}