Update Suno skill with comprehensive prompt engineering guide
This commit is contained in:
@@ -166,12 +166,179 @@ suno_get_task_status
|
||||
|
||||
В `customMode: false` только `prompt`, максимум 500 символов.
|
||||
|
||||
## Рекомендации по промптам
|
||||
## Prompt Engineering Guide
|
||||
|
||||
- Опиши жанр, настроение, инструменты, темп, энергию.
|
||||
- Для вокальных треков в `customMode` пиши текст в формате `[Verse] ... [Chorus] ...`.
|
||||
- Избегай противоречивых описаний.
|
||||
- Для повторяемого стиля используй `suno_generate_persona`.
|
||||
Когда пользователь просит создать песню, агент должен вести себя как **Suno AI Master Assistant**: профессионально, дружелюбно, на русском языке. Перед генерацией анализируй историю чата и учитывай ранее выбранные жанры и стили.
|
||||
|
||||
### Три обязательных блока промпта
|
||||
|
||||
Каждый промпт для `suno_generate_music` (особенно в `customMode: true`) должен состоять из трёх блоков:
|
||||
|
||||
#### Блок А: Lyrics (текст с мета-тегами)
|
||||
|
||||
```
|
||||
///*****///
|
||||
|
||||
[Verse]
|
||||
Текст куплета
|
||||
Четыре строки по 6–10 слогов
|
||||
|
||||
[Chorus | anthemic chorus | stacked harmonies]
|
||||
Текст припева
|
||||
Мощный, запоминающийся хук
|
||||
|
||||
[Bridge]
|
||||
Текст бриджа
|
||||
Контраст с основной частью
|
||||
|
||||
[break 0.5]
|
||||
|
||||
[Chorus]
|
||||
Повтор припева
|
||||
(RISE UP NOW!)
|
||||
```
|
||||
|
||||
**Правила:**
|
||||
- Разделитель `///*****///` в самом верху, чтобы промпт не «протекал» в вокал.
|
||||
- Мета-теги: `[Verse]`, `[Chorus]`, `[Bridge]`, `[Pre-Chorus]`, `[Intro]`, `[Outro]`.
|
||||
- Уточнение стиля секции через `|`: `[Chorus | anthemic chorus | stacked harmonies]`.
|
||||
- Паузы: `[break 0.5]` или `[break 1.0 sek]`.
|
||||
- Бэк-вокал в круглых скобках: `(RISE UP NOW!)`.
|
||||
- Строка: 6–10 слогов, секция: обычно 4 строки.
|
||||
- **Не размечай ударения заглавными буквами** — Suno v5 и v5.5 самостоятельно хорошо ориентируются в ударениях.
|
||||
|
||||
#### Блок Б: Style (окно стиля)
|
||||
|
||||
Используй иерархическую структуру, разделённую точками:
|
||||
|
||||
```
|
||||
genre: indie folk rock, 2020s bedroom pop.
|
||||
vocal: [baritone male vocal], [raspy vocal tone], emotional delivery.
|
||||
instrumentation: [nylon string guitar], [TR-808 kit], [warm analog synth pad].
|
||||
recording & mastering: high quality studio recording, balanced EQ, crystal clear vocals, wide stereo image.
|
||||
```
|
||||
|
||||
**Важно:** учитывай лимиты длины `style`:
|
||||
|
||||
| Модель | Лимит `style` |
|
||||
|---|---|
|
||||
| V4 | 200 символов |
|
||||
| V4_5 / V4_5PLUS / V4_5ALL / V5 / V5_5 | 1000 символов |
|
||||
|
||||
Если стиль не влезает — сокращай менее важные части, сохраняя жанр и ключевые инструменты.
|
||||
|
||||
#### Блок В: Negative Prompt (исключения)
|
||||
|
||||
Передаётся в параметр `negativeTags` как список через запятые **без** слова `no`:
|
||||
|
||||
```
|
||||
trap, male vocals, distortion, sawtooth synths, harsh highs, muddiness
|
||||
```
|
||||
|
||||
### Золотые правила по жанрам
|
||||
|
||||
| Жанр | Что прописывать |
|
||||
|---|---|
|
||||
| **Disco** | `[Arrangement: groove-based, repetitive, no development]`, four-on-the-floor kick, lush strings |
|
||||
| **Latin** | Фокус на перкуссии: piano montuno, congas, bongos, clave. Меньше акцент на гармонии |
|
||||
| **Blues** | 12-bar form, shuffle feel, electric guitar, walking bass. Избегай поп-структур |
|
||||
| **Brazilian Funk** | TR-808, tamborim syncopation, monophonic synth bass, Portuguese vocal samples |
|
||||
| **Electronic** | Конкретные типы синтеза: FM synthesis bass, wavetable movement, granular pads. Избегай общих «saw synth» |
|
||||
| **Rock** | live drum kit, electric guitars, bass guitar, analog saturation |
|
||||
| **Jazz** | upright bass, brushed drums, piano trio, warm room reverb |
|
||||
|
||||
### Управление вокалом
|
||||
|
||||
| Задача | Что писать в `Style` / `Lyrics` |
|
||||
|---|---|
|
||||
| Припев выше октавой | Style: `chorus sung ONE OCTAVE HIGHER`. Lyrics: `[Chorus | SING ONE OCTAVE HIGHER]` |
|
||||
| Без вокального интро | `NO vocal intro, instrumental intro only, vocal starts with first verse` |
|
||||
| Сухой вокал | `dry vocal recording, close-mic vocal, no reverb tails, minimal processing` |
|
||||
| Многослойный хор | `stacked harmonies, doubled vocals, group choir backing` |
|
||||
| Шёпот | `intimate whisper vocal, breathy tone, close microphone` |
|
||||
|
||||
### Пример полного промпта
|
||||
|
||||
Пользователь: «Сделай энергичный рок-трек о восхождении на гору, мужской вокал».
|
||||
|
||||
**Lyrics (передаётся в `prompt`):**
|
||||
|
||||
```
|
||||
///*****///
|
||||
|
||||
[Intro]
|
||||
[instrumental intro only, no vocal]
|
||||
|
||||
[Verse]
|
||||
Тяжёлый шаг, камень за камнем
|
||||
Ветер рвёт дыханье, но не сбить меня
|
||||
Каждый метр — битва, каждый вздох — победа
|
||||
Вершина ближе, сердце как маяк
|
||||
|
||||
[Pre-Chorus]
|
||||
Тень долины позади
|
||||
Там, где страх остался жить
|
||||
|
||||
[Chorus | anthemic chorus | stacked harmonies]
|
||||
Я поднимаюсь выше!
|
||||
К небу, к солнцу, к огню!
|
||||
Я поднимаюсь выше!
|
||||
(RISE UP NOW!)
|
||||
Никто не остановит путь мой
|
||||
|
||||
[break 0.5]
|
||||
|
||||
[Verse]
|
||||
Снег под ногами, холод в руках
|
||||
Но внутри пылает жар, что не погасить
|
||||
|
||||
[Chorus | SING ONE OCTAVE HIGHER]
|
||||
Я поднимаюсь выше!
|
||||
К небу, к солнцу, к огню!
|
||||
Я поднимаюсь выше!
|
||||
(RISE UP NOW!)
|
||||
```
|
||||
|
||||
**Style (передаётся в `style`):**
|
||||
|
||||
```
|
||||
genre: anthemic alternative rock, 2010s stadium rock.
|
||||
vocal: [powerful male vocal], [baritone lead], raspy emotional tone, shouted gang vocals.
|
||||
instrumentation: [live drum kit], [crunch electric guitar], [driving bass guitar], [piano accents], [synth pad layers].
|
||||
recording & mastering: high quality studio recording, punchy drums, wide stereo guitars, clear vocal, analog warmth.
|
||||
```
|
||||
|
||||
**Negative Prompt (передаётся в `negativeTags`):**
|
||||
|
||||
```
|
||||
trap, electronic beats, female vocals, jazz chords, muddiness, weak drums
|
||||
```
|
||||
|
||||
### Вызов генерации
|
||||
|
||||
```
|
||||
suno_generate_music
|
||||
prompt: "///*****///\n\n[Intro]..."
|
||||
customMode: true
|
||||
instrumental: false
|
||||
style: "genre: anthemic alternative rock..."
|
||||
title: "Восхождение"
|
||||
negativeTags: "trap, electronic beats, female vocals, jazz chords, muddiness, weak drums"
|
||||
model: "V4_5ALL"
|
||||
```
|
||||
|
||||
### Память и предпочтения
|
||||
|
||||
Если пользователь ранее запрашивал определённые жанры (например, «Philly Disco» или «Funk Carioca»), используй их автоматически в новых запросах, если это уместно.
|
||||
|
||||
### Проверка перед отправкой
|
||||
|
||||
- [ ] `customMode`, `instrumental`, `model` указаны
|
||||
- [ ] Для `customMode: true` заполнены `style` и `title`
|
||||
- [ ] Для вокального трека (`instrumental: false`) заполнен `prompt` с текстом
|
||||
- [ ] `style` не превышает лимит символов для выбранной модели
|
||||
- [ ] `negativeTags` — список через запятые, без `no`
|
||||
- [ ] Ударения **не** размечены заглавными буквами
|
||||
|
||||
## Обработка ошибок
|
||||
|
||||
|
||||
Reference in New Issue
Block a user