ElevenLabs Pro - Music Generation
Full tracks from a text prompt, without a single model file
- audio
You can spend an entire weekend fighting local music models, or you can paste a sentence into this node and have a finished track back in a couple of minutes. ElevenLabsPro_Music is the pack's paid music generator: text in, up to ten minutes of audio out, and it doesn't need you to download a single checkpoint. The trade - it's a cloud API, so it runs on ElevenLabs' servers and costs credits.
Here's how it works under the hood. The node posts to ElevenLabs' /v1/music endpoint with the music_v1 model, and here's a bit of history worth knowing: v2.0 of this pack sent duration_seconds to the API, which isn't even a valid field, and capped out at five minutes. The v2.1 rewrite fixed that by converting your duration_seconds slider into the API's actual music_length_ms field and extending the range to the real 3–600 second limit. If the node now says 600, that's verified against the live spec, not a typo.
The two inputs you'll actually touch:
- prompt - plain-English description of the music. "Warm lo-fi beat, 90 BPM, dusty vinyl texture" does exactly what you'd hope.
- duration_seconds - 3 to 600. Keep in mind music billing; a ten-minute track is a real line on your credit statement.
force_instrumental is the sleeper feature - flip it on and you get an instrumental-only track, which is what most people want for B-roll or podcast beds anyway. If you want to get fancy, composition_plan accepts a JSON object that overrides the prompt entirely and lets you specify named sections with their own durations; set respect_sections_durations to keep the API honest about them. seed gives you reproducibility (0 = random, and determinism isn't guaranteed even then), sign_with_c2pa stamps provenance on the output, and output_format follows the same list every node in this pack shares. One heads-up: mp3_44100_192 and the opus formats need Creator tier or better.
The single output is audio, the same AUDIO dict every node in this pack uses, so you can wire it straight into a preview node or into ElevenLabsPro_SaveAudio to write it to ComfyUI/output.
Install is the standard two-liner, and it's refreshingly light:
cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-ElevenLabs-Pro.git
pip install -r ComfyUI-ElevenLabs-Pro/requirements.txt
Then restart ComfyUI. Or search "ComfyUI-ElevenLabs-Pro" in ComfyUI Manager. The requirements are just requests and soundfile - no heavy ML deps, no model downloads, because the heavy lifting happens in ElevenLabs' cloud. You do need an account and API key (paste it into the node or set ELEVENLABS_API_KEY); the node validates that either a prompt or a composition plan is present before burning anything.
Where people get burned: this is a paid node, and unlike your local diffusion setup, every new input is another charge. It's also cached by input hash (the pack-wide InputCacheMixin), so re-queuing identical inputs won't re-bill you - but change the seed and you pay again. The timeout is a generous 600 seconds because long tracks genuinely take a while to render. If you want to sanity-check what a run will cost before you commit, run your prompt through the pack's Cost Estimator node first.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| prompt | STRING | Text description of the music. Required unless composition_plan is set. | |
| modelopt | COMBO | music_v1 | 1 options: music_v1 |
| duration_secondsopt | FLOAT | 303–600 | Duration in seconds (3 - 600). Converted to music_length_ms. |
| seedopt | INT | 00–4294967295 | Seed for reproducibility. 0 = random. Determinism not guaranteed. |
| force_instrumentalopt | BOOLEAN | false | Generate instrumental-only music (no vocals). |
| respect_sections_durationsopt | BOOLEAN | true | Enforce composition_plan section durations. |
| store_for_inpaintingopt | BOOLEAN | false | Server-side store result for follow-up inpainting calls. |
| sign_with_c2paopt | BOOLEAN | false | Sign output with C2PA provenance. |
| composition_planopt | STRING | Optional JSON composition_plan object — overrides prompt if set. See ElevenLabs Music API docs. | |
| output_formatopt | COMBO | mp3_44100_128 | Audio output format. mp3_44100_192 and opus require Creator tier+. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |