ElevenLabs MCP server
Prebuilt SnapLogic agentic-tool pipelines that let an LLM read from and act on ElevenLabs, callable as MCP tools via Pipeline Execute. Published in the SnapLogic pattern catalog.
Overview
This tool pack gives an agent full access to the ElevenLabs audio platform, covering text-to-speech, multi-speaker dialogue, transcription, dubbing, music and sound generation, and voice design or cloning. It also lets the agent inspect available voices, models, and the account's subscription status.
For setup instructions, see SnapLogic MCP Server quickstart.
Example Prompts
- Clean up the background noise on this recording
- Isolate just the voice from this clip, the music is too loud
- Remove the room noise from this interview audio
- Give me a clean vocal-only version of this file
- Delete the test voice I cloned yesterday
- Remove voice 21m00Tcm4TlvDq8ikWAM from our account
- Clean up that duplicate designed voice
- Dub this product demo video into Spanish
- Create a German version of this webinar recording, there are two speakers
- Translate and re-voice this YouTube video into Japanese and call the job 'Launch JP'
Tools
| Tool Name | Functions |
|---|---|
| ElevenLabsAudioIsolation | Strip background noise and music out of a recording. |
| ElevenLabsDeleteVoice | Delete a voice from the account by id. |
| ElevenLabsDubbingCreate | Start a dubbing job to translate and re-voice media into another language. |
| ElevenLabsDubbingDownload | Download the dubbed audio track for a completed job in a given language. |
| ElevenLabsDubbingStatus | Check the progress of a dubbing job by its id. |
| ElevenLabsForcedAlignment | Align a known transcript to its audio and return the timings. |
| ElevenLabsGetSubscription | Get the account's plan, quota and usage. |
| ElevenLabsGetVoice | Get the full details of one voice by id. |
| ElevenLabsListModels | List the ElevenLabs models available to the account. |
| ElevenLabsListVoices | List all voices available to the account. |
| ElevenLabsMusicGenerate | Generate a music track from a text brief, with optional lyrics. |
| ElevenLabsSoundGeneration | Generate a sound effect from a text description. |
| ElevenLabsSpeechToSpeech | Convert a recording into a different voice, keeping the performance. |
| ElevenLabsSpeechToText | Transcribe an audio file from a URL, optionally with speaker labels. |
| ElevenLabsTextToDialogue | Render a multi-speaker scripted conversation as one audio take. |
| ElevenLabsTextToSpeech | Synthesise speech from text in a chosen ElevenLabs voice. |
| ElevenLabsVoiceClone | Clone a voice from a sample recording and add it to the account. |
| ElevenLabsVoiceDesign | Design a new voice from a written description and preview it. |
Set up the MCP Server tools
- Download elevenlabs_tools.zip.
- In SnapLogic Designer, open the target project space (or create one), then choose Import Project / Import Pipelines and select the downloaded elevenlabs_tools.zip. Designer unpacks each pipeline into the project.
- Attach the required account to the connectivity snaps (see Connection Setup).
- Expose the project as an MCP server — each pipeline becomes a tool named after its label. New to this? Start with the MCP quickstart, then use the MCP Server Pipeline Builder to generate the server from the imported pipelines.
Configure account
Attach an API Suite account (OAuth 2.0 or Bearer token) to the HTTP Client snap in Designer after import.
These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute.
See the SnapLogic account documentation for this connector: API Suite Account Configuration.
ElevenLabsAudioIsolation
Strips background noise, room tone, and music from a recording, leaving clean isolated voice audio. Use it when a user asks to clean up or de-noise a clip before transcription or synthesis.
| Parameter | Type | Default | Description |
|---|---|---|---|
| file_url* | string | — | URL of the recording to clean; fetched and uploaded as the audio part of the multipart request. |
* Required parameter.
Try asking:
- Clean up the background noise on this recording
- Isolate just the voice from this clip, the music is too loud
- Remove the room noise from this interview audio
- Give me a clean vocal-only version of this file
ElevenLabsDeleteVoice
Permanently removes a voice from the account by its ID. Use it to clean up test clones or unwanted designed voices.
| Parameter | Type | Default | Description |
|---|---|---|---|
| voice_id* | string | — | Id of the voice to delete; appended to the /v1/voices/ path. |
* Required parameter.
Try asking:
- Delete the test voice I cloned yesterday
- Remove voice 21m00Tcm4TlvDq8ikWAM from our account
- Clean up that duplicate designed voice
ElevenLabsDubbingCreate
Starts a dubbing job that translates and re-voices a video or audio file into a target language, then returns a job ID to track progress. Pair it with ElevenLabsDubbingStatus and ElevenLabsDubbingDownload to monitor and retrieve the finished audio.
| Parameter | Type | Default | Description |
|---|---|---|---|
| source_url* | string | — | URL of the media to dub - a hosted audio/video file or a video URL - sent as the source_url form part. |
| source_lang | string | auto |
Language of the source media, e.g. en. Defaults to auto, which lets ElevenLabs detect it. |
| target_lang* | string | — | Language to dub into, e.g. es. |
| num_speakers | integer | 0 |
Hint for how many speakers are in the source, sent as num_speakers (default 0). |
| name | string | — | Label for the dubbing job, e.g. Launch JP. Sent empty when omitted. |
* Required parameter.
Try asking:
- Dub this product demo video into Spanish
- Create a German version of this webinar recording, there are two speakers
- Translate and re-voice this YouTube video into Japanese and call the job 'Launch JP'
- Start a dubbing job for this podcast episode into French, auto-detect the source language
ElevenLabsDubbingDownload
Downloads the finished dubbed audio track for a completed dubbing job in a specified language. Use it after ElevenLabsDubbingStatus confirms the job is complete.
| Parameter | Type | Default | Description |
|---|---|---|---|
| dubbing_id* | string | — | Id of the completed dubbing job whose audio you want, as returned by ElevenLabsDubbingCreate. |
| language_code* | string | — | Which rendered track to fetch, e.g. es; forms the /v1/dubbing/{id}/audio/{lang} path. |
* Required parameter.
Try asking:
- Download the Spanish track from dubbing job abc123def456
- Get me the finished German audio for that dubbing job
- Fetch the completed dub in French
- The job is done — pull down the dubbed audio
ElevenLabsDubbingStatus
Checks the progress of a dubbing job and reports whether it is still rendering, has finished, or failed. Use it to poll between creating a job and downloading the result.
| Parameter | Type | Default | Description |
|---|---|---|---|
| dubbing_id* | string | — | Id of the dubbing job to check, as returned by ElevenLabsDubbingCreate; appended to the /v1/dubbing/ path. |
* Required parameter.
Try asking:
- Is the Spanish dub finished yet?
- Check the status of dubbing job abc123def456
- Has that video translation job completed?
- What's the state of the dubbing I kicked off earlier?
ElevenLabsForcedAlignment
Aligns a known transcript to an audio recording and returns the timing of each phrase in the recording. Use it when you have both the audio and the script and need timings for subtitles or animation.
| Parameter | Type | Default | Description |
|---|---|---|---|
| file_url* | string | — | URL of the audio file; fetched and uploaded as the audio part of the multipart request. |
| text* | string | — | The transcript already known to be spoken in the recording, sent as the text part and aligned against the audio. |
* Required parameter.
Try asking:
- Line up this narration script with the recording and give me timings
- I have the audio and the exact script — where does each phrase fall?
- Generate subtitle timings for this voiceover using the text I already have
- Sync this transcript to the audio file so I can cut it into segments
ElevenLabsGetSubscription
Returns the account's subscription plan, character quota, and current usage. Use it to check remaining allowance before running large batches of synthesis or dubbing.
No parameters.
Try asking:
- How many characters do we have left this month?
- What ElevenLabs plan are we on?
- Have we got enough quota to voice this whole script?
- Show me our current usage against the subscription limit
ElevenLabsGetVoice
Fetches the details of a single voice by its ID, including its name, labels, and settings. Use it when the user wants information about a specific voice or to confirm it exists before using it for synthesis.
| Parameter | Type | Default | Description |
|---|---|---|---|
| voice_id* | string | — | Id of the voice to fetch; appended to the /v1/voices/ path. |
* Required parameter.
Try asking:
- Tell me about the voice 21m00Tcm4TlvDq8ikWAM
- What are the settings on our brand narrator voice?
- Show me the details for the voice we cloned last week
- Does this voice id still exist?
ElevenLabsListModels
Lists the ElevenLabs models available to the account, with their capabilities. Use it when the user asks which model to use or to verify a model is available before passing it to another tool.
No parameters.
Try asking:
- Which ElevenLabs models can we use?
- Is eleven_v3 available on our plan?
- What's the best model for multilingual speech?
- Show me the transcription models we have access to
ElevenLabsListVoices
Lists all voices available to the account, including library voices and any the account has designed or cloned. Use it to find a voice ID when the user refers to a voice by name.
No parameters.
Try asking:
- What voices do we have available?
- Show me our cloned voices
- Which voice should I use for a British narrator?
- Find the voice id for Rachel
ElevenLabsMusicGenerate
Generates a music track from a text description, with optional lyrics and configurable length. Use it for background music, jingles, or any scored audio that accompanies generated speech.
| Parameter | Type | Default | Description |
|---|---|---|---|
| prompt | string | — | Written brief describing the track to compose, e.g. upbeat electronic with driving bass. Sent as prompt. |
| lyrics_text | string | — | Lyrics for a sung track, sent as lyrics_text. Omit to send none. |
| music_length_ms | integer | — | Requested track length in milliseconds, e.g. 30000. Omit to send none. |
| force_instrumental | boolean | false |
Whether to keep the track wordless, sent as force_instrumental (default false). |
Try asking:
- Write me a 30-second upbeat electronic track for a product video
- Generate a calm instrumental bed for a corporate voiceover, no vocals
- Compose a short jingle with these lyrics
- Make a one-minute cinematic build for the intro of our launch film
ElevenLabsSoundGeneration
Generates a sound effect from a text description, with optional control over duration and how closely the result matches the description. Use it for foley, UI sounds, ambiences, and other short non-speech audio.
| Parameter | Type | Default | Description |
|---|---|---|---|
| text* | string | — | Description of the sound effect to generate, e.g. thunderstorm with heavy rain. |
| duration_seconds | number | — | Requested length of the effect in seconds, e.g. 5. Omit to send none and let ElevenLabs choose. |
| prompt_influence | number | 0.3 |
How closely the result follows the description, sent as prompt_influence (default 0.3). |
* Required parameter.
Try asking:
- Make a five-second thunderstorm with heavy rain
- Generate a short whoosh sound for a slide transition
- I need a coffee-shop ambience loop, around ten seconds
- Create a UI notification chime, stick closely to my description
ElevenLabsSpeechToSpeech
Converts an existing recording into a different voice while preserving the original delivery, timing, and intonation. Use it when the performance is right but the voice needs to change.
| Parameter | Type | Default | Description |
|---|---|---|---|
| voice_id* | string | — | Target voice the recording is re-performed in; its id is placed in the speech-to-speech URL path. |
| file_url* | string | — | URL of the source recording; fetched and uploaded as the audio part of the multipart request. |
| model_id | string | eleven_english_sts_v2 |
Voice-conversion model to use (default eleven_english_sts_v2). |
| remove_background_noise | boolean | false |
Whether to strip background noise from the source before conversion (default false). |
* Required parameter.
Try asking:
- Take this recording and make it sound like Rachel, same delivery
- Convert my rough voiceover into our brand voice
- Re-voice this clip and strip out the background noise
- Swap the narrator on this audio file to voice AZnzlk1XvdvUeBnXmlld
ElevenLabsSpeechToText
Transcribes an audio file from a URL, with options to identify multiple speakers and set timestamp granularity. Use it to get a searchable transcript from an interview, meeting, or voice note.
| Parameter | Type | Default | Description |
|---|---|---|---|
| source_url* | string | — | URL of the audio file to transcribe, sent as source_url in the request body. |
| model_id | string | scribe_v2 |
Transcription model to use (default scribe_v2). |
| language_code | string | — | Language of the spoken audio, e.g. en. Omit to send none and let the model work it out. |
| diarize | boolean | false |
Whether to label which speaker said what, sent as diarize (default false). |
| timestamps_granularity | string | word |
Granularity of the timestamps returned with the transcript, e.g. word (default word). |
* Required parameter.
Try asking:
- Transcribe this interview recording and tell me who said what
- Give me a word-level timestamped transcript of this MP3
- Transcribe this call — it's in French
- Turn this customer voicemail into text
- Transcribe this panel discussion with speaker diarization on
ElevenLabsTextToDialogue
Renders a scripted multi-speaker conversation as a single audio take, with each dialogue line assigned to a specific voice. Use it for character scenes, podcast intros, or training role-plays.
| Parameter | Type | Default | Description |
|---|---|---|---|
| inputs* | array | — | Ordered dialogue lines, each entry pairing text with the voice_id that says it; sent as the inputs array. |
| model_id | string | eleven_v3 |
Dialogue model to use (default eleven_v3). |
* Required parameter.
Try asking:
- Voice this two-person dialogue, Rachel as the customer and Domi as the agent
- Make an audio version of this support role-play script with a different voice per speaker
- Generate a short podcast intro where the two hosts trade lines
- Read this scene aloud with each character in their own voice
ElevenLabsTextToSpeech
Converts text into spoken audio using a specific ElevenLabs voice, with options to choose the model and output format. Use it whenever a user wants a script, announcement, or narration read aloud.
| Parameter | Type | Default | Description |
|---|---|---|---|
| voice_id* | string | — | ElevenLabs voice that speaks the text; its id is placed in the text-to-speech URL path, e.g. 21m00Tcm4TlvDq8ikWAM. |
| text* | string | — | The text to synthesise, sent as the text field of the request body. |
| model_id | string | eleven_multilingual_v2 |
Synthesis model to use (default eleven_multilingual_v2). |
| output_format | string | mp3_44100_128 |
Encoding of the returned audio, sent as the output_format query parameter (default mp3_44100_128). |
| voice_settings | object | — | Voice tuning object passed straight through as voice_settings, e.g. stability and similarity. Omit to send none. |
* Required parameter.
Try asking:
- Read this welcome message out loud in Rachel's voice
- Generate an MP3 narration of this product blurb using voice 21m00Tcm4TlvDq8ikWAM
- Turn this paragraph into speech with the multilingual v2 model
- Voice this announcement and give me the audio at 44.1kHz 128kbps
- Narrate this script but make the delivery more stable than the default
ElevenLabsVoiceClone
Creates a new voice in the account by cloning it from a sample recording, with an optional background-noise removal step. The cloned voice is immediately available to the speech tools.
| Parameter | Type | Default | Description |
|---|---|---|---|
| name* | string | — | Name the cloned voice is saved under, e.g. CEO Narration. |
| file_url* | string | — | URL of the sample recording to clone from; fetched and uploaded as the files part of the multipart request. |
| description | string | — | Optional description stored with the voice, e.g. professional male narrator. Sent empty when omitted. |
| remove_background_noise | boolean | false |
Whether to clean background noise out of the sample before cloning (default false). |
* Required parameter.
Try asking:
- Clone this voice sample and save it as 'CEO Narration'
- Add a new voice from this recording of our brand narrator
- Create a cloned voice from this file and clean up the background noise
- Set up a voice from this audio sample so I can use it for narration
ElevenLabsVoiceDesign
Generates a new voice from a written description and previews it reading a sample line, with optional gender, age, and accent guidance. Use it when a user wants a voice that doesn't exist yet, such as a character or brand persona, and wants to audition candidates.
| Parameter | Type | Default | Description |
|---|---|---|---|
| text* | string | — | Sample line the designed voice reads back in the preview, sent as text. |
| voice_description* | string | — | Written description of the voice to create, e.g. a warm and friendly narrator. |
| gender | string | — | Optional gender steer for the designed voice, e.g. female. Omit to send none. |
| age | string | — | Optional age steer for the designed voice, e.g. middle_aged. Omit to send none. |
| accent | string | — | Optional accent steer for the designed voice, e.g. british. Omit to send none. |
* Required parameter.
Try asking:
- Design a warm, friendly female narrator with a British accent
- I need a gravelly older male voice for a documentary — let me hear it read this line
- Create a young, energetic voice for our app onboarding and preview it
- Make me a calm middle-aged narrator voice and have it read this sentence