Lyrics generation API
Endpoint description
Lyrics generation creates or rewrites lyrics from a theme, existing lyric context and style requirements. The endpoint has been upgraded to the latest lyrics generation contract and can be used directly for advanced-mode generation.
Endpoint: POST /api/lyrics/generate
Billing: Free within the quota (at most 10 calls per minute and 300 per day per user); above the free quota it costs 0.1 CNY per call.
Detecting over-limit: when the free quota is exceeded the request still runs normally, and the response headers carry X-Suno-Helper-Free: false and X-Suno-Helper-Over-Limit: minute (or day), so the client can tell the user that this call was charged.
Recommended model: suno-v6. suno-v6, suno-v6-wild and suno-v6-mini are available.
Authentication
| Parameter | Type | Required | Notes |
|---|---|---|---|
| Authorization | string | yes | Bearer YOUR_API_KEY |
| Content-Type | string | yes | application/json |
Request parameters
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
| model | string | yes | - | Customer-facing model name: suno-v6, suno-v6-wild or suno-v6-mini |
| instruction | string | yes | - | Lyrics theme or generation requirement |
| style | string | no | - | Style requirement |
| title | string | no | - | Song title or title constraint |
| selected | string | no | "" |
The selected text to be rewritten |
| context_before | string | no | "" |
Context before |
| context_after | string | no | "" |
Context after |
| mode | string | no | apply_user_request |
Lyrics generation mode |
| references | array | no | [] |
List of reference material |
| num_variants | integer | no | null |
Desired number of lyric variants |
| lyricist_id | string | no | null |
A specific lyricist ID (the lyricist list has been retired; new integrations are not recommended) |
| metadata | object | no | - | Extended parameters; supports lyrics_model and enable_thinking |
| lyrics_project_id | string | no | null |
An existing lyrics project ID (the lyrics project series has been retired; new integrations are not recommended) |
instruction also accepts the legacy theme and prompt. metadata.lyrics_model defaults to default and metadata.enable_thinking defaults to false.
Language control
The endpoint has no separate language request field. The lyrics language is decided by the content of instruction; style can only play a supporting role.
To generate Chinese lyrics, state the target language explicitly in instruction, for example:
{
"model": "suno-v6",
"instruction": "请用中文写歌词,主题是夏夜海边重逢",
"style": "Mandopop, 中文流行"
}
You can also write "Write the lyrics in Chinese about ...". To generate English lyrics, write "请用英文写歌词" or "Write the lyrics in English". If you pass only an English theme without stating the target language, the result may be English.
Request example
curl -X POST https://www.suno-api.io/api/lyrics/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"instruction": "An English lyric about the graduation season and starting over",
"style": "pop rock, sincere, memorable chorus",
"title": "Starting over",
"metadata": {
"lyrics_model": "default",
"enable_thinking": false
}
}'
Response
{
"code": 200,
"message": "success",
"data": {
"lyrics": "[Verse]\nWind across the playground\nWe wave goodbye to yesterday",
"edited_lyrics": "[Verse]\nWind across the playground\nWe wave goodbye to yesterday",
"lyrics_id": "lyrics_id",
"lyrics_request_id": "lyrics_request_id"
}
}
edited_lyrics is the complete lyric that should be written into the lyrics box. lyrics_id and lyrics_request_id are for tracing and may be empty depending on what the endpoint returns; do not treat them as song IDs.
Compatibility notes
- The legacy fields
themeandpromptstill work and are mapped toinstruction. - The lyrics project / lyricist endpoint series has been retired: if you need to keep generation results, save the
edited_lyricsreturned by the endpoint yourself.
Get an API key
Create an API key in the console after signing up. ¥0.6 per run returns 2 tracks, downloads are unlimited, and no phone number is required.
Get API key Back to overview