Skill 详情
suno-music-production
完整的 Suno AI 音乐制作工作流,涵盖歌词创作、风格提示词工程、分段生成、extend、concat、replace、stems 和导出。
使用前先检查
自动化审核只检查相关性,不代表安全审查或推荐。使用前请阅读来源中的说明。
SKILL.md
这段内容是审核时保存的快照。外部来源才是完整且最新的版本。
---
name: suno-music-production
description: |
Suno AI music production skill for Claude Code. Covers the full workflow: lyrics writing, style prompt engineering,
segmented generation, extend, concat, replace, stems separation, and export.
Trigger: user wants to create music, generate songs, write lyrics for Suno, or do any music production task.
Keywords: music, song, Suno, lyrics, generate music, extend, stems, 音乐, 歌曲, 歌词, 作曲
---
# Suno AI Music Production Skill
Complete workflow for producing music with Suno AI via Claude Code + MCP / API.
---
## Prerequisites
- Suno MCP server connected (provides `suno_*` tools)
- AceData API key (set in environment variable `SUNO_API_KEY`)
- Get your API key: https://share.acedata.cloud/r/1uN6kcPEzk
---
## API Call Rules (Critical)
### Generation vs Query
| Type | Method | Reason |
|------|--------|--------|
| **Generation** (generate, extend, replace, cover, remaster, all_stems) | `curl --max-time 180` | MCP HTTP transport times out on long operations (~60s) |
| **Query** (get_task, list_models, list_actions, get_timing) | MCP tools | Instant response, MCP works fine |
| **Export** (get_wav, get_mp4, get_midi) | MCP tools | Usually fast enough |
### curl Template for Generation
```bash
curl -s -X POST "https://api.acedata.cloud/suno/audios" \
-H "accept: application/json" \
-H "authorization: Bearer $SUNO_API_KEY" \
-H "content-type: application/json" \
-d '<JSON_PAYLOAD>' \
--max-time 180
```
### Credit Protection
1. **NEVER use `suno_optimize_style`** - wastes credits, write style prompts manually
2. **Always query after generation** - use `suno_get_task(task_id)` immediately after generating
3. **Never blindly retry** - check task status first before retrying
4. **Confirm before generating** - show lyrics + style prompt to user, get approval first (~0.55 credits per generation, produces 2 versions)
5. **Confirm before replace_section** - explain: which segment, time range, new lyrics content
### Cost Reference
| Operation | Credits | Output |
|-----------|---------|--------|
| `generate_music` / `generate_custom_music` | ~0.55 | 2 versions |
| `extend_music` | ~0.55 | 2 versions |
| `replace_section` | ~0.80 | 2 clips (need concat) |
| `concat` | ~0.05 | 1 complete version |
| `remaster_music` | ~0.55 | 2 versions |
| `cover_music` | ~0.55 | 2 versions |
| `all_stems` (12-track) | TBD | 24 tracks (2 sets of 12) |
| `stems_music` (vocal split) | TBD | 2 tracks |
| Query operations | Free | - |
---
## Workflow
```
1. User describes idea
2. Claude writes style prompt + lyrics (GMIV formula)
3. [MUST] Show lyrics + style to user for confirmation
4. Generate first half via curl (get task_id)
5. Query result via MCP get_task -> return audio link
6. User picks version -> extend remaining sections (via curl)
7. [MUST] Let user listen to extend before deciding to concat
8. User confirms -> concat to full song
9. User listens -> refine via replace_section if needed
10. Export: WAV + 12-track stems + MIDI
```
### Key Workflow Rules
- **Extend first, listen second, concat third** - never auto-concat after extend
- **Always use absolute paths for downloads** - scripts/tools may reset working directory
- **Default export: WAV + all_stems + MIDI** - no MP4 unless explicitly requested
- **One song = one directory** - e.g. `造浪/`, with README.md tracking all versions
---
## Style Prompt Engineering
### GMIV Formula
```
G = Genre -> 1-3 genre tags
M = Mood -> atmosphere/emotion descriptors
I = Instruments -> specific instruments and playing style
V = Vocals -> gender, technique, expressiveness
```
### Construction Rule
```
[Genre 1], [Genre 2], [Tempo], [Mood 1], [Mood 2], [Mood 3],
[Instrument 1], [Instrument 2], [Vocal description], [Production quality]
```
Best: 4-10 descriptors. Emotion over music theory ("Haunting" not "C minor"). No artist names.
### Style Templates by Genre
**Dance/Viral:**
```
Synth-pop, EDM, Allegretto, Catchy, Energ在 GitHub 阅读完整来源 (打开外部页面)