Озвучивание текста (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
Название должны быть строго таким, как указано выше


3) Переменная для истории выбора:
Название:
yandex_speech_historyТип переменной: Персональный
Тип значения: Интегрированный (Текст)
Ссылка (JSON):
https://api.pxsto.re/main/yandex_speech_historyТип запроса:
GETДобавьте параметр
user_idсо значением{{USER_ID_TEXT}}.
Название должны быть строго таким, как указано выше


Шаг 2. Настройка мини-приложения
Скачайте файл с HTML-кодом: 📄 Скачать index.html
Создайте новое "Мини-приложение" в конструкторе (название произвольное).
Внутри мини-приложения добавьте блок "HTML-код" и вставьте содержимое файла в поле.

В этом же мини-приложении добавьте новый блок "Форма ввода", куда пользователь будет вводить текст для озвучки.
Тип ввода: Ввод текста
Маска ввода: Текст
Тип поля ввода: Многострочный
Дополнительные настройки: Дублировать ответ в переменную
speech, которую мы создали на Шаге 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: через форму ввода
Этот вариант подходит, если вы не используете мини-приложение и хотите настроить параметры вручную (или жестко задать их в боте). Например, сделать сценарного персонажа, который всегда говорит одним голосом.
Пример:
Создаем обычную команду с блоком "Форма ввода". Пользователь пишет текст (сохраняем в
{{speech}}).Отправляем данные в трекер с полной конфигурацией.
Параметры:
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)
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)
john
John
М
—
Немецкий язык (de-DE)
lea
Lea
Ж
—
Казахский язык (kk-KK)
amira
Амира
Ж
—
madi
Мади
М
—
Узбекский язык (uz-UZ)
nigora
Нигора
Ж
—
Стоимость и лимиты
Система автоматически определяет стоимость и вызывает нужную команду после генерации:
До 1000 символов
💠 10 AI-запросов
tts_done
До 4000 символов
💠 35 AI-запросов
tts_large_done
Важно: Тексты длиннее 4000 символов пока что не поддерживаются из-за ограничений Telegram.
Последнее обновление
Это было полезно?