Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex SpeechKit
  • Обзор технологий SpeechKit
    • Распознавание речи с помощью Playground
    • Синтез речи с помощью Playground
      • Потоковое распознавание аудиофайла API v3
      • Потоковое распознавание речи с микрофона API v3
      • Автоматическое определение языка — API v3
      • Потоковое распознавание API v2
      • Синхронное распознавание API v1
      • Асинхронное распознавание аудиофайлов в формате WAV — API v3
      • Асинхронное распознавание формата LPCM — API v2
      • Асинхронное распознавание формата OggOpus — API v2
      • Регулярное асинхронное распознавание аудиофайлов — API v2
  • Поддерживаемые форматы аудио
  • Интеграция телефонии
  • Квоты и лимиты
  • Управление доступом
  • Правила тарификации

В этой статье:

  • Пример запроса
  • Пример ответа
  1. Пошаговые инструкции
  2. Распознавание
  3. Синхронное распознавание API v1

Пример использования API v1 синхронного распознавания

Статья создана
Yandex Cloud
Обновлена 21 января 2025 г.
  • Пример запроса
  • Пример ответа

Пример показывает, как с помощью API v1 распознать речь, записанную в аудиофайле формата OggOpus, в режиме синхронного распознавания.

В примере заданы следующие параметры:

  • язык — русский;
  • остальные параметры оставлены по умолчанию.

Формирование и отправка запроса к серверу, выполняющему распознавание, происходит с помощью утилиты cURL.

Аутентификация происходит от имени аккаунта на Яндексе или федеративного аккаунта с помощью IAM-токена. Если вы используете сервисный аккаунт, передавать в запросе идентификатор каталога не нужно. Подробнее об аутентификации в API SpeechKit.

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

POST-запрос
cURL
Python 3
PHP

Отправьте запрос на преобразование речи в текст:

POST /speech/v1/stt:recognize?topic=general&lang=ru-RU&folderId={<идентификатор_каталога>} HTTP/1.1
Host: stt.api.cloud.yandex.net
Authorization: Bearer <IAM-токен>

... (двоичное содержимое аудиофайла)

Где:

  • topic — языковая модель.
  • lang — язык, для которого будет выполнено распознавание.
  • folderId — идентификатор каталога.
  • <IAM-токен> — IAM-токен.

Отправьте запрос на преобразование речи в текст:

export FOLDER_ID=<идентификатор_каталога>
export IAM_TOKEN=<IAM-токен>
curl \
  --request POST \
  --header "Authorization: Bearer ${IAM_TOKEN}" \
  --data-binary "@speech.ogg" \
  "https://stt.api.cloud.yandex.net/speech/v1/stt:recognize?topic=general&folderId=${FOLDER_ID}"

Где:

  • FOLDER_ID — идентификатор каталога.
  • IAM_TOKEN — IAM-токен.
  • --data-binary — имя аудиофайла для распознавания.
  • topic — языковая модель.

Отправьте запрос на преобразование речи в текст:

import urllib.request
import json

FOLDER_ID = "<идентификатор_каталога>" # Идентификатор каталога
IAM_TOKEN = "<IAM-токен>" # IAM-токен

with open("speech.ogg", "rb") as f:
    data = f.read()

params = "&".join([
    "topic=general",
    "folderId=%s" % FOLDER_ID,
    "lang=ru-RU"
])

url = urllib.request.Request("https://stt.api.cloud.yandex.net/speech/v1/stt:recognize?%s" % params, data=data)
# Аутентификация через IAM-токен.
url.add_header("Authorization", "Bearer %s" % IAM_TOKEN)

responseData = urllib.request.urlopen(url).read().decode('UTF-8')
decodedData = json.loads(responseData)

if decodedData.get("error_code") is None:
    print(decodedData.get("result"))

Где:

  • FOLDER_ID — идентификатор каталога.
  • IAM_TOKEN — IAM-токен.
  • speech.ogg — имя аудиофайла для распознавания.
  • topic — языковая модель.
  • lang — язык, для которого будет выполнено распознавание.

Отправьте запрос на преобразование речи в текст:

<?php

$token = '<IAM-токен>'; # IAM-токен
$folderId = "<идентификатор_каталога>"; # Идентификатор каталога
$audioFileName = "speech.ogg";

$file = fopen($audioFileName, 'rb');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://stt.api.cloud.yandex.net/speech/v1/stt:recognize?lang=ru-RU&folderId=${folderId}&format=oggopus");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);

curl_setopt($ch, CURLOPT_INFILE, $file);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($audioFileName));
$res = curl_exec($ch);
curl_close($ch);
$decodedResponse = json_decode($res, true);
if (isset($decodedResponse["result"])) {
    echo $decodedResponse["result"];
} else {
    echo "Error code: " . $decodedResponse["error_code"] . "\r\n";
    echo "Error message: " . $decodedResponse["error_message"] . "\r\n";
}

fclose($file);

Где:

  • token — IAM-токен.
  • folderId — идентификатор каталога.
  • audioFileName — имя аудиофайла для распознавания.
  • lang — язык, для которого будет выполнено распознавание.
  • format — формат передаваемого аудио.

Пример ответаПример ответа

HTTP/1.1 200 OK
YaCloud-Billing-Units: 15
{
  "result": "твой номер 212-85-06"
}

См. такжеСм. также

  • API синхронного распознавания
  • Аутентификация в API SpeechKit
  • Синхронное распознавание речи с помощью Python SDK

Была ли статья полезна?

Предыдущая
Потоковое распознавание API v2
Следующая
Асинхронное распознавание аудиофайлов в формате WAV — API v3
Проект Яндекса
© 2025 ООО «Яндекс.Облако»