Suno music generation
API Reference
Suno API: Generate Music
Generate AI music using simple text prompts.
POST
Suno music generation
Important Notes
- Supports two generation modes:
simpleandcustom - This endpoint generates music based on your text prompts(simple model) or custom lyrics and styles(custom model)
- Each request generates a maximum of two different music variations
- You can control the level of detail through the generation mode and instrumental-only settings
Generate Music (Simple Mode)
Generate music with just one text prompt, no other complicated parameters required.Response Example
Generate Music (Custom Mode)
Custom song generation requires a song title, style, and lyrics (unless generating an instrumental), along with optional advanced parameter settings.Get Task Result
After submitting a task, use the unified query endpoint to check progress and retrieve results:Get Suno Task Info
Learn how to query suno task status and retrieve generation results
Authorizations
All APIs require authentication via API Key.
Get API Key:
- Visit API Key Management Page to get your API Key
Usage: Add to request header:
x-api-key: YOUR_API_KEY
Note:
- Keep your API Key secure and do not share it with others
- If you suspect your API Key has been compromised, reset it immediately in the management page
Body
application/json
The model name to use for generation. Required field.
- Must be
suno/music-generatefor this endpoint
Available options:
suno/music-generate Input parameters for Suno music generation.
Rules:
mode=simple:promptis required.mode=custom:titleandtagsare required.mode=customandinstrumental=false:lyricsis required.model=v4:tagsmax length is 200 andlyricsmax length is 3000.
Optional. Callback URL for receiving task completion notifications.
- System will POST task status and results to this URL when generation completes
- Callback payloads structure is consistent with the
dataobject returned by the task status query - Your callback endpoint should accept POST requests with JSON payload containing results
- It returns an HTTP 200 status code upon successful receipt
Example:
"https://your-domain.com/api/callback"
Response
Request successful
Response status code
- 200: Success - Request has been processed successfully
- 401: Unauthorized - Authentication credentials are missing or invalid
- 402: Insufficient Credits - Account does not have enough credits to perform the operation
- 404: Not Found - The requested resource or endpoint does not exist
- 422: Validation Error - The request parameters failed validation checks
- 429: Rate Limited - Request limit has been exceeded for this resource
- 455: Service Unavailable - System is currently undergoing maintenance
- 500: Server Error - An unexpected error occurred while processing the request
- 501: Generation Failed - Content generation task failed
- 505: Feature Disabled - The requested feature is currently disabled
Available options:
200, 401, 402, 404, 422, 429, 455, 500, 501, 505 Response message, error description when failed
Example:
"success"
