ElevenLabsText to musicAvailable now
music
music is a text to music tool from ElevenLabs that runs in the background and returns audio. Pay as you go from $0.00325 per second, with one API key.
Try itfrom $0.00325 / second
Pricing
$0.195 per minute. Billed on music_length_ms, or the sections of composition_plan. The final charge comes from usage.
Limits
- Runs
- In the background
- Returns
- audio
- Longest queue wait
- 3600s
- Run deadline
- 1800s
- Largest inline input
- 1024 KB
- Largest input file
- 500 MB
- Largest output
- 4768 MB
- Outputs per run
- 16
Input
| Field | Kind | Default | Description |
|---|---|---|---|
seed | number (whole) 0 to 2147483647 | — | Random seed to initialize the music generation process. Providing the same seed with the same parameters can help achieve more consistent results, but exact reproducibility is not guaranteed and outputs may change across system updates. Cannot be used in conjunction with prompt. |
prompt | text | — | A simple text prompt to generate a song from. Cannot be used in conjunction with `composition_plan`. |
finetune_id | text | — | The ID of the finetune to use for the generation |
lyrics_text | text | — | The lyrics text to use for the generation. |
music_prompt | JSON | — | A music prompt. Deprecated. Use `composition_plan` instead. |
output_format | one of auto, mp3_48000_128, mp3_48000_192, mp3_48000_240, mp3_48000_320, mp3_22050_32, mp3_24000_48, mp3_44100_32, mp3_44100_64, mp3_44100_96, mp3_44100_128, mp3_44100_192, pcm_8000, pcm_16000, pcm_22050, pcm_24000, pcm_32000, pcm_44100, pcm_48000, ulaw_8000, alaw_8000, opus_48000_32, opus_48000_64, opus_48000_96, opus_48000_128, opus_48000_192 | auto | Output format of the generated audio. Formatted as codec_sample_rate_bitrate. Use "auto" (the default) to let the API pick the best format for the selected model: mp3_44100_128 for v1 models and mp3_48000_192 for v2 models. |
sign_with_c2pa | true or false | false | Whether to sign the generated song with C2PA. Applicable only for mp3 files. |
generation_mode | one of track, loop, ambience, video_to_music | — | Optional generation mode hint for prompt-based music generation. Can only be used with `prompt`. |
music_length_ms | number (whole) 3000 to 600000 | — | The length of the song to generate in milliseconds. Used only in conjunction with `prompt`. Must be between 3000ms and 600000ms. Optional - if not provided, the model will choose a length based on the prompt. |
composition_plan | JSON | — | A detailed composition plan to guide music generation. Cannot be used in conjunction with `prompt`. |
finetune_strength | number … to 2 | 1 | How strongly the finetune influences the generation. Defaults to 1.0 (full strength). Lower values soften the influence of the finetune, leaving more room for prompt-level steering. Only meaningful when `finetune_id` is also provided. |
force_instrumental | true or false | false | If true, guarantees that the generated song will be instrumental. If false, the song may or may not be instrumental depending on the `prompt`. Can only be used with `prompt`. |
use_phonetic_names | true or false | false | If true, proper names in the prompt will be phonetically spelled in the lyrics for better pronunciation by the music model. The original names will be restored in word timestamps. |
store_for_inpainting | true or false | false | Whether to store the generated song for inpainting. |
respect_sections_durations | true or false | true | Controls how strictly section durations in the `composition_plan` are enforced. Only used with `composition_plan` and only applies to `music_v1`; for `music_v2` and `music_v2_5` section durations are always enforced and this is ignored. When false for `music_v1`, the model may adjust individual section durations for better quality and latency, while preserving the total song duration from the plan. |
Same request in code
curl https://api.spiral.ai/v1/runs \
-H "Authorization: Bearer $SPIRAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"provider": "elevenlabs",
"model": "music",
"input": {}
}'