ACE-Step: AI Music Generation
Generate music tracks locally using ACE-Step 1.5. Runs locally on your own GPU.
When to use
Trigger on: "сгенерируй музыку", "сделай трек", "music generation", "ace-step", "напиши песню", "сгенерируй аудио", "background music", "soundtrack", "jingle"
Quick start
# Simple instrumental
cd ~/your-ace-step && uv run python ~/.claude/skills/ace-step/scripts/generate.py "epic cinematic orchestral" --instrumental --duration 60
# Song with auto-generated lyrics
cd ~/your-ace-step && uv run python ~/.claude/skills/ace-step/scripts/generate.py "upbeat pop song about coding" --generate-lyrics --duration 120
# Song with custom lyrics
cd ~/your-ace-step && uv run python ~/.claude/skills/ace-step/scripts/generate.py "indie folk acoustic" --lyrics "[Verse 1]\nWalking down the road..." --duration 90
# Use XL model for better quality (slower, uses CPU offload)
cd ~/your-ace-step && uv run python ~/.claude/skills/ace-step/scripts/generate.py "jazz piano trio" --model acestep-v15-xl-turbo --instrumental --duration 60
# Fast draft with no LM thinking
cd ~/your-ace-step && uv run python ~/.claude/skills/ace-step/scripts/generate.py "techno beat" --no-thinking --instrumental --duration 30
Parameters
| Parameter |
Default |
Description |
caption |
required |
Music style/description prompt |
--lyrics |
"" |
Song lyrics (with [Verse], [Chorus] tags) |
--duration |
120 |
Length in seconds (10-600) |
--instrumental |
false |
No vocals |
--bpm |
auto |
Beats per minute |
--key |
auto |
Key/scale (e.g. "C major", "A minor") |
--language |
en |
Vocal language: en, zh, ja, ko, ru, etc |
--model |
auto |
DiT model (acestep-v15-turbo, acestep-v15-sft, acestep-v15-xl-turbo, acestep-v15-xl-sft) |
--seed |
-1 |
Random seed for reproducibility |
--steps |
auto |
Inference steps (more = better quality) |
--no-thinking |
false |
Skip LM (faster but lower quality) |
--generate-lyrics |
false |
Auto-generate lyrics from caption |
--config |
"" |
Use existing TOML config file |
--json |
false |
Output as JSON (for programmatic use) |
Models available
| Model |
Quality |
Speed (16GB) |
When to use |
| acestep-v15-turbo |
Good |
~5-10s |
Quick drafts, iteration |
| acestep-v15-sft |
Better |
~10-20s |
Default, balanced |
| acestep-v15-xl-turbo |
Great |
~20-40s |
Final renders (CPU offload) |
| acestep-v15-xl-sft |
Best |
~30-60s |
Production quality (CPU offload) |
Output
- Files saved to the user's Music folder, subdirectory
ace-step/. The script prints the
resolved absolute path on every run — read it, do not assume ~/Music.
- On a localized Linux the folder is named «Музыка»/«Musique», not
Music: the path is
taken from xdg-user-dir MUSIC. Override with ACE_STEP_OUTPUT_DIR=/where/you/want.
- Format: WAV (lossless)
- First run downloads model weights (~15-25 GB total from HuggingFace)
Lyrics format
[Verse 1]
First verse lyrics here
Second line of verse
[Chorus]
Chorus lyrics here
[Verse 2]
Second verse
[Bridge]
Bridge section
[Outro]
Final words
Caption prompt tips
Be specific about:
- Genre: "melodic death metal", "lo-fi hip hop", "orchestral film score"
- Instruments: "acoustic guitar, soft piano, ambient synths"
- Mood: "melancholic, introspective, building to triumphant"
- Vocals: "powerful female soprano", "raspy male baritone", "whispered"
- Tempo: "slow ballad", "high-energy 140 BPM"
- Reference: "in the style of Hans Zimmer film scores"
Gradio UI (alternative)
cd ~/your-ace-step && uv run acestep
# Opens http://127.0.0.1:7860
REST API (alternative)
cd ~/your-ace-step && uv run acestep-api
# REST API on http://127.0.0.1:8001
Architecture
- Location:
~/your-ace-step/
- Runtime: Python 3.12 via uv (isolated venv)
- GPU: your GPU, CPU offload (configure as needed) for XL models
- Tier: tier6a (16-20GB config)
- LM models: 0.6B, 1.7B (for lyrics gen and thinking)
1---2name: ace-step3description: AI-музыка локально (ACE-Step 1.5, на своей видеокарте), CLI scripts/generate.py. Триггеры: «сгенерируй музыку», «сделай трек», «напиши песню». Всё локально, без облачных сервисов.4---56# ACE-Step: AI Music Generation78Generate music tracks locally using ACE-Step 1.5. Runs locally on your own GPU.910## When to use1112Trigger on: "сгенерируй музыку", "сделай трек", "music generation", "ace-step", "напиши песню", "сгенерируй аудио", "background music", "soundtrack", "jingle"1314## Quick start1516```bash17# Simple instrumental18cd ~/your-ace-step && uv run python ~/.claude/skills/ace-step/scripts/generate.py "epic cinematic orchestral" --instrumental --duration 601920# Song with auto-generated lyrics21cd ~/your-ace-step && uv run python ~/.claude/skills/ace-step/scripts/generate.py "upbeat pop song about coding" --generate-lyrics --duration 1202223# Song with custom lyrics24cd ~/your-ace-step && uv run python ~/.claude/skills/ace-step/scripts/generate.py "indie folk acoustic" --lyrics "[Verse 1]\nWalking down the road..." --duration 902526# Use XL model for better quality (slower, uses CPU offload)27cd ~/your-ace-step && uv run python ~/.claude/skills/ace-step/scripts/generate.py "jazz piano trio" --model acestep-v15-xl-turbo --instrumental --duration 602829# Fast draft with no LM thinking30cd ~/your-ace-step && uv run python ~/.claude/skills/ace-step/scripts/generate.py "techno beat" --no-thinking --instrumental --duration 3031```3233## Parameters3435| Parameter | Default | Description |36|-----------|---------|-------------|37| `caption` | required | Music style/description prompt |38| `--lyrics` | "" | Song lyrics (with [Verse], [Chorus] tags) |39| `--duration` | 120 | Length in seconds (10-600) |40| `--instrumental` | false | No vocals |41| `--bpm` | auto | Beats per minute |42| `--key` | auto | Key/scale (e.g. "C major", "A minor") |43| `--language` | en | Vocal language: en, zh, ja, ko, ru, etc |44| `--model` | auto | DiT model (acestep-v15-turbo, acestep-v15-sft, acestep-v15-xl-turbo, acestep-v15-xl-sft) |45| `--seed` | -1 | Random seed for reproducibility |46| `--steps` | auto | Inference steps (more = better quality) |47| `--no-thinking` | false | Skip LM (faster but lower quality) |48| `--generate-lyrics` | false | Auto-generate lyrics from caption |49| `--config` | "" | Use existing TOML config file |50| `--json` | false | Output as JSON (for programmatic use) |5152## Models available5354| Model | Quality | Speed (16GB) | When to use |55|-------|---------|-------------|-------------|56| **acestep-v15-turbo** | Good | ~5-10s | Quick drafts, iteration |57| **acestep-v15-sft** | Better | ~10-20s | Default, balanced |58| **acestep-v15-xl-turbo** | Great | ~20-40s | Final renders (CPU offload) |59| **acestep-v15-xl-sft** | Best | ~30-60s | Production quality (CPU offload) |6061## Output6263- Files saved to the user's Music folder, subdirectory `ace-step/`. The script prints the64 resolved absolute path on every run — read it, do not assume `~/Music`.65- On a localized Linux the folder is named «Музыка»/«Musique», not `Music`: the path is66 taken from `xdg-user-dir MUSIC`. Override with `ACE_STEP_OUTPUT_DIR=/where/you/want`.67- Format: WAV (lossless)68- First run downloads model weights (~15-25 GB total from HuggingFace)6970## Lyrics format7172```73[Verse 1]74First verse lyrics here75Second line of verse7677[Chorus]78Chorus lyrics here7980[Verse 2]81Second verse8283[Bridge]84Bridge section8586[Outro]87Final words88```8990## Caption prompt tips9192Be specific about:93- **Genre**: "melodic death metal", "lo-fi hip hop", "orchestral film score"94- **Instruments**: "acoustic guitar, soft piano, ambient synths"95- **Mood**: "melancholic, introspective, building to triumphant"96- **Vocals**: "powerful female soprano", "raspy male baritone", "whispered"97- **Tempo**: "slow ballad", "high-energy 140 BPM"98- **Reference**: "in the style of Hans Zimmer film scores"99100## Gradio UI (alternative)101102```bash103cd ~/your-ace-step && uv run acestep104# Opens http://127.0.0.1:7860105```106107## REST API (alternative)108109```bash110cd ~/your-ace-step && uv run acestep-api111# REST API on http://127.0.0.1:8001112```113114## Architecture115116- **Location**: `~/your-ace-step/`117- **Runtime**: Python 3.12 via uv (isolated venv)118- **GPU**: your GPU, CPU offload (configure as needed) for XL models119- **Tier**: tier6a (16-20GB config)120- **LM models**: 0.6B, 1.7B (for lyrics gen and thinking)