Suno
AI music generation platform with multiple versions and vocal/instrumental options
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/generateTask/suno | Create generation task |
| GET | /api/v1/statusTask/suno | Query task status |
Authentication
All requests require an API Key in the header:
Request Body
Parameters
Parameter
Required
Default
Description
request_typestring—
asyncasync (polling) or callback (webhook)
callback_urlstring✱
—
Callback URL, required when request_type=callback
providerstring—
autoRouting strategy: auto, value, or official
inputobject✓
—
Model input parameters
Mode Options:
V4— Classic version, stable and reliableV4_5— Improved version, better audio qualityV4_5ALL— V4.5 All versionV4_5PLUS— Enhanced version (recommended), balanced quality and speedV5— Latest version, best audio quality and creativity
Prompt Length Limits:
customMode=true: V4 max 3000 chars, V4.5/V4.5ALL/V4.5PLUS/V5 max 5000 charscustomMode=false: max 500 chars
Style Length Limits:
- V4: max 200 chars
- V4.5/V4.5ALL/V4.5PLUS/V5: max 1000 chars
Example
Simple Mode (Non-Custom)
Custom Mode (with Lyrics)
Instrumental (No Vocals)
Response
POST /api/v1/generateTask/suno
Returns taskId on success for subsequent status queries.
Success:
Error:
GET /api/v1/statusTask/suno
Query task execution status and results via taskId.
Success:
Failed:
Status Response Fields
| Field | Type | Description |
|---|---|---|
taskId | string | Unique task identifier |
state | string | pending processing success failed |
resultJson | string | JSON containing resultUrls array (on success) |
failCode | string | Error code (on failure) |
failMsg | string | Error message (on failure) |
createTime | integer | Task creation timestamp (ms) |
completeTime | integer | Task completion timestamp (ms) |
costTime | integer | Processing duration (ms) |
Error Codes
| Code | Description |
|---|---|
| 400 | Invalid parameters or request error |
| 401 | Invalid or missing API Key |
| 429 | Rate limit exceeded |
| Fail Code | Description |
|---|---|
CONTENT_VIOLATION | Content violates safety guidelines |
Rate Limits
| Limit | Value |
|---|---|
| Requests | 10000 / minute |
| Concurrent tasks | 1000 |
Exceeding limits returns 429 error. Wait and retry.
Tips
- Generation time: Average ~60-90 seconds. Submit task, wait 45 seconds, then poll every 5 seconds.
- Callback mode: Recommend using
callbackmode to avoid frequent polling. - Audio expiration: Result URLs are valid for 15 days. Download promptly.
- Content moderation: Lyrics and descriptions must comply with content safety guidelines.
- Version selection:
V4: Classic version, stable and reliableV4_5/V4_5ALL: Improved versions, better audio qualityV4_5PLUS: Enhanced version (recommended), balanced quality and speedV5: Latest version, best audio quality and creativity
- Custom mode vs simple mode:
customMode: false: Simple mode, only provide short description (max 500 chars), system auto-generates lyrics and stylecustomMode: true: Custom mode, provide full lyrics (max 5000 chars), specify style and title
- Lyrics writing tips:
- Use standard song structure (Verse, Chorus, Bridge, etc.)
- Leave blank lines between sections
- Use markers like [Verse 1], [Chorus], [Bridge] to clarify structure
- Lyrics should have rhythm and rhyme
- Style description:
- Use music terminology (e.g., "pop", "rock", "jazz", "orchestral")
- Combine multiple styles (e.g., "orchestral, emotional, film score")
- Describe mood and atmosphere (e.g., "upbeat", "melancholic", "energetic")
- Vocal selection:
vocalGender: "m": Male voice, for lower range, powerful songsvocalGender: "f": Female voice, for higher range, emotional songs- Not specified: System chooses based on style
- Instrumental mode:
instrumental: true: Generate instrumental only (no vocals)- Ideal for background music, soundtracks, ambiance
- Describe instruments and atmosphere in prompt, no lyrics needed
- Weight parameter tuning:
styleWeight(0-1): Style intensity, higher = strictly follows specified styleweirdnessConstraint(0-1): Creativity level, lower = conservative, higher = innovativeaudioWeight(0-1): Audio quality weight- Recommended range: 0.4-0.7
- Negative tags: Use
negativeTagsto avoid unwanted elements (e.g., "noise, distortion, low quality") - Best practices:
- Test with simple mode first to explore styles and effects
- Once satisfied, use custom mode for full lyrics
- V4_5PLUS or V5 versions offer best quality
- Clear structure and strong rhythm in lyrics yield better results
- Audio format: Returns MP3 format, suitable for most playback scenarios.