Создание мини-приложения Suno
Новый формат Suno для разработчиков Puzzle AI!
Теперь вы можете создать полнофункциональное мини-приложение для генерации музыки с помощью Suno в вашем Telegram-боте.
Ключевые возможности готового приложения:
Генерация в простом режиме. Трек создается по короткому текстовому описанию (например, "создай лоу-фай бит про тихую библиотеку").
Генерация в расширенном режиме. Полная кастомизация трека, включая загрузку своего текста, выбор стиля, версии Suno, голоса вокалиста и других параметров.
Режим кавера. Возможность загрузить собственную аудиозапись для создания кавер-версии.
Пример готового приложения: https://t.me/ChatGPT_PuzzleBot?startapp=b2be1083b5699909



Важная информация перед началом. Процесс может занять несколько часов. Рекомендуем выделить достаточно времени, чтобы внимательно и без спешки пройти по всем шагам. В результате вы получите один из самых мощных инструментов для работы с музыкой, доступных на нашей платформе.
Шаг 1. Подготовка. Создаем переменные
Мы создадим набор переменных, каждая из которых будет отвечать за свою часть информации (от текста песни до сообщений об ошибках).
В личном кабинете PuzzleBot выберите вашего бота и перейдите во вкладку "Переменные".

Создайте 10 новых персональных переменных:
suno_prompt
Текст
(Основной промпт) Главная переменная, которая будет хранить финальный текстовый запрос для отправки в Suno.
suno_styles
Текст
(Стили музыки) Хранит выбранные пользователем музыкальные стили (например, "pop", "rock", "lo-fi").
suno_mode
Текст (значение по умолчанию: "simple")
(Режим работы) Определяет, в каком режиме работает приложение — простом или расширенном.
suno_gpt_lyric
Текст (значение по умолчанию: "false"
(Текст от ChatGPT) Сюда будет записываться текст песни, сгенерированный с помощью ChatGPT.
suno_music_only
Текст (значение по умолчанию: "false")
(Только музыка) Используется как флаг (true или false), чтобы указать, нужно ли генерировать только инструментал, без вокала.
suno_additional
Интегрированный (Текст)
(Доп. параметры) Хранит расширенные настройки из кастомного режима (версия Suno, голос и т.д.).
suno_voice_upload
Текст
(Загруженный голос) Сюда будет записываться файл с голосом, который пользователь загрузит для кавера.
suno_cover
Текст
(Режим кавера) Переменная для хранения аудиофайла при создании кавера.
suno_error
Текст
(Сообщения об ошибках) Сюда можно записывать тексты ошибок для последующего отображения пользователю.
suno_extend
Текст
(Продление трека) Переменная для хранения аудиофайла при продлении трека
Важно! Переменная {{suno_additional}} - Интегрированная.
Вот полные настройки:
Тип значения:
ИнтегрированныйТип интеграции:
HTTP ЗапросФормат значения:
ТекстСсылка (JSON):
https://api.pxsto.re/main/99d25b4b-a540-41b2-a32b-e6b469610077Ответ: result
Тип запроса: GET
Параметр - Ключ: user_id - Значение: {{USER_ID_TEXT}}


После того как все переменные будут созданы, можно переходить к следующему шагу - сборке интерфейса.
Шаг 2. Создаем фундамент. Основные экраны приложения
2.1. Создание мини-приложений
Прежде чем настраивать логику, нам нужно создать три "экрана" (в виде мини-приложений), между которыми будет переключаться пользователь.
В PuzzleBot перейдите во вкладку "Конструктор" и создайте 4 новых мини-приложения.
Дайте им любое произвольное название.
В нашем примере:
Главный экран (
Suno Webapp). Здесь пользователь будет выбирать между генерацией трека или модификациями.Переключатель режимов (
Suno :// формат трека). Дополнительная команда для работы со вкладками.Простой режим (
Suno :// создать просто). Экран для быстрой генерации трека по одной фразе.Расширенный режим (
Suno :// создать кастомно). Экран с полным набором настроек для продвинутых пользователей.Модификации (
Suno :// меню модификаций). Здесь пользователь сможет продлевать трек, разделять его на инструментал и вокал и т.д.
2.2. Настройка главного экрана (Suno Webapp)
Suno Webapp)Откройте мини-приложение
Suno Webappи добавьте в него блок "Клавиатура".

Настройте первую кнопку (как на изображении):

Настройте вторую кнопку (как на изображении):

В этом же мини-приложении откройте вкладку "Действия" и создайте поочередно 5 новых действий "Очистить переменную":
suno_gpt_lyricsuno_stylessuno_music_onlysuno_coversuno_mode

2.3. Переключатель режимов
В мини-приложении "
Suno :// формат трека" добавьте новый блок "Вкладки" и настройте по аналогии:


2.4. (Опционально) Копирование нашего дизайна
Этот раздел поможет вам в точности воссоздать внешний вид нашего демонстрационного приложения. Все шаги в этом блоке необязательны и служат только для визуальной кастомизации.
Раскройте эту страницу 👇
✨ КАК СКОПИРОВАТЬ ДИЗАЙН
Важная подготовка. Настройка темы
Наш фирменный дизайн рассчитан на определенные настройки отображения в Telegram. Для корректной работы всех элементов убедитесь, что у вас установлены правильные параметры.
В конструкторе PuzzleBot перейдите в "Настройки" вашего бота.
Откройте раздел "Мини-приложение".
Установите следующие значения:
Тема:
ТемнаяСтиль:
Android

Добавление "бегущей строки":

Создайте новое мини-приложение с любым названием, например "html 1 (бегущая строка)". Добавьте блок "HTML-код" и вставьте в него содержимое файла бегущая строка.txt

Вернитесь в каждое из трех основных приложений ( "Suno Webapp", "Suno :// создать просто" и "Suno :// создать кастомно"). В каждом из них добавьте блок "Подстановка" и выберите созданное ранее приложение "html 1 (бегущая строка)":

Добавление анимированного стикера "Кот с маракасами"
Этот забавный элемент оживляет главный экран.

Перейдите в главное мини-приложение
Suno Webapp.Добавьте в него поочередно три блока "Стикер".
В каждый из блоков загрузите по одному файлу:
1.tgs,2.tgs,3.tgs. (ссылка на файлы стикеров)

Установка фирменного фона и цвета шапки
Единый стиль для всех экранов делает приложение целостным и профессиональным.
Важно: Эту настройку нужно будет применить для каждого мини-приложения, которое вы создаете в рамках этого руководства (изначально их три, но позже появятся и другие).

Откройте мини-приложение (например,
Suno Webapp).Перейдите в его дополнительные настройки.
Установите галочку "Задать цвет шапки". Цвет шапки:
22374aВ поле «Фон» загрузите файл
background.mp4. [Ссылка на файл с фоном]Сохраните изменения и повторите эту процедуру для остальных мини-приложений.

Сохраните изменения и перейдите к следующему шагу.
Шаг 3. Настройка простого режима
На этом шаге мы соберём интерфейс экрана "простого режима". Цель — создать минималистичную форму, где пользователь сможет описать идею для трека, выбрать, нужна ли ему только музыка, и нажать кнопку для запуска генерации.

3.1. Создание поля для ввода идеи трека

Это основное текстовое поле, куда пользователь будет вводить свой запрос.
В конструкторе PuzzleBot перейдите в мини-приложение "
Suno :// создать просто".Создайте в нём новый блок "Форма ввода".

Заполните основные поля:
Тип ввода: "
Ввод текста"Маска ввода: "
Текст"Тип поля ввода: "
Многострочный"Плейсхолдер: "
✨ опиши идею для трека"

Настройте сохранение данных.
Раскройте "Дополнительные настройки". Установите все галочки и в поле "Дублировать ответ в переменную" укажите созданную ранее
suno_prompt:

3.2. Добавление переключателя "Только музыка"
Этот элемент позволит пользователю указать, что ему нужен только инструментал, без вокала.
Добавьте в мини-приложение ещё один блок "Форма ввода". Заполните поля следующим образом:
Тип ввода:
Выбор вариантаКоличество ответов:
ОдинВид переключателей:
ТумблерыВид кнопки:
Только текстНазвание кнопки: "
только музыка" (произвольное)

Раскройте дополнительные настройки кнопки. Установите галочку напротив пункта "Изменить переменную". Укажите название переменной
suno_music_onlyс выражением"true".


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

Оставьте её пустой. Она нужна нам как временная цель для кнопки. Полноценную логику мы добавим в неё на финальном этапе
Настройте клавиатуру:
Вернитесь в мини-приложение
Suno :// создать простои измените блок "Клавиатура".Настройте кнопку, как показано на изображении ниже, привязав к ней команду
suno_tracker

Раскройте дополнительные настройки клавиатуры. Установите галочки напротив пунктов "Закрыть Мини-приложение" и "Изменить переменную". Укажите переменную
suno_modeи выражение"simple"

Сохраните изменения и переходите к следующему шагу.
3.4. (Опционально) Копирование нашего дизайна
Раскройте эту страницу 👇
КАК СКОПИРОВАТЬ ДИЗАЙН
Добавьте бегущую строку, которую мы сделали в Шаге 2, путем добавления блока "Подстановка". Переместите этот блок на первую позицию:

Добавьте новый блок "Описание", после "Текст с музыкой", чтобы получилось так:


Шаг 4. Настройка расширенного режима
На этом шаге мы создадим многофункциональную страницу для "расширенного режима", которая даёт полный контроль над генерацией.

4.1. Поле для ввода текста песни

Это поле позволит пользователям вставлять свой собственный текст для песни.
Перейдите в мини-приложение
Suno :// создать кастомно. Создайте в нём новый блок "Форма ввода".Заполните основные поля:
Название для статистики:
suno_lyricsПеременная:
suno_lyricsТип ввода:
Ввод текстаМаска ввода:
ТекстТип поля ввода:
МногострочныйОграничить количество символов:
2000Плейсхолдер:
напиши текст песни(произвольное)

Раскройте дополнительные настройки формы ввода. Установите все галочки и настройте дублирование в переменную
suno_prompt,как показано на скриншоте:

4.2. Переключатель "Сочинить текст"
![]()
Этот переключатель добавляет в ваше приложение мощную функцию: возможность генерировать текст песни на ходу с помощью ChatGPT. Пользователю не придется придумывать текст самому, достаточно будет просто описать идею, и нейросеть сделает это за него.
В мини-приложении
Suno :// создать кастомносоздайте ещё один блок "Форма ввода". Заполните основные поля:
Тип ввода:
Выбор вариантаКоличество ответов:
ОдинВид переключателей:
ТумблерыВид кнопки:
Только текстНазвание кнопки: "
сочинить текст" (произвольное)

Раскройте дополнительные настройки кнопки. Установите галочку напротив пункта "Изменить переменную". Укажите переменную
suno_gpt_lyricс выражением"true"

4.3. Переключатель "Только музыка"
Теперь добавим переключатель для создания инструментальных треков. Настройка этого элемента полностью аналогична шагу в "простом режиме".
Добавьте новый блок "Форма ввода" в то же мини-приложение. Заполните основные поля:
Тип ввода:
Выбор вариантаКоличество ответов:
ОдинВид переключателей:
ТумблерыВид кнопки:
Только текстНазвание кнопки: "
только музыка" (произвольное)

Раскройте дополнительные настройки кнопки. Установите галочку напротив пункта "Изменить переменную". Укажите название переменной
suno_music_onlyс выражением"true".


4.4. Выбор стилей (опционально, требует NocoDB)
Этот блок позволит пользователям выбирать до 7 музыкальных стилей из готового списка.
Важно: Пропустите этот шаг, если у вашего бота нет интеграции с NocoDB
Загрузите данные в NocoDB:
Скачайте CSV-файл со списком стилей по этой ссылке: https://disk.yandex.ru/d/9zeSHRWNyOKTqw
В вашей базе NocoDB нажмите "Import Data"

Выберите формат "CSV", загрузите скачанный файл и подтвердите импорт.

Настройте блок в PuzzleBot:
Вернитесь в мини-приложение
Suno :// создать кастомнои создайте новый блок "Форма ввода"Заполните поля:
Название для статистики:
suno_styles_allПеременная:
suno_styles_allТип ввода:
СписокКоличество ответов:
НесколькоОграничить количество вариантов:
от 0 до 7Способ записи значения:
Значения через запятуюИсточник списка:
Подключить NocoDB

Выберите вашу БД, подгрузите таблицу из NocoDB и заполните поля:
Столбец с названием варианта:
titleСтолбец с названием варианта:
description

В настройках "Клавиатуры" этого блока установите галочку напротив "Дублировать ответ в переменную" и введите переменную suno_styles:

4.5. Блок расширенных настроек

Этот блок, реализованный через HTML, будет содержать все остальные кастомные параметры (выбор версии, голоса и т.д.).
Создайте мини-приложение для HTML-кода:
Создайте новое мини-приложение с произвольным названием, например, "
html 2 (доп. параметры)".Добавьте в него блок "HTML-код" и вставьте в него код из этого файла

Настройте кнопку и клавиатуру в основном приложении:
Вернитесь к мини-приложению "Suno :// создать кастомно". Добавьте новый блок "Клавиатура" и заполните поля:
Тип клавиатуры:
ОбычнаяНазвание:
расширенные настройки(произвольное)

Настройте кнопку и сам блок клавиатуры, как показано в примере:

Сохраните изменения и переходите к следующему шагу.
Шаг 5. Настройка режима создания кавера
На этом шаге мы уделим внимание кнопке "Загрузить аудио" для создания каверов. Полный функционал включает не только загрузку готовых файлов, но и запись голосовых сообщений прямо в боте.

5.1. Создание экрана для загрузки
Создайте новое мини-приложение с произвольным названием, например "
Suno :// создать кавер".Добавьте в это приложение два блока "Заголовок" и "Описание". Заполните их текстом, который объяснит пользователю, что нужно сделать. Например:
Заголовок: "
кавер-версия"Описание: "
для создания кавер-версии трека загрузи собственный аудиотрек или запиши голосовое сообщение".

5.2. Настройка формы для загрузки файла
Это ключевой элемент экрана, который позволит пользователю загрузить свой аудиофайл.
Добавьте в это же мини-приложение новый блок "Форма ввода".
Заполните поля:
Название для статистики:
suno_upload_audioПеременная:
suno_upload_audioТип ввода:
Загрузка файлаКоличество файлов:
1Ошибка (превышено количество):
Превышено максимальное количество файловМаска ввода:
АудиоОшибка (маска ввода):
Недопустимый формат файла

Раскройте "Дополнительные настройки". Поставьте галочку напротив "Дублировать ответ в переменную" и укажите пользовательскую переменную
suno_cover. Это действие сохранит загруженный файл в нужную переменную для дальнейшей обработки.

5.3. Создание команды для записи голосового сообщения
Зачем нужна отдельная команда? Запись голоса — это стандартная функция Telegram, которая временно выводит пользователя из интерфейса мини-приложения. Поэтому мы создадим отдельную команду, которая будет ловить его ответ.
Создайте новую обычную команду. Дайте ей любое название, например "
Suno :// записать голосовое".

Добавьте в эту команду новый блок "Форма ввода" и заполните поля:
Текст: "
запиши и отправь мне голосовое сообщение"Название для статистики:
suno_upload_voiceПеременная:
suno_upload_voice2Тип ввода:
Отправка сообщенияВарианты для выбора:
ОдинМаска ввода:
Голосовая запись

Раскройте "Дополнительные настройки". Установите галочку напротив пункта "Дублировать ответ в переменную" и укажите пользовательскую переменную
suno_cover:

Откройте вкладку "Действия". Во вкладке "Действия" этой же команды добавьте действие "Отправить команду или условие" и выберите
suno_tracker:

5.4. Добавление кнопок на экран кавера
Теперь вернитесь в мини-приложение "Suno :// создать кавер" и добавим в него две кнопки.
Настройте кнопку "Записать голос":
Добавьте новый блок "Клавиатура". Дайте кнопке любое название, например "записать голос" и установите тип клавиатуры "Обычная".

Настройте кнопку так, как показано на скриншоте:

Раскройте "Дополнительные настройки". Здесь заложена основная функция перехода в Телеграм-бот для записи голосового сообщения. Установите галочку "Показать попап" и заполните основные поля:
Тип:
С кнопкойДобавить заголовок:
Да(поставить галочку)Заголовок: "
запись голосового сообщения"Текст: "
вы будете направлены в бот для записи голосового сообщения"Название кнопки:
ОК

Нажмите на созданную кнопку "ОК" и раскройте дополнительные настройки.
Установите действие кнопки: "Переход к команде или условию" -> "
Suno :// записать голосовое".В дополнительных настройках установите галочки напротив пунктов "Закрыть Мини-приложение" и "Выполнить вибрацию".

Настройте кнопку "Создать трек".
Это финальный штрих в мини-приложении "Suno :// Создать кавер".
Найдите уже созданный автоматически блок "Клавиатура" (с фиксированным типом) и измените кнопку по аналогии:


Раскройте "Дополнительные настройки" клавиатуры. Установите галочки напротив пунктов "Закрыть Мини-приложение" и "Изменить переменную". Укажите переменную suno_mode и выражение "custom"

5.5. Добавление кнопки "Загрузить аудио"
Финальный штрих — добавим кнопку для перехода в созданный нами режим кавера с экрана расширенных настроек.
Вернитесь в мини-приложение
"Suno :// Создать кастомно".
Найдите автоматически созданную клавиатуру с типом "Фиксированная". Добавьте в неё две кнопки "загрузить аудио" и "создать трек":

Настройте кнопку "загрузить аудио". Установите действие кнопки: "Переход к Мини-приложению" -> "
Suno :// создать кавер".

Настройте кнопку "создать трек". Установите действие кнопки: "Переход к команде или условию" -> "
suno_tracker":

Раскройте дополнительные настройки для кнопки "создать трек". Установите галочку напротив "Изменить переменную" и добавьте
suno_modeс выражением "custom"

После сохранения изменений все экраны будут связаны между собой.
Шаг 6. Добавляем модификации
На момент написания инструкции доступно 2 модификации: продление трека и разделение трека на вокал и инструментал

6.1. Подготовка и основной экран
В этом блоке мы будем заполнять основной экран "Suno :// меню модификаций", а также создадим команды для перехода к функциям.
Создайте два новых мини-приложения:
Продление трека (
Suno :// продлить трек). Здесь пользователь загружает аудиофайл для продления трека.Разделение трека (
Suno :// разделить трек). Здесь пользователь загружает аудиофайл для разделения трека.

В мини-приложении
Suno :// меню модификацийсоздайте два новых блока "Заголовок" и "Текст". Заполните по аналогии:

Добавьте новый блок "Клавиатура" с типом "Обычная". Создайте две кнопки "продлить трек" и "отделить вокал" и соедините их с мини-приложениями
Suno :// продлить трекиSuno :// разделить трексоответственно:

6.2. Продление трека
Продублируйте мини-приложение "
Suno :// создать кастомно". Назовите дублированное мини-приложение "Suno :// продлить" (или любое другое).

Единственное, что нужно изменить в продублированном мини-приложении - это кнопка "Создать трек" заменяется на "Продолжить", чтобы перенаправить пользователя на загрузку аудио и новое мини-приложение "Suno :// продлить трек"


В приложении "
Suno :// продлить трек" добавьте два блока "Заголовок" и "Текст" и заполните по аналогии (см. скриншот):

Добавьте блок "Форма ввода" для загрузки аудиофайла. Заполните поля:
Тип ввода:
Загрузка файлаКоличество файлов:
1Маска ввода:
АудиоНазвание кнопки: "
загрузить аудио"

Раскройте дополнительные настройки формы ввода. Поставьте галочку напротив "Дублировать ответ в переменную" и укажите пользовательскую переменную suno_cover. Это действие сохранит загруженный файл в нужную переменную для дальнейшей обработки.

Создайте новый блок "Форма ввода". Заполните основные поля:
Тип ввода:
Выбор времениЗадать интервал: с
00:01по00:00

Раскройте дополнительные настройки формы ввода. Установите галочку напротив пункта "Дублировать ответ в переменную" и укажите переменную suno_extend. Разрешите повторное прохождение.

Создайте новый блок "Клавиатура" с типом "Фиксированная". Настройте по аналогии:

Раскройте дополнительные настройки кнопки. Установите галочки напротив пунктов "Закрыть Мини-приложение" и "Изменить переменную". Установите переменную suno_mode и значение "extend":

6.2. Разделение трека
В приложении "
Suno :// разделить трек" добавьте два новых блока "Заголовок" и "Текст" и заполните по аналогии:

Добавьте новый блок "Форма ввода". Заполните основные поля:
Тип ввода:
Загрузка файлаКоличество файлов:
1Маска ввода:
АудиоНазвание кнопки: "
загрузить аудио"

Создайте новый блок "Клавиатура" с типом "Фиксированная". Настройте по аналогии:

Раскройте дополнительные настройки кнопки. Установите галочки напротив пунктов "Закрыть Мини-приложение" и "Изменить переменную". Установите переменную
suno_modeи значение"separate":

Шаг 7. Финал. Настраиваем отправку запроса
Мы подошли к финальному и ключевому шагу. Сейчас мы настроим команду suno_tracker, которую мы создавали как "заглушку" на предыдущих этапах. Эта команда собирает всю информацию из переменных и отправляет единый запрос в систему Puzzle AI для начала генерации.
7.1. Настройка основного запроса (Tracker)
В конструкторе PuzzleBot откройте команду
suno_trackerПерейдите на вкладку "Действия" и добавьте действие "Отправить запрос".
Заполните основные поля запроса:
Ссылка:
https://api.pxsto.re/main/puzzlebot-trackerУстановите тип запроса:
POSTВид запроса:
Сформированный

Добавьте 12 параметров. Эти параметры передают в Puzzle AI всю необходимую информацию для генерации.
Ключ:
userЗначение:{{USER_ID_TEXT}}Ключ:
modelЗначение:sunoКлюч:
botЗначение:{{BOT_USERNAME_TEXT}}Ключ:
tokenЗначение: [Укажите ваш API-токен]Ключ:
promptЗначение:{{suno_prompt}}Ключ:
instrumentalЗначение:{{suno_music_only}}Ключ:
stylesЗначение:{{suno_styles}}Ключ:
modeЗначение:{{suno_mode}}Ключ:
gpt_lyricЗначение:{{suno_gpt_lyric}}Ключ:
additionalЗначение:{{suno_additional}}Ключ:
gpt_tags_editЗначение:trueКлюч:
extendЗначение:{{suno_extend}}

7.2. Очистка переменных после запроса
Зачем это нужно? После того как запрос на генерацию отправлен, необходимо очистить переменные. Это гарантирует, что настройки от предыдущего трека не повлияют на следующий.
В этой же команде
suno_tracker, после действия "Отправить запрос", добавьте несколько действий "Очистить переменную".Последовательно очистите следующие переменные:
suno_stylessuno_music_onlysuno_gpt_lyricsuno_coversuno_mode
7.3. Создание команды для обработки ошибок
Создайте новую инлайн-команду и назовите её
suno_error.Добавьте новый блок "Текст". Введите текст с сообщением об ошибке и укажите переменную
{{suno_error}}

Поздравляем!
Вы завершили сборку мини-приложения Suno. Теперь у вашего бота есть мощный инструмент для создания музыки, который вы можете дальше кастомизировать и улучшать.
Остались вопросы? Напишите в поддержку: https://t.me/FreeAIchat/199018
Последнее обновление
Это было полезно?