Music tools
Generate full music tracks with vocals and optional lyrics. All music jobs are asynchronous: start with generate_music, then poll get_music_status until complete.
#Available music models and limits
Use get_models with model_type=music to list current music models, costs, and capabilities. The platform typically offers these Suno-based models:
| Model | Description | Prompt limit (MCP) | Notes |
|---|---|---|---|
| V3.5 | Base model, reliable quality | 400 chars | |
| V4 | Improved quality and speed | 400 chars | |
| V4.5 | Faster, better lyrics, more instrumental choices | 400 chars | |
| V4.5+ | Higher context, better audio, faster | 400 chars | |
| V5 | Latest; best vocals and instrumental, fastest | 400 chars |
Supported parameters:
- Prompt: Required; max 400 characters. Describe the music (style, mood, instruments, tempo).
- Instrumental: If true, generates instrumental only (no vocals). If false or omitted, generates music with vocals.
Only prompt and instrumental are supported; style, lyrics, title, and vocal gender are not available. Use get_models with model_type=music for current models and costs.
#generate_music
Starts a music generation. Supported parameters: prompt and instrumental only.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | Description of the music; max 400 characters. |
| instrumental | boolean | No | If true, generate instrumental only (no vocals). Default: false. |
Example (with vocals):
{
"prompt": "Upbeat pop song about summer"
}
Example (instrumental only):
{
"prompt": "Epic orchestral background music",
"instrumental": true
}
Response: Includes generation_id, task_id, status (e.g. pending), and often estimated_time_seconds and estimated_cost_credits. Poll with get_music_status.
#get_music_status
Check the status of a music generation and get song URLs when done.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| generation_id | string | Yes | ID returned from generate_music. |
Response: Includes status, progress, and when completed a songs array. Each song typically has id, title, audio_url, image_url, duration, lyrics, and style. You usually get multiple song variants per generation.
Model: Optional. When omitted, a default model is used (e.g. V5). Use get_models with model_type=music to list current model IDs and costs.
See Limitations for rate limits and credits.
