Suno Music - AI Music Generation
Generate music using Suno AI's API.
Setup (One-Time)
- Sign in to suno.ai
- Open browser DevTools (F12) → Console tab
- Run:
document.cookie - Find the
__session=eyJ...part (it's a long JWT token) - Export it:
export SUNO_COOKIE="__session=eyJ..."
Note: The __session token expires after ~1 hour. You'll need to refresh it periodically.
Usage
Run the generation script:
python3 ~/.claude/skills/suno-music/generate_music.py "your prompt here" [options]
Options
| Option | Description | Default |
|--------|-------------|---------|
| --custom | Treat prompt as lyrics (not description) | False |
| --tags | Style/voice tags (e.g., "female voice, pop, upbeat") | None |
| --title | Song title | None |
| --instrumental | Generate instrumental only (no vocals) | False |
| --output | Output directory path | ./generated_music |
| --model | Model key (e.g., chirp-auk-turbo) | Default free model |
Examples
Generate from description
python3 ~/.claude/skills/suno-music/generate_music.py "an upbeat electronic track for a tech product demo"
Custom lyrics with style
python3 ~/.claude/skills/suno-music/generate_music.py "[Verse 1]
Walking through the morning light
Everything feels just right" --custom --tags "indie folk, acoustic guitar, male voice" --title "Morning Light"
Instrumental track
python3 ~/.claude/skills/suno-music/generate_music.py "epic orchestral trailer music with building tension" --instrumental
Output
Songs are saved with format: {timestamp}_{sanitized_title}_{n}.mp3
Example: 20260106_morning_light_1.mp3
Suno generates 2 variations per request by default.
Credits
- Free tier: 50 credits/day (renews daily)
- Each generation uses 10 credits (5 per song × 2 variations)
- So you can generate 5 songs per day on the free tier
Check remaining credits:
python3 ~/.claude/skills/suno-music/generate_music.py --credits
Models
| Model | Key | Notes | |-------|-----|-------| | v4.5-all | chirp-auk-turbo | Best free model (default) | | v5 | chirp-crow | Pro only, beta | | v4.5+ | chirp-bluejay | Pro only | | v4 | chirp-v4 | Pro only |
Requirements
- Python 3.x
requestslibrary (usually pre-installed)SUNO_COOKIEenvironment variable with__sessiontoken
Troubleshooting
"API Error: 401" - Token expired. Get a fresh __session token from the browser.
"API Error: 402" - Out of credits. Wait for daily refresh or upgrade.