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

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

  • Аутентификация для работы с API
  • Перед началом работы
  • Преобразуйте текст в аудиофайл
  1. Начало работы
  2. Как синтезировать речь в API v3

Как синтезировать речь в SpeechKit API v3

Статья создана
Yandex Cloud
Обновлена 7 марта 2025 г.
  • Аутентификация для работы с API
  • Перед началом работы
  • Преобразуйте текст в аудиофайл

В этом разделе вы научитесь синтезировать речь из текста с помощью SpeechKit API v3 (gRPC).

Аутентификация для работы с APIАутентификация для работы с API

Для работы с API SpeechKit пройдите аутентификацию. Ее способ зависит от типа аккаунта:

Аккаунт на Яндексе или федеративный аккаунт
Сервисный аккаунт
  1. Получите IAM-токен для аккаунта на Яндексе или федеративного аккаунта.
  2. Получите идентификатор каталога, на который у вашего аккаунта есть роли ai.speechkit-stt.user, ai.speechkit-tts.user или выше.
  3. При обращении к SpeechKit через API в каждом запросе передавайте полученные параметры:

    • Для API v1 и API v2:

      Указывайте IAM-токен в заголовке Authorization в следующем формате:

      Authorization: Bearer <IAM-токен>
      

      Идентификатор каталога указывайте в теле запроса в параметре folderId.

    • Для API v3:

      • в заголовке Authorization указывайте IAM-токен;
      • в заголовке x-folder-id указывайте идентификатор каталога.
      Authorization: Bearer <IAM-токен> 
      x-folder-id <идентификатор_каталога>
      

SpeechKit поддерживает два способа аутентификации с сервисным аккаунтом:

  • С помощью IAM-токена:

    1. Получите IAM-токен.

    2. Полученный IAM-токен передавайте в заголовке Authorization в следующем формате:

      Authorization: Bearer <IAM-токен>
      
  • С помощью API-ключей.

    Используйте API-ключи, если у вас нет возможности автоматически запрашивать IAM-токен.

    1. Получите API-ключ.

    2. Полученный API-ключ передавайте в заголовке Authorization в следующем формате:

      Authorization: Api-Key <API-ключ>
      

Не указывайте в запросах идентификатор каталога — сервис использует каталог, в котором был создан сервисный аккаунт.

В примере ниже аутентификация выполняется от имени аккаунта на Яндексе.

Перед началом работыПеред началом работы

  1. Установите утилиту grpcurl.

  2. Установите утилиту jq для потоковой обработки JSON-файлов:

    sudo apt update && sudo apt install jq
    

Примечание

Вы можете реализовать синтез речи в SpeechKit API v3 как с помощью указанных утилит, так и другими способами.

Преобразуйте текст в аудиофайлПреобразуйте текст в аудиофайл

Чтобы синтезировать речь из текста в TTS-разметке в файл формата WAV:

  1. Создайте файл c телом запроса API и текстом для синтеза речи:

    tts_req.json
    {
     "text": "Я Яндекс Спичк+ит. Я могу превратить любой текст в речь. Теперь и в+ы — можете!",
     "outputAudioSpec": {
       "containerAudio": {
         "containerAudioType": "WAV"
       }
     },
     "hints": [
         {
             "voice": "jane"
         },
         {
             "role": "good"
         }
     ],
     "loudnessNormalizationType": "LUFS"
    }
    
  2. Выполните команды:

    export FOLDER_ID=<идентификатор_каталога>
    export IAM_TOKEN=<IAM-токен>
    jq . -c tts_req.json | \
    grpcurl -H "authorization: Bearer ${IAM_TOKEN}" \
            -H "x-folder-id: ${FOLDER_ID}" \
            -d @ tts.api.cloud.yandex.net:443 speechkit.tts.v3.Synthesizer/UtteranceSynthesis | \
    jq -r '.audioChunk.data' | base64 -d > speech.wav
    

    Где:

    • FOLDER_ID — идентификатор каталога, полученный ранее.

      Если вы используете IAM-токен сервисного аккаунта, не указывайте в запросе идентификатор каталога — сервис использует каталог, в котором был создан сервисный аккаунт.

    • IAM_TOKEN — IAM-токен, полученный ранее.

    • speech.wav – файл, в который будет записан ответ.

В результате в папке будет создан файл speech.wav с синтезированной речью.

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

  • Подробнее про API v3
  • Аутентификация в API
  • Синтез речи в API v3

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

Предыдущая
Как синтезировать речь в API v1
Следующая
Распознавание речи с помощью Playground
Проект Яндекса
© 2025 ООО «Яндекс.Облако»