Suno Music Generation
Generate songs via a local gcui-art/suno-api server.
Setup
- Clone and install:
git clone https://github.com/gcui-art/suno-api && cd suno-api && npm install && npm run build
- Create
.env with your Suno cookie and optional 2Captcha key (see repo README)
- Start server:
PORT=3100 npm start (or create a LaunchAgent/systemd service)
- Verify:
curl http://localhost:3100/api/get_limit
Set SUNO_API_URL env var if not running on http://localhost:3100.
Quick Generate (simple mode)
For casual requests ("make a song about X") — Suno writes the lyrics:
scripts/suno.sh generate --prompt "DESCRIPTION" --wait
Custom Generate (full control)
For specific lyrics and style:
scripts/suno.sh custom --prompt "LYRICS" --style "GENRE TAGS" --title "TITLE" --wait
Add --instrumental for no vocals. Add --negative-tags "TAGS" to exclude styles.
Generate Lyrics First
When user provides a theme but not lyrics — generate, review, then create:
scripts/suno.sh lyrics --prompt "THEME"
Check Status / Credits
scripts/suno.sh status --ids "ID1,ID2"
scripts/suno.sh credits
Download Audio
scripts/suno.sh download --url "AUDIO_URL" --out "/path/to/file.mp3"
Workflow
- Vague idea →
generate (Suno writes lyrics from description)
- Specific vision → write lyrics, then
custom with style tags and title
- Review first →
lyrics to generate, show user, edit, then custom
- Always use
--wait — blocks until audio URLs are ready (~60-120s)
- Each generation creates 2 song variations
- Download audio and send via message tool (as attachment)
- Songs appear in the user's Suno library/playlists
Style Tags Examples
pop, upbeat, happy, female vocals
country, acoustic guitar, male vocals, storytelling
hip hop, trap beats, autotuned vocals
classical, orchestral, cinematic
rock, electric guitar, energetic, anthem
thrash metal, aggressive riffs, double bass drums, distorted guitar
jazz, smooth, saxophone, lounge
lullaby, soft, gentle, music box
folk, banjo, americana, warm
edm, electronic, dance, synth
r&b, soulful, smooth, groovy
Cookie Refresh
If auth errors occur, refresh the Suno cookie:
- Open suno.com/create in browser → DevTools (F12) → Network tab
- Refresh page → find request with
?__clerk_api_version
- Copy the Cookie header value → update
.env → restart server
Notes
- Default model: Suno v5 (
chirp-crow); override via --model flag
- Each generation uses credits (~10 per song pair)
- Audio files are MP3, typically 2-4 min
- 2Captcha key optional but recommended for long-term stability
1---2name: suno-music3description: Generate AI music and songs via Suno. Use when: (1) user asks to create, make, or generate a song or music, (2) user wants lyrics written, (3) user wants a song for an occasion (birthday, celebration, joke, roast, lullaby, etc). Requires gcui-art/suno-api self-hosted server. Supports custom lyrics, style/genre tags, instrumental tracks, and Suno v5.4---56# Suno Music Generation78Generate songs via a local [gcui-art/suno-api](https://github.com/gcui-art/suno-api) server.910## Setup11121. Clone and install: `git clone https://github.com/gcui-art/suno-api && cd suno-api && npm install && npm run build`132. Create `.env` with your Suno cookie and optional 2Captcha key (see repo README)143. Start server: `PORT=3100 npm start` (or create a LaunchAgent/systemd service)154. Verify: `curl http://localhost:3100/api/get_limit`1617Set `SUNO_API_URL` env var if not running on `http://localhost:3100`.1819## Quick Generate (simple mode)2021For casual requests ("make a song about X") — Suno writes the lyrics:2223```bash24scripts/suno.sh generate --prompt "DESCRIPTION" --wait25```2627## Custom Generate (full control)2829For specific lyrics and style:3031```bash32scripts/suno.sh custom --prompt "LYRICS" --style "GENRE TAGS" --title "TITLE" --wait33```3435Add `--instrumental` for no vocals. Add `--negative-tags "TAGS"` to exclude styles.3637## Generate Lyrics First3839When user provides a theme but not lyrics — generate, review, then create:4041```bash42scripts/suno.sh lyrics --prompt "THEME"43```4445## Check Status / Credits4647```bash48scripts/suno.sh status --ids "ID1,ID2"49scripts/suno.sh credits50```5152## Download Audio5354```bash55scripts/suno.sh download --url "AUDIO_URL" --out "/path/to/file.mp3"56```5758## Workflow59601. **Vague idea** → `generate` (Suno writes lyrics from description)612. **Specific vision** → write lyrics, then `custom` with style tags and title623. **Review first** → `lyrics` to generate, show user, edit, then `custom`634. Always use `--wait` — blocks until audio URLs are ready (~60-120s)645. Each generation creates **2 song variations**656. Download audio and send via message tool (as attachment)667. Songs appear in the user's Suno library/playlists6768## Style Tags Examples6970- `pop, upbeat, happy, female vocals`71- `country, acoustic guitar, male vocals, storytelling`72- `hip hop, trap beats, autotuned vocals`73- `classical, orchestral, cinematic`74- `rock, electric guitar, energetic, anthem`75- `thrash metal, aggressive riffs, double bass drums, distorted guitar`76- `jazz, smooth, saxophone, lounge`77- `lullaby, soft, gentle, music box`78- `folk, banjo, americana, warm`79- `edm, electronic, dance, synth`80- `r&b, soulful, smooth, groovy`8182## Cookie Refresh8384If auth errors occur, refresh the Suno cookie:851. Open suno.com/create in browser → DevTools (F12) → Network tab862. Refresh page → find request with `?__clerk_api_version`873. Copy the Cookie header value → update `.env` → restart server8889## Notes9091- Default model: Suno v5 (`chirp-crow`); override via `--model` flag92- Each generation uses credits (~10 per song pair)93- Audio files are MP3, typically 2-4 min94- 2Captcha key optional but recommended for long-term stability