POST
/v1/music/video-to-music
ElevenLabs APIVideo To Music
- Base URL
- https://api.elevenlabs.io
- Auth
- xi-api-key: <ELEVENLABS_API_KEY>
- Last verified
- 2026-09-03 · upstream hash matched
Actions
Agents: curl -H "Accept: text/markdown" this URL
→ 205 tokens · Vary: Accept
→ 205 tokens · Vary: Accept
Critical gotchas
Authentication uses the non-standard xi-api-key header, not Authorization: Bearer. Sending a Bearer token returns HTTP 401.
Text-to-speech responses are raw binary audio, not JSON. Write the body to a file (--output speech.mp3) rather than parsing it.
cURL
curl -X POST 'https://api.elevenlabs.io/v1/music/video-to-music?output_format=mp3_22050_32' \ -H "xi-api-key: $ELEVENLABS_API_KEY" \ -F 'videos=@sample.bin' \ -F 'description=string' \ -F 'tags=string' \ -F 'model_id=music_v1' \ -F 'sign_with_c2pa=false'Get a free ElevenLabs API key → sponsored
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| output_format | query | string | No | Output format of the generated audio. Formatted as codec_sample_rate_bitrate. So an mp3 with 22.05kHz sample rate at 32kbs is represented as mp3_22050_32. MP3 with 192kbps bitrate requires you to be subscribed to Creator tier or above. PCM with 44.1kHz sample rate requires you to be subscribed to Pro tier or above. Note that the μ-law format (sometimes written mu-law, often approximated as u-law) is commonly used for Twilio audio inputs. |
| videos | body | string[] | Yes | One or more video files sent via FormData array (multipart/form-data). They will be combined into one codec in order. A maximum of 10 videos is allowed, where the total size of the combined video is limited to 200MB. In total, the video can be up to 600 seconds long. Note that combining multiple videos may increase the request duration significantly. If possible, combine the videos beforehand. |
| description | body | string | No | Optional text description of the music you want. A maximum of 1000 characters is allowed. |
| tags | body | string[] | No | Optional list of style tags (e.g. ['upbeat', 'cinematic']). A maximum of 10 tags is allowed. |
| model_id | body | string | No | Request body field model_id. |
| sign_with_c2pa | body | boolean | No | Whether to sign the generated song with C2PA. Applicable only for mp3 files. |
Response 200 OK
"binary"