ElevenLabs Music API
Create music from a prompt, with vocals or instruments only. Useful for background tracks or songs with planned sections and lyrics.
ElevenLabs · elevenlabs-music
Music
Create music from a prompt, with vocals or instruments only. Useful for background tracks or songs with planned sections and lyrics.
Put a prompt and "model": "elevenlabs-music" on an audio clip, and the render generates it and edits it into the video. To generate it on its own, send the same asset to the generate endpoint.
Built forBackground tracks · Songs with lyrics · Music timed to an edit
Technical specifications
| Input | Text prompt, or a section-by-section plan |
|---|---|
| Output | Music |
| Length | Up to 10 minutes |
| Vocals | With vocals, or instrumental only |
{
"asset": {
"type": "audio",
"prompt": "Low pulsing strings over a steady kick at 120 BPM, building to a big final swell",
"model": "elevenlabs-music",
"options": {
"forceInstrumental": true
}
},
"length": 15
}Pricing
Generation is paid in credits from the same balance as rendering, at what the model's provider charges plus a small margin. See AI generation pricing.
| Mode | Charged per | Price changes with | Length a quote assumes without one |
|---|---|---|---|
| Music | Started minute of music, up to 10 minutes | Fixed rate | 30 seconds |
Get a quote
POST /generate/quote takes the same body as the generate endpoint and returns what that generation would cost. Nothing is generated, reserved or charged.
curl -X POST \
-H "Content-Type: application/json" \
-H "x-api-key: $SHOTSTACK_API_KEY" \
-d '{
"asset": {
"type": "audio",
"prompt": "Low pulsing strings over a steady kick at 120 BPM, building to a big final swell",
"model": "elevenlabs-music",
"options": {
"forceInstrumental": true
}
},
"length": 15
}' \
https://api.shotstack.io/edit/stage/generate/quoteThe response gives credits, the price of that request, and ceiling, which is true when the request has no length for a model charged by length, so the price is an estimate. Prices follow the providers, so ask again rather than storing one.