Short answer: call
POST /api/music/speech, put the full text inscript, and describe delivery withtone. Setgenderandbacking_musicwhen needed. A normal request returns about two spoken-audio candidates; store eachsong_idfor polling and download.
Speech is not singing
| Goal | Endpoint | Output |
|---|---|---|
| Speech, narration or voiceover | /api/music/speech | Spoken audio with optional music |
| Song with melody | /api/music/create | Sung music |
| Custom lyrics and style | /api/music/create/custom | Custom-mode music |
Minimal request
curl -X POST "https://www.suno-api.io/api/music/speech" \
-H "Authorization: Bearer $SUNO_API_KEY" \
-H "Content-Type: application/json" \
--max-time 300 \
-d '{
"script": "Good evening everyone. Thank you for joining us today."
}'A normal run currently costs 0.6 CNY and usually returns two candidates.
Control the delivery
{
"script": "Good evening everyone. Thank you for celebrating this day with us.",
"tone": "warm and slow, wedding reception",
"song_title": "Wedding Toast",
"gender": "f",
"backing_music": false,
"model": "suno-v6"
}| Field | Purpose | Limit / note |
|---|---|---|
script | Full speech text or a description | Up to 5000 characters for v6 |
tone | Emotion, pace and setting | Up to 1000 characters |
gender | Male or female speaker | m or f |
backing_music | Music behind the narration | Defaults to true; false gives dry speech |
song_title | Output title | Up to 100 characters |
After generation
- Save the returned
song_id. - Poll
POST /api/music/queryuntil completed or playable. - Request media through
/api/music/download-urlor/api/music/download-file. - Copy important files to your own storage.
Common validation errors
| Error | Cause | Fix |
|---|---|---|
script is required for speech | No non-empty script | Send a script |
duration is not supported | Unsupported duration field | Remove duration and use script length |
| Character limit error | Script, tone or title is too long | Trim to the reported count |
| Copyright rejection | Restricted source text | Use your own wording; failed generation is refunded |
FAQ
Does the Speech API create a song?
No. It creates spoken audio and may add background music. Use a music endpoint for singing.
How is the speech duration controlled?
By the amount of text in the script. The endpoint does not accept duration.
Can I use a cloned voice?
Not on this endpoint. Use gender for now; use the separate voice-clone capability for a custom voice workflow.
Read the Speech API reference, lyrics timeline guide, and song query API.
¥0.6 per generation, 2 tracks, unlimited downloads
Runs on the Suno V6 engine. Download MP3 or WAV as often as you like. Signing up needs an email address, not a phone number.


