Озвучивание текста (TTS)

Этот инструмент позволяет превращать текст в голосовые сообщения (OGG) или аудиофайлы (MP3), используя технологии Yandex SpeechKit.

Основные возможности:

  • 5 языков: русский, казахский, узбекский, английский, немецкий.

  • 13 голосов: мужские и женские голоса на выбор.

  • Настройка эмоций и скорости озвучки

Есть несколько способов использования TTS: через быструю команду (/tts), мини-приложение c гибкими настройками (Mini App) или форму ввода.


Способ 1: быстрая команда

Самый простой способ, не требующий настройки параметров. Пользователь отправляет боту команду /tts и текст для озвучки.

Пример сообщения боту:

/tts Привет, это пример вашей озвучки!

Важно: Выбор голоса в данном случае не возможен, по умолчанию выбирается голос Алёна с эмоцией Радость, скорость 1х


Способ 2: мини-приложение (рекомендуем)

Данный способ дает пользователю полный контроль: выбор голоса, эмоции, скорости и формата файла (ogg/mp3) через удобное приложение.

Вот инструкция как создать мини-приложение с нуля.

Шаг 1. Создание переменных

Для работы меню выбора необходимо создать 3 переменные: одну обычную и две интегрированные.

1) Переменная для хранения текста:

  • Название: speech (произвольное)

  • Тип переменной: Персональный

  • Тип значения: Обычный

2) Переменная для списка голосов:

  • Название: yandex_speech_voices

  • Тип переменной: Глобальный

  • Тип значения: Интегрированный (Текст)

  • Ссылка (JSON): https://api.pxsto.re/main/yandex_speech_voices

  • Тип запроса: GET

circle-exclamation

3) Переменная для истории выбора:

  • Название: yandex_speech_history

  • Тип переменной: Персональный

  • Тип значения: Интегрированный (Текст)

  • Ссылка (JSON): https://api.pxsto.re/main/yandex_speech_history

  • Тип запроса: GET

  • Добавьте параметр user_id со значением {{USER_ID_TEXT}}.

circle-exclamation

Шаг 2. Настройка мини-приложения

  1. Скачайте файл с HTML-кодом: 📄 Скачать index.htmlarrow-up-right

  2. Создайте новое "Мини-приложение" в конструкторе (название произвольное).

  3. Внутри мини-приложения добавьте блок "HTML-код" и вставьте содержимое файла в поле.

  1. В этом же мини-приложении добавьте новый блок "Форма ввода", куда пользователь будет вводить текст для озвучки.

  • Тип ввода: Ввод текста

  • Маска ввода: Текст

  • Тип поля ввода: Многострочный

  • Дополнительные настройки: Дублировать ответ в переменную speech, которую мы создали на Шаге 1)

  1. Создайте обычную команду (например, yandex_speech_tracker). Настройте клавиатуру так, чтобы мини-приложение вело на эту команду.

Шаг 3. Настройка трекера

В команде yandex_speech_tracker, на которую ведет мини-приложение, добавьте новое действие "Отправить запрос".

  • Ссылка: https://api.pxsto.re/main/puzzlebot-tracker

  • Тип запроса: POST

  • Вид запроса: Сформированный

Добавьте параметры из таблицы ниже.

Параметры:

Ключ
Значение
Описание
Обязательно?

user

{{USER_ID_TEXT}}

ID пользователя.

Да

bot

{{BOT_USERNAME_TEXT}}

Юзернейм бота

Да

token

Ваш API токен

API-токен из настроек интеграции

Да

model

tts

Модель для озвучки текста

Да

prompt

{{speech}}

Переменная с текстом для озвучки

Да

chat

-1001882765759 (Пример)

ID группового чата или форума для отправки запроса

Нет

topic

123 (Пример)

ID определенного топика форума

Нет

Параметры голоса система возьмет из мини-приложения.

Шаг 4. Получение результата

После успешной генерации Puzzle AI автоматически вызовет одну из команд в вашем боте (вам нужно их создать заранее):

  • tts_done — если текст был коротким (до 1000 символов).

  • tts_large_done — если текст был длинным (до 4000 символов).


Способ 3: через форму ввода

Этот вариант подходит, если вы не используете мини-приложение и хотите настроить параметры вручную (или жестко задать их в боте). Например, сделать сценарного персонажа, который всегда говорит одним голосом.

Пример:

  1. Создаем обычную команду с блоком "Форма ввода". Пользователь пишет текст (сохраняем в {{speech}}).

  2. Отправляем данные в трекер с полной конфигурацией.

Параметры:

Ключ
Значение
Описание
Обязательно?

user

{{USER_ID_TEXT}}

ID пользователя.

Да

bot

{{BOT_USERNAME_TEXT}}

Юзернейм бота.

Да

token

Ваш API-токен

API-токен из настроек интеграции

Да

model

tts

Модель генерации.

Да

prompt

{{speech}}

Текст для озвучки

Да

voice

alena

ID голоса (например: alena, filipp, madirus). Если не передан — будет alena

Нет

emotion

good

Эмоция: good, neutral, evil (только для RU)

Нет

speed

1.0

Скорость речи (от 1.0 до 3.0)

Нет

format

ogg

Формат: ogg (голосовое) или mp3 (файл)

Нет

chat

-1001882765759 (Пример)

ID группового чата или форума для отправки запроса

Нет

topic

123 (Пример)

ID определенного топика форума

Нет


Справочник параметров (для Способа 3)

Здесь перечислены все доступные значения для полей voice и emotion. Если поле "Эмоции" пустое, значит голос поддерживает только нейтральную интонацию.

Русский язык (ru-RU)

ID голоса (voice)
Имя
Пол
Доступные эмоции (emotion)

alena

Алёна

Ж

neutral (нейтрально), good (радостно)

filipp

Филипп

М

ermil

Ермил

М

neutral (нейтрально), good (радостно)

jane

Джейн

Ж

neutral (нейтрально), good (радостно), evil (зло)

madi_ru

Мади

М

marina

Марина

Ж

neutral (нейтрально), friendly (дружески), whisper (шёпот)

omazh

Омаж

Ж

neutral (нейтрально), evil (зло)

zahar

Захар

М

neutral (нейтрально), good (радостно)

Английский язык (en-US)

ID голоса (voice)
Имя
Пол
Доступные эмоции

john

John

М

Немецкий язык (de-DE)

ID голоса (voice)
Имя
Пол
Доступные эмоции

lea

Lea

Ж

Казахский язык (kk-KK)

ID голоса (voice)
Имя
Пол
Доступные эмоции

amira

Амира

Ж

madi

Мади

М

Узбекский язык (uz-UZ)

ID голоса (voice)
Имя
Пол
Доступные эмоции

nigora

Нигора

Ж

Стоимость и лимиты

Система автоматически определяет стоимость и вызывает нужную команду после генерации:

Длина текста
Стоимость
Вызов команды

До 1000 символов

💠 10 AI-запросов

tts_done

До 4000 символов

💠 35 AI-запросов

tts_large_done

circle-exclamation

Последнее обновление

Это было полезно?