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

ElevenLabs Music “Low pulsing strings over a steady kick at 120 BPM, building to a big final swell”
Technical specifications
InputText prompt, or a section-by-section plan
OutputMusic
LengthUp to 10 minutes
VocalsWith 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
}
Example request to the generate endpoint.

Options

OptionValuesDefault
forceInstrumentalboolean
compositionPlanobject

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.

ModeCharged perPrice changes withLength a quote assumes without one
MusicStarted minute of music, up to 10 minutesFixed rate30 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/quote

The 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.

Questions

Can I use my own ElevenLabs account and cloned voices?
Yes. The built-in models use 21 stock voices and are paid in Shotstack credits. To use your own ElevenLabs account, voices or clones, generate the audio with the ElevenLabs API and add it to your edit as a file. The ElevenLabs voiceover recipe in the Shotstack cookbook shows the full flow.
Do I need an account with the model provider?
No. Generation runs on your Shotstack API key and is paid in credits from the same balance as rendering, so there is no separate account to open and nothing extra to integrate.
Do I pay again for the same asset?
No. Every generated file is stored against your account. An asset with the same type, model, prompt, options and length as one generated before reuses the stored file at no charge.
What happens if a generation fails?
A failed generation isn't charged. If a render fails after some of its assets were generated, those assets are kept, and rendering again reuses them at no charge.
Can I generate an asset without rendering a video?
Yes. POST the asset to the generate endpoint and you get back a URL to the file, to check it before you render, to reuse it across many edits, or to use it outside Shotstack.

Start free

  • 10 free credits to start
  • No credit card required