Skip to content

Artificial Intelligence

ElevenLabs
API integration

Ship Artificial Intelligence features without building the integration. Full ElevenLabs API access via Proxy and 330+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
ElevenLabs

Use Cases

Why integrate with ElevenLabs

Common scenarios for SaaS companies building ElevenLabs integrations for their customers.

01

Embed AI voice agents into vertical SaaS

CX, helpdesk, and vertical CRM platforms can let their customers spin up branded voice agents that answer phone calls, sync knowledge bases from user docs, and execute actions back in the SaaS via MCP tools — without their engineering team touching ElevenLabs auth or agent lifecycle APIs.

02

Ship automated video dubbing to end users

Video hosting, EdTech, and marketing platforms can offer one-click multi-language dubbing where the end user's own ElevenLabs account handles transcription, translation, and voice-cloned audio generation, with editable transcripts surfaced inside the SaaS UI.

03

Add professional voice cloning to creator tools

Podcasting, audiobook, and content SaaS can let creators clone their voice via PVC, manage samples, and generate long-form narration from typed scripts — all authenticated against the creator's own ElevenLabs workspace.

04

Power avatar and caption sync in video generators

Video generation and animation SaaS can request TTS with character-level timestamps to drive lip-sync animation, karaoke captions, and scene-accurate SFX generation, keeping media pipelines fully server-side.

05

Offer podcast-grade audio post-production

Podcast editors and UGC platforms can plug in audio isolation for noise removal and sound-effect generation from text prompts, letting users clean tracks and drop in generated SFX directly in the timeline.

What You Can Build

Ship these features with Truto + ElevenLabs

Concrete product features your team can ship faster by leveraging Truto’s ElevenLabs integration instead of building from scratch.

01

One-click voice agent deployment

Let end users create a ConvAI agent, attach a knowledge base built from their URLs, files, or text, and bind it to a Twilio, Exotel, SIP, or WhatsApp number from inside your product.

02

Multi-language dubbing pipeline with editable transcripts

Kick off dubbing projects, list languages and transcripts, let users edit individual transcript segments in your UI, and trigger targeted regeneration of the affected audio.

03

TTS with word-level timestamps for lip-sync and captions

Generate speech (or streamed speech) with character/word timestamps to drive avatar animation, karaoke-style captions, or precise scene cuts in a video editor.

04

In-app professional voice cloning studio

Guide creators through PVC creation, sample uploads, verification, and training, then expose their cloned voice for text-to-speech, speech-to-speech, and dialogue generation.

05

RAG-powered knowledge base sync

Programmatically ingest a user's help articles, PDFs, or URLs into an ElevenLabs knowledge base, build RAG indexes, and keep dependent agents refreshed as source content changes.

06

Per-tenant usage metering and billing pass-through

Pull character and product-level usage stats per connected account to power your own usage dashboards, quotas, and metered billing for AI audio features.

SuperAI

ElevenLabs AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_eleven_labs_histories

List ElevenLabs generated audio history items (text to speech, speech to speech, Studio, dubbing). Returns: history, last_history_item_id, has_more, scanned_until. Music and SFX generations are not included and cannot currently be retrieved via the API.

get_single_eleven_labs_history_by_id

Get a single ElevenLabs history item by id. Returns: history_item_id, request_id, voice_id, model_id, voice_name, voice_category, text, date_unix, character_count_change_from, character_count_change_to, content_type, state, settings, feedback, share_link_id, source, alignments, dialogue, output_format. Required: id.

delete_a_eleven_labs_history_by_id

Delete an ElevenLabs history item by its id. Returns an empty 204 response on success. Required: id.

list_all_eleven_labs_audios

Download the audio file of a specific ElevenLabs history item. Returns the audio as a binary MP3 stream. Required: history_item_id.

eleven_labs_audios_list_dubbing

Download the dubbed audio or video file for a specific ElevenLabs dubbing project and language. Returns the file as a binary MP3 or MP4 stream. If the dub has been edited using Dubbing Studio, use the resource render endpoint instead, as this endpoint only returns the original automatic dub result. Required: dubbing_id, language_code.

create_a_eleven_labs_history_download

Download one or more ElevenLabs history items as audio. Returns a single audio file when one history item ID is provided, or a zip file containing multiple audio files when multiple IDs are provided. Output format must be 'wav' or 'none'. Required: history_item_ids.

create_a_eleven_labs_sound_generation

Generate a sound effect from a text prompt in ElevenLabs. Returns the generated sound effect as a binary audio file in the requested output format, with a character-cost response header for billing. A JSON request body is required. Required: text.

create_a_eleven_labs_audio_isolation

Remove background noise from an audio file in ElevenLabs by uploading the audio as multipart form data. Returns the isolated audio as a binary MP3 file (audio/mpeg).

list_all_eleven_labs_audio_isolation_histories

List all ElevenLabs audio isolation generations. Returns: items, has_more, history, last_history_item_id, scanned_until.

delete_a_eleven_labs_audio_isolation_history_by_id

Delete a specific ElevenLabs audio isolation history item by id, removing the item and its associated media files. Returns an empty 204 response on success. Required: id.

create_a_eleven_labs_audio_isolation_stream

Remove background noise from an audio file in ElevenLabs and stream the cleaned audio back in real time. Returns a streamed audio/mpeg binary response of the processed audio. Requires an audio file in the request body.

delete_a_eleven_labs_voice_sample_by_id

Delete Sample. Returns: status. Required: id, voice_id.

list_all_eleven_labs_sample_audios

Download the audio file for a specific sample attached to an ElevenLabs voice. Returns the raw audio content as binary data (audio/* content type), not a JSON object. Required: voice_id, sample_id.

eleven_labs_sample_audios_list_pvc

Retrieve Voice Sample Audio. Returns: audio_base_64, voice_id, sample_id, media_type, duration_secs. Required: voice_id, sample_id.

create_a_eleven_labs_text_to_speech

Convert text into speech using an ElevenLabs voice of your choice and return the generated audio file as binary data. Required: text_to_speech_id, text.

create_a_eleven_labs_text_to_speech_with_timestamp

Generate speech from text in ElevenLabs with precise character-level timing information for audio-text synchronization. Returns: audio_base64, alignment, normalized_alignment. Required: voice_id, text.

create_a_eleven_labs_text_to_speech_stream

Convert text into speech with an ElevenLabs voice and stream the audio back in real time. Returns streaming binary audio data in the requested output_format. Required: voice_id, text.

create_a_eleven_labs_stream_with_timestamp

Stream text-to-speech audio with character-level timestamps from ElevenLabs. Returns a stream of JSON chunks containing audio as a base64-encoded string and alignment data (characters, character_start_times_seconds, character_end_times_seconds). Required: voice_id, text.

eleven_labs_stream_with_timestamps_create_dialogue

Stream multi-voice dialogue in ElevenLabs from a list of text and voice ID pairs, receiving JSON chunks as audio generates. Returns a stream of JSON blobs containing audio as a base64 encoded string, character-level alignment timestamps, and voice segment boundaries. Required: inputs.

create_a_eleven_labs_text_to_dialogue

Text To Dialogue (Multi-Voice). Required: inputs.

create_a_eleven_labs_text_to_dialogue_stream

Text To Dialogue (Multi-Voice) Streaming. Required: inputs.

create_a_eleven_labs_text_to_dialogue_with_timestamp

Text To Dialogue With Timestamps. Returns: audio_base64, alignment, normalized_alignment, voice_segments. Required: inputs.

create_a_eleven_labs_speech_to_speech

Transform audio from one voice to another in ElevenLabs, maintaining full control over emotion, timing, and delivery. Returns the generated audio file as binary data. Required: speech_to_speech_id.

create_a_eleven_labs_speech_to_speech_stream

Stream audio from one voice to another in ElevenLabs, maintaining control over emotion, timing, and delivery. Returns streaming binary audio data in the requested output format. The optimize_streaming_latency parameter is deprecated. Required: voice_id.

create_a_eleven_labs_text_to_voice_create_preview

Generate voice previews from a voice description in ElevenLabs. Returns a list of voice previews, each with a generated_voice_id and a base64-encoded audio sample. A request body is required. Deprecated — use POST /v1/text-to-voice/design instead. Required: voice_description.

create_a_eleven_labs_text_to_voice

Create A New Voice From Voice Preview. Returns: voice_id, name, samples, category, fine_tuning, labels, description, preview_url. Required: voice_name, voice_description, generated_voice_id.

create_a_eleven_labs_text_to_voice_design

Design a voice in ElevenLabs from a prompt. Returns a list of voice previews, each with a generated_voice_id and a base64-encoded mp3 audio sample. Use the preferred preview's generated_voice_id with the /v1/text-to-voice endpoint to create the permanent voice. Required: voice_description.

create_a_eleven_labs_text_to_voice_remix

Remix an existing ElevenLabs voice via a prompt. Returns a list of voice previews, each with a generated_voice_id and a base64-encoded mp3 audio sample. Use the chosen generated_voice_id with the text-to-voice create endpoint to finalize the new voice. Required: voice_id, voice_description.

list_all_eleven_labs_text_to_voice_streams

Stream a voice preview from ElevenLabs that was created via the text-to-voice design endpoint. Returns streaming audio/mpeg binary data (not a JSON object). Required: generated_voice_id.

list_all_eleven_labs_users

Get User Info. Returns: user_id, subscription, is_new_user, xi_api_key, can_use_delayed_payment_methods, is_onboarding_completed, is_onboarding_checklist_completed, show_compliance_terms.

list_all_eleven_labs_user_subscriptions

Get User Subscription Info. Returns: tier, character_count, character_limit, max_character_limit_extension, max_credit_limit_extension, can_extend_character_limit, allowed_to_extend_character_limit, next_character_count_reset_unix.

list_all_eleven_labs_voices_settings

Get the default voice settings in ElevenLabs. Returns: stability, use_speaker_boost, similarity_boost, style, speed, history, has_more, last_history_item_id, scanned_until. "similarity_boost" corresponds to "Clarity + Similarity Enhancement" in the web app and "stability" corresponds to the "Stability" slider.

list_all_eleven_labs_voice_settings

Get the settings for a specific ElevenLabs voice. similarity_boost corresponds to "Clarity + Similarity Enhancement" and stability corresponds to the "Stability" slider in the web app. Returns: stability, use_speaker_boost, similarity_boost, style, speed. Required: voice_id.

create_a_eleven_labs_settings_edit

Edit voice settings for a specific ElevenLabs voice, including stability, similarity_boost, style, use_speaker_boost, and speed. Returns the updated voice settings with stability, similarity_boost, style, use_speaker_boost, and speed. Required: voice_id.

list_all_eleven_labs_voices

List Voices. Returns: voices.

get_single_eleven_labs_voice_by_id

Get a specific ElevenLabs voice by id. Returns the full voice object including voice_id, name, category, description, preview_url, settings, labels, samples, fine_tuning, and sharing metadata. Required: id.

delete_a_eleven_labs_voice_by_id

Delete Voice. Returns: status. Required: id.

eleven_labs_voices_list_v_2

List ElevenLabs voices with search, filtering, sorting, and pagination. Returns: voices, has_more, total_count, next_page_token, voice_id, settings, history, last_history_item_id, scanned_until. Page size cannot exceed 100; voice_ids lookup accepts a maximum of 100 IDs.

create_a_eleven_labs_voice_edit

Edit Voice. Returns: status. Required: voice_id.

create_a_eleven_labs_voices_add

Add Voice. Returns: voice_id, requires_verification.

eleven_labs_voices_adds_create_shared

Add Shared Voice. Returns: voice_id. Required: public_user_id, voice_id, new_name.

create_a_eleven_labs_studio_podcast

Create and auto-convert a podcast project in ElevenLabs. Returns the created podcast project response object (PodcastProjectResponseModel); specific field definitions are not available in the discovered source, consult the upstream ElevenLabs API documentation. The request body is required and sent as JSON. LLM cost is currently covered by ElevenLabs; audio generation costs still apply. Required: model_id, mode, source.

create_a_eleven_labs_music_video_to_music

Video To Music.

update_a_eleven_labs_project_pronunciation_dictionary_by_id

Create a set of pronunciation dictionaries acting on an ElevenLabs Studio project, automatically marking project text as requiring reconverting where a new dictionary applies or an old one no longer does. A JSON request body is required but its field structure is not expanded in the available source documentation. Required: project_id, pronunciation_dictionary_locators.

list_all_eleven_labs_studio_projects

List your ElevenLabs Studio projects with metadata. Returns: projects, name, description. No required parameters.

create_a_eleven_labs_studio_project

Create a new ElevenLabs Studio project, initialized as blank, from a document, or from a URL. Returns: project, name, description. No required parameters.

get_single_eleven_labs_studio_project_by_id

Get Studio Project. Returns: project_id, name, create_date_unix, created_by_user_id, default_title_voice_ref_id, default_paragraph_voice_ref_id, default_model_id, last_conversion_date_unix. Required: id.

delete_a_eleven_labs_studio_project_by_id

Delete a Studio project in ElevenLabs by its project id. Returns a deletion confirmation response (DeleteProjectResponseModel). Required: id.

update_a_eleven_labs_studio_project_by_id

Update Studio Project. Returns: project. Required: id, name, default_title_voice_id, default_paragraph_voice_id.

create_a_eleven_labs_content

Update Studio project content in ElevenLabs by uploading a multipart form payload to the specified project. Returns the edit project response object (EditProjectResponseModel). Required: project_id.

create_a_eleven_labs_project_convert

Convert Studio Project. Returns: status. Required: project_id.

list_all_eleven_labs_project_snapshots

List snapshots for an ElevenLabs Studio project. Returns: snapshots. Required: project_id.

get_single_eleven_labs_project_snapshot_by_id

Get a single ElevenLabs Studio project snapshot by id. Returns: project_snapshot_id, project_id, created_at_unix, name, audio_upload, zip_upload, character_alignments, audio_duration_secs. Required: id, project_id.

eleven_labs_project_snapshots_archive

Download a compressed ZIP archive of an ElevenLabs Studio project snapshot's audio. Returns a binary ZIP archive stream. Required: project_id, snapshot_id.

create_a_eleven_labs_snapshot_stream

Stream audio from an ElevenLabs Studio project snapshot. Returns a binary audio stream. Required: project_id, project_snapshot_id.

eleven_labs_snapshot_streams_create_chapter

Stream audio from an ElevenLabs Studio chapter snapshot as a binary audio/mpeg stream. Required: project_id, chapter_id, chapter_snapshot_id.

list_all_eleven_labs_project_chapters

List chapters of an ElevenLabs Studio project. Returns a list of chapter objects, each with its chapter_id, name, and position. Required: project_id.

create_a_eleven_labs_project_chapter

Create a new chapter in an ElevenLabs Studio project, either as a blank chapter or from a URL. Returns the created chapter object including its id, name, and content. Required: project_id, name.

delete_a_eleven_labs_project_chapter_by_id

Delete a chapter from an ElevenLabs Studio project. Returns: status. Required: id, project_id.

get_single_eleven_labs_project_chapter_by_id

Get Chapter. Returns: chapter_id, name, last_conversion_date_unix, conversion_progress, can_be_downloaded, state, has_video, has_visual_content. Required: id, project_id.

update_a_eleven_labs_project_chapter_by_id

Update Chapter. Returns: chapter. Required: id, project_id.

create_a_eleven_labs_chapter_convert

Starts conversion of a specific ElevenLabs Studio chapter, generating audio from the chapter's content. Returns a ConvertChapterResponseModel confirming the conversion has been initiated. Required: project_id, chapter_id.

list_all_eleven_labs_chapter_snapshots

List all snapshots of an ElevenLabs Studio chapter. Snapshots are automatically created whenever a chapter is converted and each can be downloaded as audio. Returns: snapshots. Required: project_id, chapter_id.

get_single_eleven_labs_chapter_snapshot_by_id

Get a single chapter snapshot from an ElevenLabs Studio project by id. Returns: chapter_snapshot_id, project_id, chapter_id, created_at_unix, name, character_alignments, attributes. Required: id, project_id, chapter_id.

list_all_eleven_labs_project_muted_tracks

List chapters with muted tracks in an ElevenLabs Studio project. Returns the chapter IDs that have muted tracks in the project. Required: project_id.

list_all_eleven_labs_dubbing_projects

List ElevenLabs dubbing projects sorted by creation time. Returns: projects, next_cursor. Max 100 per page.

create_a_eleven_labs_dubbing_project

Create an ElevenLabs dubbing project from a source URL or uploaded file. Returns: project_id, status, reference, source_language, model_id, media, language_ids, revision, created_at, updated_at. Either source_url or a file upload must be provided.

get_single_eleven_labs_dubbing_project_by_id

Get a single ElevenLabs dubbing project by id, including full media metadata and language target ids. Returns: project_id, status, reference, source_language, model_id, media, language_ids, revision, created_at, updated_at. Required: id.

delete_a_eleven_labs_dubbing_project_by_id

Delete an ElevenLabs dubbing project and its language targets by id. Returns an empty 204 response on success. Required: id.

list_all_eleven_labs_languages

List ElevenLabs dubbing language targets for a project, cursor-paginated. Returns: languages, next_cursor. Required: project_id.

create_a_eleven_labs_language

Create an ElevenLabs dubbing language target by queuing it for a project; processing starts once the project is ready. Returns: language_id, project_id, target_language, status, model_id, voice_settings, outputs, revision, output_revision, created_at, updated_at. Required: project_id, target_language.

get_single_eleven_labs_language_by_id

Get a single ElevenLabs dubbing language target by id. Returns: language_id, project_id, target_language, status, model_id, voice_settings, outputs, revision, output_revision, created_at, updated_at. Required: id, project_id.

delete_a_eleven_labs_language_by_id

Delete an ElevenLabs dubbing language target by id. Returns an empty 204 response on success. Required: id, project_id.

eleven_labs_languages_create_resource

Add A Language To The Resource. Returns: version. Required: dubbing_id, language.

list_all_eleven_labs_transcripts

Get the dubbed transcript for an ElevenLabs dubbing project as an SRT, WEBVTT, or JSON file. Returns the transcript as a formatted text string in SRT or WEBVTT subtitle format. This endpoint is deprecated. Required: dubbing_id, language_code.

get_single_eleven_labs_transcript_by_id

Get a language target's transcript for an ElevenLabs dubbing project, showing source segments with their translations. Returns: source_language, target_language, segments, revision. Required: project_id, language_id.

update_a_eleven_labs_transcript_segment_by_id

Update a source transcript segment's text, speaker, or timing in an ElevenLabs dubbing project. Returns: segment, revision. Required: id, project_id.

delete_a_eleven_labs_transcript_segment_by_id

Delete a source transcript segment from an ElevenLabs dubbing project. Returns: revision. Required: id, project_id.

create_a_eleven_labs_transcript_segment

Add a new source transcript segment to an ElevenLabs dubbing project. Returns: segment, revision. Required: project_id, text, speaker_id, start_s, end_s.

eleven_labs_transcript_segments_bulk_update

Update a translated transcript segment for a specific language target in an ElevenLabs dubbing project. Returns: segment, revision, event_timestamp, data. Required: project_id, language_id, segment_id, translation.

create_a_eleven_labs_transcript_regenerate

Regenerate a dubbing language target from its edited transcript in ElevenLabs (charged like a generation). Returns: language_id, project_id, target_language, status, model_id, voice_settings, outputs, revision, output_revision, created_at, updated_at. Required: project_id, language_id.

get_single_eleven_labs_dubbing_resource_by_id

Get The Dubbing Resource For An Id. Returns: id, version, source_language, target_languages, input, background, foreground, speaker_tracks. Required: id.

create_a_eleven_labs_segment

Create a segment for a speaker in an ElevenLabs dubbing resource, defining start and end times across every available language. Does not auto-generate transcripts, translations, or audio. Returns a segment creation response. This endpoint is deprecated. Required: dubbing_id, speaker_id, start_time, end_time.

delete_a_eleven_labs_segment_by_id

Delete a single segment from an ElevenLabs dubbing project by id. Returns a segment deletion response. This endpoint is deprecated. Required: id, dubbing_id.

eleven_labs_segments_bulk_update

Modify a single dubbing segment in ElevenLabs with new text and/or start and end times for a specific language. Does not automatically regenerate the dub. Returns a segment update response. This endpoint is deprecated. Required: id, dubbing_id, language.

create_a_eleven_labs_migrate_segment

Move one or more segments to a different speaker in an ElevenLabs dubbing project, changing their attribution. Returns a segment migration response object whose field structure is defined upstream by the SegmentMigrationResponse schema. This endpoint is deprecated. Required: dubbing_id, segment_ids, speaker_id.

create_a_eleven_labs_transcribe

Regenerate transcriptions for specified segments of an ElevenLabs dubbing project. Returns a segment transcription response. Does not automatically regenerate translations or dubs. This endpoint is deprecated. Required: dubbing_id, segments.

create_a_eleven_labs_translate

Regenerate translations for all or specified segments and languages in an ElevenLabs dubbing project, automatically transcribing any missing transcriptions without regenerating the dubs. Returns a segment translation response. This endpoint is deprecated. Required: dubbing_id, segments, languages.

create_a_eleven_labs_dub

Dubs All Or Some Segments And Languages. Returns: version. Required: dubbing_id, segments, languages.

update_a_eleven_labs_speaker_by_id

Update Metadata For A Speaker. Returns: version. Required: id, dubbing_id.

create_a_eleven_labs_speaker

Create A New Speaker. Returns: version, speaker_id. Required: dubbing_id.

list_all_eleven_labs_similar_voices

Search the ElevenLabs voice library for voices similar to a dubbing speaker, returning up to 10 matches with voice_id, name, description, and a sample audio recording where available. This endpoint is deprecated. Required: dubbing_id, speaker_id.

get_single_eleven_labs_similar_voice_by_id

Get Similar Library Voices. Returns: voices, has_more, total_count, last_sort_id.

create_a_eleven_labs_render

Render audio or video for a given language in an ElevenLabs dubbing project from the latest Studio state. Returns a render response confirming the render has been initiated. Renders are processed asynchronously — check status via the Get Dubbing Resource endpoint. Ensure all segments are dubbed before rendering or they will be omitted. This endpoint is deprecated. Required: dubbing_id, language, render_type.

list_all_eleven_labs_dubbings

List Dubs. Returns: dubs, next_cursor, has_more.

create_a_eleven_labs_dubbing

Dub A Video Or An Audio File. Returns: dubbing_id, expected_duration_sec.

get_single_eleven_labs_dubbing_by_id

Get metadata for a specific ElevenLabs dubbing project by id, including its current processing status. Returns: dubbing_id, name, status, source_language, target_languages, editable, created_at, media_metadata, error. Required: id.

delete_a_eleven_labs_dubbing_by_id

Delete an ElevenLabs dubbing project by id. Returns: status. Required: id.

list_all_eleven_labs_transcript_formats

Retrieve a transcript for one of the languages in an ElevenLabs dubbing project in the requested format. Returns the formatted transcript text content (SRT or WebVTT subtitle text, or a JSON transcript string). The 'json' format is not yet supported for Dubbing Studio. Required: dubbing_id, language_code, format_type.

list_all_eleven_labs_models

Get Models. Returns: model_id, name, can_be_finetuned, can_do_text_to_speech, can_do_voice_conversion, can_use_style, can_use_speaker_boost, serves_pro_voices.

create_a_eleven_labs_audio_native

Create an Audio Native enabled project in ElevenLabs, optionally starting conversion. Returns the project ID and an embeddable HTML snippet.

list_all_eleven_labs_audio_native_settings

Get Audio Native Project Settings. Returns: enabled, snapshot_id, settings. Required: project_id.

create_a_eleven_labs_audio_native_content

Update content for a specific ElevenLabs Audio Native project by project_id. Returns the AudioNative edit content response object (AudioNativeEditContentResponseModel). Required: project_id.

eleven_labs_audio_native_contents_create_global

Update Audio-Native Content From Url. Returns: project_id, converting, publishing, html_snippet. Required: url.

list_all_eleven_labs_shared_voices

List shared ElevenLabs voices with rich filtering by category, gender, age, accent, language, locale, use cases, descriptives, and owner. Returns: voices, has_more, total_count, last_sort_id. Max 100 per page, defaults to 30.

list_all_eleven_labs_usage_character_stats

List ElevenLabs character usage metrics for a time window, aggregated over time and optionally broken down by voice, user, or other dimensions. Returns: time, usage. This endpoint is deprecated; use /v1/workspace/analytics/query/usage-by-product-over-time instead. breakdown_type cannot be "user" when include_workspace_metrics is false. Required: start_unix, end_unix.

create_a_eleven_labs_pronunciation_dictionaries_add_from_file

Create a new pronunciation dictionary in ElevenLabs by uploading a lexicon .PLS file. Returns: id, created_by, creation_time_unix, version_id, version_rules_num, description, permission_on_resource. Requires a name and a .PLS lexicon file provided as multipart form data.

create_a_eleven_labs_pronunciation_dictionaries_add_from_rule

Create a new pronunciation dictionary in ElevenLabs from provided pronunciation rules. Returns the created dictionary including its id, name, and description. Required: rules, name.

get_single_eleven_labs_pronunciation_dictionary_by_id

Get metadata for an ElevenLabs pronunciation dictionary by id. Returns the pronunciation dictionary metadata including its id and rules. Required: id.

update_a_eleven_labs_pronunciation_dictionary_by_id

Update an ElevenLabs pronunciation dictionary's metadata by id. This performs a partial update without changing the dictionary version. Returns: id, latest_version_id, latest_version_rules_num, name, permission_on_resource, created_by, creation_time_unix, archived_time_unix, description, attributes. Required: id.

list_all_eleven_labs_pronunciation_dictionaries

List ElevenLabs pronunciation dictionaries you have access to along with their metadata. Returns: pronunciation_dictionaries, next_cursor, has_more. Max 100 per page, defaults to 30.

create_a_eleven_labs_pronunciation_dictionarie_set_rule

Replace all existing rules on an ElevenLabs pronunciation dictionary with a new set of provided rules. Returns the updated rules including string_to_replace for each rule. Required: pronunciation_dictionary_id, rules.

create_a_eleven_labs_pronunciation_dictionarie_add_rule

Add Rules To The Pronunciation Dictionary. Returns: id, version_id, version_rules_num. Required: pronunciation_dictionary_id, rules.

create_a_eleven_labs_pronunciation_dictionarie_remove_rule

Remove rules from an ElevenLabs pronunciation dictionary by submitting the rules to remove. Returns the updated pronunciation dictionary rules response. Required: pronunciation_dictionary_id, rule_strings.

list_all_eleven_labs_downloads

Download a PLS file containing an ElevenLabs pronunciation dictionary version's rules. Returns the PLS file content as a binary text response. Required: dictionary_id, version_id.

create_a_eleven_labs_api_keys_disable

Disable the ElevenLabs API key used to authenticate the current request in a workspace. The query parameter `api_key_name` must be set to `self` as an explicit confirmation to avoid accidentally disabling the wrong key. Returns an empty response on success. Required: api_key_name.

create_a_eleven_labs_api_keys_third_party_disabling

Set the workspace-wide Third-Party Disabling policy for ElevenLabs API keys, overriding each key's individual setting. Pass true to allow third-party disabling for all keys, false to forbid it, or null to clear the override so per-key values and the plan default apply again. Returns a success response. Workspace admins only.

list_all_eleven_labs_service_account_api_keys

List all API keys for a service account in ElevenLabs. Returns: api-keys. Required: service_account_user_id.

create_a_eleven_labs_service_account_api_key

Create a new API key for an ElevenLabs service account. Returns: xi-api-key, key_id. Required: service_account_user_id, name, permissions.

update_a_eleven_labs_service_account_api_key_by_id

Update an existing API key for an ElevenLabs service account. Returns: id. Pass 'clear' for third_party_disable_allowed to reset the key to the workspace default. Required: id, service_account_user_id.

delete_a_eleven_labs_service_account_api_key_by_id

Delete an existing API key for an ElevenLabs service account. Returns an empty 204 response on success. Required: id, service_account_user_id.

list_all_eleven_labs_workspace_audit_logs

List ElevenLabs workspace audit log entries. Returns: entries, has_more, next_cursor. Filterable by time range, actor user ID, OCSF event class name, and audit activity name. Max 100 entries per page.

list_all_eleven_labs_workspace_auth_connections

List all auth connections for an ElevenLabs workspace. Returns: auth_connections.

create_a_eleven_labs_workspace_auth_connection

Create a new auth connection for an ElevenLabs workspace, supporting OAuth2 client credentials, basic, bearer, custom header, OAuth2 JWT, private key JWT, and mTLS auth types. The request body shape depends on the auth_type discriminator. Returns: id, auth_type, created_at, updated_at.

update_a_eleven_labs_workspace_auth_connection_by_id

Update a workspace auth connection in ElevenLabs by id. Returns the updated auth connection including auth_type, auth_connection_id, and auth-type-specific config attributes. Required: id.

delete_a_eleven_labs_workspace_auth_connection_by_id

Delete an ElevenLabs workspace auth connection by id. Returns an empty response on success. Required: id.

list_all_eleven_labs_service_accounts

List all service accounts in an ElevenLabs workspace. Returns a list of service account objects.

create_a_eleven_labs_service_account

Create a new service account in an ElevenLabs workspace. Returns the created service account object. Workspaces are limited to 20 service accounts by default, up to 100 for Enterprise customers. Required: name.

list_all_eleven_labs_workspace_groups

List all groups in an ElevenLabs workspace. Returns: id.

eleven_labs_workspace_groups_attach_member

Add a member of your ElevenLabs workspace to a specified group. Returns: status. Required: group_id, email.

list_all_eleven_labs_search_workspace_groups

Search ElevenLabs workspace user groups by name. Returns an array of matching group objects including name and id. Multiple or no groups may be returned. Required: name.

create_a_eleven_labs_members_remove

Remove a member from an ElevenLabs workspace user group by group_id. Returns a confirmation response (DeleteWorkspaceGroupMemberResponseModel). Required: group_id, email.

create_a_eleven_labs_invites_add

Invite User. Returns: status. Required: email.

create_a_eleven_labs_invites_add_bulk

Send bulk email invitations to join your ElevenLabs workspace. Returns the workspace invite response including its attributes. All email addresses must be part of a verified domain. Required: emails.

eleven_labs_workspace_invites_bulk_delete

Delete an existing ElevenLabs workspace email invitation by invalidating it. The invitation remains in the recipient's inbox but activating it to join the workspace won't work. Requires a JSON request body identifying the invitation to invalidate. Returns a confirmation response. Required: email.

list_all_eleven_labs_workspace_members

Get Workspace Members. Returns: user_id, email, first_name, seat_type, is_owner, is_locked.

update_a_eleven_labs_workspace_member_by_id

Update Member. Returns: status. Required: email.

get_single_eleven_labs_workspace_resource_by_id

Get metadata for a specific ElevenLabs workspace resource by its resource ID and type. Returns: resource_id, resource_name, resource_type, creator_user_id, anonymous_access_level_override, role_to_group_ids, share_options. Required: id, resource_type.

create_a_eleven_labs_resource_share

Share an ElevenLabs workspace resource by granting a role (admin, editor, commenter, or viewer) to a user, group, or service account API key, overriding any existing role the target has on the resource. Returns a successful response. Pass one of email, group_id, or api_key_id to target the recipient. You must have admin access to the resource to share it. Required: resource_id, role, resource_type.

create_a_eleven_labs_resource_unshare

Unshare a workspace resource in ElevenLabs by removing an existing role from a user, group, or service account API key. Pass the user email to target a user or service account, the group id to target a group, or the api key id to target a service account. You must have admin access and cannot remove permissions from the resource creator. Returns a success response. Required: resource_id, resource_type.

list_all_eleven_labs_workspace_webhooks

List all webhooks configured for an ElevenLabs workspace. Returns each webhook's webhook_id and name. Optional: include_usages to append active usages (admin-only).

create_a_eleven_labs_workspace_webhook

Create a new webhook for an ElevenLabs workspace with the specified authentication type. Returns the created webhook including its webhook_id and name. Required: settings.

update_a_eleven_labs_workspace_webhook_by_id

Update a workspace webhook in ElevenLabs by id. Returns the updated webhook including its webhook_id and name. Retries are currently only supported for post_call_transcription webhooks. Required: id, is_disabled, name.

delete_a_eleven_labs_workspace_webhook_by_id

Delete a workspace webhook in ElevenLabs by id. Returns an empty 204 response on success. The webhook must not be in use by any products. Required: id.

create_a_eleven_labs_speech_to_text

Transcribe an audio or video file in ElevenLabs using the Scribe model. Returns: language_code, language_probability, text, words, transcripts, message, request_id. When webhook is true the request is processed asynchronously and a 202 with request_id is returned instead of the transcript.

get_single_eleven_labs_speech_to_text_transcript_by_id

Get a previously generated ElevenLabs speech-to-text transcript by its id. Returns: text. Required: id.

delete_a_eleven_labs_speech_to_text_transcript_by_id

Delete a previously generated ElevenLabs speech-to-text transcript by its id. Returns an empty 200 response on success. Required: id.

get_single_eleven_labs_single_use_token_by_id

Create a time-limited single-use token in ElevenLabs with embedded authentication for frontend clients. Returns a single-use token response object. The token is valid for a limited time and can only be used once. Required: token_type.

create_a_eleven_labs_forced_alignment

Create a forced alignment in ElevenLabs by aligning an audio file to a provided text transcript. Returns timing information for each character and word in the audio file. Requires a multipart form-data request body containing the audio file and text transcript.

list_all_eleven_labs_conversation_get_signed_urls

Get a signed URL to start a conversation with an ElevenLabs agent that requires authorization. Returns: signed_url. Required: agent_id.

eleven_labs_conversation_get_signed_urls_list_v_2

Get a signed URL to start a conversation with an ElevenLabs agent that requires authorization. Deprecated path — prefer the hyphenated get-signed-url endpoint. Returns: signed_url, conversation_signature, conversation_id, event_timestamp, data. Required: agent_id.

list_all_eleven_labs_conversation_tokens

Get Webrtc Token. Returns: token. Required: agent_id.

create_a_eleven_labs_twilio_outbound_call

Initiate an outbound phone call via Twilio in ElevenLabs Conversational AI. Returns the TwilioOutboundCallResponse object with schema-specific fields not enumerated in the discovered source. Requires a JSON request body. Required: agent_id, agent_phone_number_id, to_number.

create_a_eleven_labs_twilio_register_call

Register a Twilio call in ElevenLabs and return TwiML to connect the call to a Conversational AI agent. Returns a TwiML XML string. Required: agent_id, from_number, to_number.

create_a_eleven_labs_exotel_outbound_call

Handle an outbound call via the Exotel Connect API in ElevenLabs Agents Platform. Requires a JSON request body with call parameters. Returns a JSON response whose field structure is defined by the upstream ExotelOutboundCallResponse schema and is not enumerated in the available source documentation. Required: agent_id, agent_phone_number_id, to_number.

create_a_eleven_labs_whatsapp_outbound_call

Make An Outbound Call Via Whatsapp. Returns: success, message, conversation_id. Required: whatsapp_phone_number_id, whatsapp_user_id, whatsapp_call_permission_request_template_name, whatsapp_call_permission_request_template_language_code, agent_id.

create_a_eleven_labs_whatsapp_outbound_message

Send An Outbound Message Via Whatsapp. Returns: conversation_id. Required: whatsapp_phone_number_id, whatsapp_user_id, template_name, template_language_code, template_params, agent_id.

create_a_eleven_labs_agents_create

Create Agent. Returns: agent_id. Required: conversation_config.

list_all_eleven_labs_agents_summaries

Get summaries for specified ElevenLabs agents by their IDs. Returns a map keyed by agent ID where each value includes a status field indicating success or failure. Maximum 100 agent IDs per request. Required: agent_ids.

get_single_eleven_labs_convai_agent_by_id

Get a single ElevenLabs Conversational AI agent by id, retrieving its full configuration. Returns: agent_id, name, conversation_config, metadata, platform_settings, phone_numbers, whatsapp_accounts, workflow, access_info, tags, version_id, branch_id, main_branch_id. Required: id.

update_a_eleven_labs_convai_agent_by_id

Update settings for an ElevenLabs Conversational AI agent by id using a partial patch body. Returns: agent_id, name, conversation_config, metadata, platform_settings, phone_numbers, whatsapp_accounts, workflow, access_info, tags, version_id, branch_id, main_branch_id. Required: id.

delete_a_eleven_labs_convai_agent_by_id

Delete an ElevenLabs Conversational AI agent by id. Returns an empty 204 response on success. Required: id.

list_all_eleven_labs_convai_agents

List ElevenLabs Conversational AI agents with optional search, archival, and creator filtering. Returns: agents, next_cursor, has_more. Max 100 per page.

eleven_labs_convai_agents_duplicate

Duplicate an ElevenLabs Conversational AI agent by creating a new agent from an existing one's configuration. Returns: agent_id. Required: agent_id.

list_all_eleven_labs_agent_widgets

Retrieve the widget configuration for an ElevenLabs conversational AI agent. Returns the agent widget configuration object. Required: agent_id.

list_all_eleven_labs_agent_links

Get the shareable link for an ElevenLabs conversational AI agent, used to share the agent with others. Returns: agent_id, token. Required: agent_id.

create_a_eleven_labs_agent_avatar

Set the avatar image for an ElevenLabs conversational AI agent, displayed in the widget. Returns: agent_id, avatar_url. Required: agent_id.

list_all_eleven_labs_knowledge_base_sizes

Get the size of an ElevenLabs agent's knowledge base, expressed as the number of pages it contains. Returns: number_of_pages. Required: agent_id.

get_single_eleven_labs_llm_usage_calculate_by_id

Calculate the expected LLM token usage for a specific ElevenLabs conversational AI agent. Returns the expected number of LLM tokens and cost estimates across available LLM models for the agent. Required: agent_id.

eleven_labs_llm_usage_calculates_get_global

Calculate expected LLM usage in ElevenLabs Conversational AI. Returns a list of LLM models and the expected cost for using them based on the provided values. Requires a request body with usage metrics. Required: prompt_length, number_of_pages, rag_enabled.

create_a_eleven_labs_agent_simulate_conversation

Simulates A Conversation. Returns: simulated_conversation, analysis. Required: agent_id, simulation_specification.

create_a_eleven_labs_simulate_conversation_stream

Simulate a conversation between an ElevenLabs agent and a simulated user, streaming the response back as partial lists of messages to concatenate, followed by a final message containing the conversation analysis. Deprecated — use the agent-testing create and run-tests endpoints instead. Required: agent_id, simulation_specification.

create_a_eleven_labs_agent_testing_create

Create a new agent response test in ElevenLabs Conversational AI. The request body accepts one of three test variants — a response unit test (llm), a tool call unit test (tool), or a simulation test — replacing the deprecated simulate-conversation endpoint. Returns: id.

create_a_eleven_labs_agent_testing_folder

Create a folder for organizing agent tests in ElevenLabs. Returns: id, name. Required: name.

get_single_eleven_labs_agent_testing_folder_by_id

Get an ElevenLabs agent test folder by id. Returns: id, name, folder_path, children_count. Required: id.

update_a_eleven_labs_agent_testing_folder_by_id

Update an ElevenLabs agent test folder by id. Currently only supports updating the folder name. Returns: id, name, folder_path, children_count. Required: id, name.

delete_a_eleven_labs_agent_testing_folder_by_id

Delete an ElevenLabs agent test folder by id. Use force=true to delete a non-empty folder and all its contents. Returns an empty 204 response on success. Required: id.

create_a_eleven_labs_agent_testing_bulk_move

Bulk move multiple agent tests or folders from one folder to another in ElevenLabs Conversational AI. Returns an opaque success response with no documented body fields. Requires a JSON request body specifying the items to move and the destination folder. Required: entity_ids.

get_single_eleven_labs_convai_agent_testing_by_id

Get a single ElevenLabs agent response test by id. Returns: type. The type field discriminates between llm, tool, and simulation test variants, each with its own response model. Required: id.

update_a_eleven_labs_convai_agent_testing_by_id

Update an ElevenLabs agent response test by id. Returns the updated test including its type, id, and name. The request body accepts one of three test-type variants (llm, tool, or simulation). Required: id.

delete_a_eleven_labs_convai_agent_testing_by_id

Delete an ElevenLabs agent response test by id. Returns a 200 response with no defined response body. Required: id.

list_all_eleven_labs_convai_agent_testings

List ElevenLabs agent response tests with optional search, folder, type, and sharing filters. Returns: tests, next_cursor, has_more. Max 100 per page.

get_single_eleven_labs_agent_testing_summary_by_id

Get multiple ElevenLabs agent response test summaries by their test IDs. Returns a dictionary mapping each test ID to a summary object containing a status field. Required: test_ids.

list_all_eleven_labs_convai_test_invocations

List ElevenLabs Conversational AI test invocations, optionally filtered by agent. Returns: meta, results, next_cursor, has_more. Max 100 per page.

get_single_eleven_labs_convai_test_invocation_by_id

Get a single ElevenLabs Conversational AI test invocation by id. Returns: id, agent_id, branch_id, created_at, folder_id, repeat_count, bucketing_status, result_groups, test_runs, test_invocation_id. Required: id.

create_a_eleven_labs_agent_run_test

Run Tests On The Agent. Returns: id, agent_id, branch_id, created_at, folder_id, repeat_count, bucketing_status, result_groups. Required: agent_id, tests.

create_a_eleven_labs_test_invocation_resubmit

Resubmit specific test runs from a test invocation in ElevenLabs Conversational AI. Returns a successful response confirming the resubmission. Required: test_invocation_id, test_run_ids, agent_id.

list_all_eleven_labs_convai_conversations

List ElevenLabs Conversational AI conversations with filtering by agent, call success, duration, rating, tools, language, tags, and more. Returns: conversations, next_cursor, has_more. Max 100 per page.

get_single_eleven_labs_convai_conversation_by_id

Get details of a specific ElevenLabs Conversational AI conversation by id. Returns: agent_id, agent_name, conversation_product, status, user_id, branch_id, version_id, metadata, analysis, visited_agents, conversation_initiation_client_data, environment, conversation_id, has_audio, has_user_audio, has_response_audio, has_auxiliary_audio, transcript, tag_ids, otlp_traces. Required: id.

delete_a_eleven_labs_convai_conversation_by_id

Delete an ElevenLabs Conversational AI conversation by id. Returns an empty 204 response on success. Required: id.

eleven_labs_convai_conversations_attach_tag

Assign one or more conversation tags to an ElevenLabs conversation. Tags already assigned are ignored; tags must belong to the same workspace. Returns an empty 204 response on success. Required: conversation_id, tag_ids.

list_all_eleven_labs_convai_users

Get Conversation Users. Returns: users, next_cursor, has_more.

list_all_eleven_labs_conversations_resolves

Resolve a conversation URL (Slack message or Zendesk ticket) to a deterministic conversation ID for a given ElevenLabs agent and confirm the conversation exists. Returns: agent_id, agent_name, conversation_product, status, user_id, branch_id, version_id, metadata, analysis, visited_agents, conversation_initiation_client_data, environment, conversation_id, has_audio, has_user_audio,…. Required: agent_id, reference.

list_all_eleven_labs_conversation_sip_messages

List SIP messages associated with an ElevenLabs conversation's phone call. Returns a collection of SIP log messages and a cursor for pagination. Required: conversation_id.

list_all_eleven_labs_conversation_audios

Get the audio recording of a specific ElevenLabs conversation. Returns the audio as an audio/mpeg binary file. Required: conversation_id.

create_a_eleven_labs_conversation_feedback

Send Conversation Feedback. Required: conversation_id.

list_all_eleven_labs_messages_text_searches

Search ElevenLabs conversation transcript messages by full-text and fuzzy matching, with extensive filters by agent, call success, duration, rating, tools, language, topics, and more. Returns: meta, results, next_cursor, has_more, cursor. Max 50 results per page. Required: text_query.

list_all_eleven_labs_messages_smart_searches

Smart Search Conversation Messages. Returns: meta, results, next_cursor, has_more. Required: text_query.

delete_a_eleven_labs_conversation_tag_by_id

Delete a conversation tag from an ElevenLabs conversation, removing the tag assignment. Returns an empty 204 response on success. Required: id, conversation_id.

list_all_eleven_labs_convai_tags

List conversation tags for the workspace in ElevenLabs, ordered by most recently created first. Returns: conversation_tags, next_cursor, has_more, description. Max 100 per page.

create_a_eleven_labs_convai_tag

Create a new conversation tag for the workspace in ElevenLabs. Returns the created tag including id, title, and description. Required: title.

get_single_eleven_labs_convai_tag_by_id

Get a single conversation tag by id in ElevenLabs. Returns: tag_id, workspace_id, owner_user_id, title, description, created_at_unix_secs, id. Required: id.

update_a_eleven_labs_convai_tag_by_id

Update a conversation tag's title and/or description in ElevenLabs. Restricted to the tag owner or a workspace admin. Returns the updated tag including id, title, and description. Required: id.

delete_a_eleven_labs_convai_tag_by_id

Delete a conversation tag by id in ElevenLabs. Restricted to the tag owner or a workspace admin. Returns an empty 204 response on success. Required: id.

list_all_eleven_labs_convai_phone_numbers

List ElevenLabs Conversational AI phone numbers, optionally filtered by telephony provider, assigned agent, or branch. Returns: id.

create_a_eleven_labs_convai_phone_number

Import a phone number into ElevenLabs Conversational AI from a provider configuration (Twilio, Exotel, or SIP trunk). Returns: phone_number_id. Requires a provider-specific request body.

get_single_eleven_labs_convai_phone_number_by_id

Get a single ElevenLabs Conversational AI phone number by id. Returns: id. Required: id.

update_a_eleven_labs_convai_phone_number_by_id

Update the assigned agent for an ElevenLabs ConvAI phone number by id. Returns: id. Required: id.

delete_a_eleven_labs_convai_phone_number_by_id

Delete an ElevenLabs Conversational AI phone number by id. Returns an empty response on success. Required: id.

list_all_eleven_labs_phone_number_sip_messages

List SIP log messages for an ElevenLabs phone number. Returns a paginated list of SIP messages with a cursor for fetching the next page. Max 20 items per page. Required: phone_number_id.

list_all_eleven_labs_llm_lists

List available LLM models in ElevenLabs that can be used with Conversational AI agents. Returns a list of models including their capabilities and any deprecation status. The response is filtered based on the deployment's data residency and workspace compliance requirements such as HIPAA.

create_a_eleven_labs_conversation_file

Upload an image or PDF file to an ElevenLabs Conversational AI conversation. Returns: file_id. Required: conversation_id.

delete_a_eleven_labs_conversation_file_by_id

Remove a file upload from an ElevenLabs Conversational AI conversation. Only possible if the file hasn't already been used in the conversation. Returns: file_id. Required: id, conversation_id.

list_all_eleven_labs_analytics_live_counts

Get the live count of ongoing ElevenLabs Conversational AI conversations. Returns: count. Optionally filter by agent_id to restrict the count to a single agent.

list_all_eleven_labs_knowledge_base_summaries

Get ElevenLabs knowledge base document summaries by their IDs. Returns a map keyed by document ID where each value includes a status of success or failure. Required: document_ids.

list_all_eleven_labs_convai_knowledge_bases

List ElevenLabs Conversational AI knowledge base documents with filtering by type, folder, creator, and name search. Returns: documents, next_cursor, has_more. Max 100 per page.

create_a_eleven_labs_convai_knowledge_base

Upload a file or reference a webpage URL to an ElevenLabs Conversational AI knowledge base. Returns: id, name, folder_path, type. Deprecated — prefer the dedicated /file, /url, /text, or /folder endpoints.

get_single_eleven_labs_convai_knowledge_base_by_id

Get details about a specific ElevenLabs Conversational AI knowledge base document by id. Returns: id, type, name. Required: id.

update_a_eleven_labs_convai_knowledge_base_by_id

Update the name and/or content of a knowledge base document in ElevenLabs. Returns the updated document including id, type, name, and content. Required: id.

delete_a_eleven_labs_convai_knowledge_base_by_id

Delete a knowledge base document or folder from ElevenLabs by id. Returns an empty 204 response on success. Required: id.

create_a_eleven_labs_knowledge_base_url

Create Url Document. Returns: id, name, folder_path. Required: url.

create_a_eleven_labs_knowledge_base_file

Create File Document. Returns: id, name, folder_path.

create_a_eleven_labs_knowledge_base_text

Create Text Document. Returns: id, name, folder_path. Required: text.

create_a_eleven_labs_knowledge_base_folder

Create Folder. Returns: id, name, folder_path. Required: name.

eleven_labs_knowledge_base_update_files_bulk_update

Update the source file of an ElevenLabs knowledge base file document. The document name, content, and metadata are updated to reflect the new file; any manual content edits are overwritten. Returns the updated document including its type, id, and name. Required: documentation_id.

list_all_eleven_labs_knowledge_base_rag_indexes

Get an overview of RAG indexes used by ElevenLabs knowledge base documents, including total size and other aggregate information. Returns: total_used_bytes, total_max_bytes, models.

get_single_eleven_labs_knowledge_base_rag_index_by_id

Retrieve and/or create RAG indexes for multiple ElevenLabs knowledge base documents in a single batch request. Returns: id, model, status, progress_percentage, document_model_index_usage, total_used_bytes, total_max_bytes, models. Maximum 100 items per request. Required: items.

create_a_eleven_labs_knowledge_base_rag_index

Trigger RAG indexing for an ElevenLabs knowledge base document if not already indexed, or return the current indexing status. Returns: id, model, status, progress_percentage, document_model_index_usage. Required: documentation_id, model.

delete_a_eleven_labs_knowledge_base_rag_index_by_id

Delete a RAG index for an ElevenLabs knowledge base document. Returns: id, model, status, progress_percentage, document_model_index_usage. Required: id, documentation_id.

eleven_labs_knowledge_base_rag_indexes_list_document

List all RAG indexes for a specific ElevenLabs knowledge base document. Returns: indexes. Required: documentation_id.

create_a_eleven_labs_knowledge_base_refresh

Refresh Url Document Content. Required: documentation_id.

list_all_eleven_labs_search_convai_knowledge_bases

Search ElevenLabs Conversational AI knowledge base document content with fuzzy text matching. Returns matching knowledge base documents with a pagination cursor. Required: query.

create_a_eleven_labs_knowledge_base_rag_query

Run an ElevenLabs agent's exact RAG retrieval for an ad-hoc query, returning the ranked knowledge base chunks the agent would retrieve. Read-only; no conversation is created. The response reflects current retrieval internals and may evolve. Required: agent_id, query.

list_all_eleven_labs_knowledge_base_dependent_agents

List ElevenLabs conversational AI agents that depend on a given knowledge base document. Returns: agents, branches, next_cursor, has_more. Required: documentation_id.

list_all_eleven_labs_knowledge_base_contents

Get the entire content of a document from the ElevenLabs knowledge base. Returns the document content as a streaming text/html string. Required: documentation_id.

list_all_eleven_labs_knowledge_base_source_file_urls

Get a signed URL to download the original source file of a file-type document from the ElevenLabs knowledge base. Returns: signed_url. Required: documentation_id.

list_all_eleven_labs_knowledge_base_chunks

Get details about a specific documentation chunk used by RAG from an ElevenLabs knowledge base. Returns: chunks, next_cursor. Required: documentation_id, embedding_model.

get_single_eleven_labs_knowledge_base_chunk_by_id

Get Documentation Chunk From Knowledge Base. Returns: id, name, content. Required: id, documentation_id.

create_a_eleven_labs_knowledge_base_move

Move a knowledge base document from one folder to another in ElevenLabs. Returns an empty 200 response on success. Required: document_id.

create_a_eleven_labs_knowledge_base_bulk_move

Bulk move multiple ElevenLabs knowledge base entities from one folder to another. Returns an empty response body on success. A JSON request body describing the entities to move and the target folder is required; the upstream spec references an external schema whose field definitions are not enumerated in the discovered source. Required: document_ids.

list_all_eleven_labs_agent_topics

Get conversation topics discovered for an ElevenLabs agent, optionally filtered to a time window. Returns the latest topic discovery run results as a data object containing the GetAgentTopicsResponseModel payload. Required: agent_id.

list_all_eleven_labs_convai_tools

List all available ElevenLabs ConvAI tools in the workspace, with optional filtering by name prefix, type, and creator. Returns: tools, next_cursor, has_more. Max 100 per page; show_only_owned_documents is deprecated — use created_by_user_id instead.

create_a_eleven_labs_convai_tool

Add Tool. Returns: id, tool_config, access_info, usage_stats, response_mocks. Required: tool_config.

get_single_eleven_labs_convai_tool_by_id

Get a specific Conversational AI tool available in the ElevenLabs workspace by id. Returns the tool object including its tool_id, name, and created_by_user_id. Required: id.

update_a_eleven_labs_convai_tool_by_id

Update Tool. Returns: id, tool_config, access_info, usage_stats, response_mocks. Required: id, tool_config.

delete_a_eleven_labs_convai_tool_by_id

Delete a Conversational AI tool from the ElevenLabs workspace by id. Returns an empty 204 response on success. If the tool is used by any agents, pass force=true to remove it from dependent agents and branches. Required: id.

list_all_eleven_labs_tool_dependent_agents

Get Dependent Agents List. Returns: agents, branches, next_cursor, has_more. Required: tool_id.

list_all_eleven_labs_tool_executions

List tool executions for a specific ElevenLabs Conversational AI tool, with optional filters by error status, agent, branch, and time range. Returns: executions, next_cursor, has_more. Max 100 per page. Required: tool_id.

list_all_eleven_labs_convai_settings

Retrieve ConvAI settings for the ElevenLabs workspace. Returns the workspace's ConvAI settings object as defined by the upstream GetConvAISettingsResponseModel schema. No caller-supplied parameters are required.

eleven_labs_convai_settings_bulk_update

Update ConvAI settings for the ElevenLabs workspace. Accepts a JSON body of settings fields to patch and returns the updated settings object as defined by the upstream GetConvAISettingsResponseModel schema.

list_all_eleven_labs_settings_dashboards

Retrieve ElevenLabs Convai dashboard settings for the workspace. Returns the workspace dashboard settings object whose field set is defined by the upstream GetConvAIDashboardSettingsResponseModel schema.

eleven_labs_settings_dashboards_bulk_update

Update ElevenLabs Convai dashboard settings for the workspace by submitting a JSON body with the fields to patch. Returns the updated dashboard settings object whose field set is defined by the upstream GetConvAIDashboardSettingsResponseModel schema.

list_all_eleven_labs_convai_secrets

List all ElevenLabs ConvAI workspace secrets for the user. Returns: secrets, next_cursor. Max 100 per page; if page_size is omitted, all secrets are returned.

create_a_eleven_labs_convai_secret

Create a new secret for an ElevenLabs Conversational AI workspace. Returns the created secret including type and name. Required: type, name, value.

get_single_eleven_labs_convai_secret_by_id

Get a single ConvAI workspace secret by id in ElevenLabs. Returns: type, secret_id, name, used_by. Required: id.

update_a_eleven_labs_convai_secret_by_id

Update an existing ElevenLabs ConvAI workspace secret. Returns: type, secret_id, name. Required: id, type, name, value.

delete_a_eleven_labs_convai_secret_by_id

Delete an ElevenLabs ConvAI workspace secret by id. Cannot delete a secret that is currently in use. Returns an empty 204 response on success. Required: id.

list_all_eleven_labs_secret_dependencies

List resources that depend on a specific ElevenLabs Conversational AI secret, filtered by resource type. Returns a paginated list of dependency items with a cursor for fetching the next page. Required: secret_id, resource_type.

create_a_eleven_labs_batch_calling_submit

Submit a batch call request in ElevenLabs to schedule AI agent calls for multiple recipients. Returns the created batch call object including batch_id, agent_id, and status. Requires a request body specifying the agent and recipient details. Required: call_name, agent_id, recipients.

list_all_eleven_labs_batch_calling_workspaces

List all batch calls for the current ElevenLabs workspace. Returns: batch_calls, next_doc, has_more. Optional agent_id filter narrows results to a single agent. Defaults to 100 results per page.

get_single_eleven_labs_convai_batch_calling_by_id

Get detailed information about a batch call in ElevenLabs, including all recipients. Returns: id, phone_number_id, phone_provider, whatsapp_params, name, agent_id, branch_id, environment, created_at_unix, scheduled_time_unix, timezone, total_calls_dispatched, total_calls_scheduled, total_calls_finished, last_updated_at_unix, status, retry_count, telephony_call_config, target_concurrency_limit,…. Required: id.

delete_a_eleven_labs_convai_batch_calling_by_id

Delete a batch call by id in ElevenLabs. Permanently removes the batch call and all recipient records; conversations remain in history. Returns an empty 204 response on success. Required: id.

eleven_labs_convai_batch_callings_cancel

Cancel a running batch call in ElevenLabs, setting all recipients to cancelled status. Returns: id, phone_number_id, phone_provider, whatsapp_params, name, agent_id, branch_id, environment, created_at_unix, scheduled_time_unix, timezone, total_calls_dispatched, total_calls_scheduled, total_calls_finished, last_updated_at_unix, status, retry_count, telephony_call_config, target_concurrency_limit,…. Required: batch_id.

create_a_eleven_labs_batch_calling_retry

Retry an ElevenLabs batch call, re-calling failed and no-response recipients. Returns the batch call response object including batch_id and is_success. Required: batch_id.

create_a_eleven_labs_sip_trunk_outbound_call

Initiate an outbound call via SIP trunk in ElevenLabs ConvAI. Returns a SIPTrunkOutboundCallResponse object confirming the call was initiated. Requires a JSON request body specifying the call configuration details. Required: agent_id, agent_phone_number_id, to_number.

list_all_eleven_labs_convai_mcp_servers

List all MCP server configurations available in the ElevenLabs workspace. Returns: mcp_servers. The attributes object contains server configuration details including URL, headers, and auth connection settings.

create_a_eleven_labs_convai_mcp_server

Create a new MCP server configuration in the ElevenLabs workspace. Returns the created MCP server object including its id, name, server_url, headers, and auth_connection_id. Required: config.

get_single_eleven_labs_convai_mcp_server_by_id

Get a specific ElevenLabs MCP server configuration from the workspace by id. Returns the MCP server configuration object including its mcp_server_id, url, and headers. Required: id.

update_a_eleven_labs_convai_mcp_server_by_id

Update the configuration settings for an ElevenLabs MCP server by id. Returns the updated MCP server object including its id. Required: id.

delete_a_eleven_labs_convai_mcp_server_by_id

Delete a specific MCP server configuration from an ElevenLabs workspace. Returns an empty 204 response on success. Required: id.

list_all_eleven_labs_mcp_server_tools

List all tools available for a specific ElevenLabs MCP server configuration. Returns the list of available MCP tools. Required: mcp_server_id.

eleven_labs_mcp_server_approval_policies_bulk_update

Update the approval policy configuration for an ElevenLabs MCP server. Returns the updated MCP server object including its id and server configuration attributes. This endpoint is deprecated; use PATCH /mcp-servers/{id} instead. Required: mcp_server_id, approval_policy.

create_a_eleven_labs_mcp_server_tool_approval

Add approval for a specific MCP tool on an ElevenLabs MCP server when using per-tool approval mode. Returns the updated MCP server object. Required: mcp_server_id, tool_name, tool_description.

eleven_labs_mcp_server_tool_approvals_bulk_delete

Remove approval for a specific MCP tool on an ElevenLabs MCP server when using per-tool approval mode. Returns the updated MCP server object. Required: mcp_server_id, tool_name.

create_a_eleven_labs_mcp_server_tool_config

Create Mcp Tool Configuration Override. Returns: id, config, access_info, dependent_agents, metadata. Required: mcp_server_id, tool_name.

list_all_eleven_labs_mcp_server_tool_configs

Get Mcp Tool Configuration Override. Returns: tool_name, force_pre_tool_speech, pre_tool_speech, disable_interruptions, interruption_mode, tool_call_sound, tool_call_sound_behavior, execution_mode. Required: mcp_server_id, tool_name.

eleven_labs_mcp_server_tool_configs_bulk_update

Update configuration overrides for a specific MCP tool on an ElevenLabs MCP server. Returns the MCP server object with content-type-specific fields (id, attributes). Required: mcp_server_id, tool_name.

eleven_labs_mcp_server_tool_configs_bulk_delete

Remove configuration overrides for a specific MCP tool on an ElevenLabs MCP server. Returns the MCP server object with content-type-specific fields (id, attributes). Required: mcp_server_id, tool_name.

get_single_eleven_labs_convai_whatsapp_account_by_id

Get a single WhatsApp account in ElevenLabs by id. Returns: business_account_id, phone_number_id, business_account_name, phone_number_name, phone_number, assigned_agent_id, enable_messaging, enable_audio_message_response, assigned_agent_name, is_token_expired, id. Required: id.

update_a_eleven_labs_convai_whatsapp_account_by_id

Update a WhatsApp account in ElevenLabs by id. Returns: id. Required: id.

delete_a_eleven_labs_convai_whatsapp_account_by_id

Delete a WhatsApp account in ElevenLabs by id. Returns an empty response on success. Required: id.

list_all_eleven_labs_convai_whatsapp_accounts

List all WhatsApp accounts in ElevenLabs, optionally filtered by the assigned agent. Returns: items.

list_all_eleven_labs_agent_branches

List all branches for an ElevenLabs agent. Returns: meta, results. Archived branches are excluded by default; set include_archived to true to include them. Required: agent_id.

create_a_eleven_labs_agent_branch

Create a new branch for an ElevenLabs agent from a given version of an existing branch. Returns: created_branch_id, created_version_id. Required: agent_id, parent_version_id, name, description.

update_a_eleven_labs_agent_branch_by_id

Update an ElevenLabs agent branch's properties such as archiving status and protection level. Returns: id, name, agent_id, description, created_at, last_committed_at, is_archived, protection_status, access_info, current_live_percentage, parent_branch, most_recent_versions. Required: id, agent_id.

get_single_eleven_labs_agent_branch_by_id

Get information about a single ElevenLabs agent branch by id. Returns: id, name, agent_id, description, created_at, last_committed_at, is_archived, protection_status, access_info, current_live_percentage, parent_branch, most_recent_versions. Required: id, agent_id.

list_all_eleven_labs_agent_versions

Get metadata for a specific ElevenLabs conversational AI agent version. Returns: id, agent_id, branch_id, version_description, seq_no_in_branch, time_committed_secs, parents, access_info. Required: agent_id, version_id.

list_all_eleven_labs_branche_merge_previews

Preview the result of merging a source ElevenLabs agent branch into a target branch without performing the actual merge, useful for showing an accurate diff before confirming. Returns the merged agent configuration preview. Required: agent_id, source_branch_id, target_branch_id.

create_a_eleven_labs_branche_merge

Merge a source branch into a target branch for an ElevenLabs conversational AI agent. Returns a 200 success response with an unspecified body. Required: agent_id, source_branch_id, target_branch_id.

list_all_eleven_labs_branche_rebase_previews

Preview the result of rebasing an ElevenLabs Conversational AI agent branch onto main without performing the rebase. Returns the rebased configuration preview as a MergePreviewResponseModel, useful for showing an accurate diff before confirming. Required: agent_id, branch_id.

create_a_eleven_labs_branche_rebase

Rebase a branch onto the latest main branch in ElevenLabs, incorporating main's changes while preserving the branch's own changes. Returns a 200 response confirming the rebase; no response body fields are documented by the API. Required: agent_id, branch_id.

create_a_eleven_labs_agent_deployment

Create Or Update Deployments. Returns: traffic_percentage_branch_id_map. Required: agent_id, deployment_request.

create_a_eleven_labs_agent_draft

Create a new draft for an ElevenLabs agent from the specified branch. Returns a 200 response with no documented fields. Required: agent_id, branch_id, conversation_config, platform_settings, workflow, name.

eleven_labs_agent_drafts_bulk_delete

Delete a draft for an ElevenLabs agent from the specified branch. Returns a response with no documented fields. Required: agent_id, branch_id.

list_all_eleven_labs_speech_engines

List ElevenLabs speech engines with optional name search and result sorting. Returns: speech_engines, next_cursor, has_more. Max 100 per page.

create_a_eleven_labs_speech_engine

Create a new ElevenLabs speech engine resource. Returns: speech_engine_id, speech_engine, asr, tts, turn, conversation, privacy, call_limits, language, tags, overrides, metadata, access_info, name. Required: speech_engine.

get_single_eleven_labs_speech_engine_by_id

Get a specific ElevenLabs speech engine by id. Returns: speech_engine_id, name, speech_engine, asr, tts, turn, conversation, privacy, call_limits, language, tags, overrides, metadata, access_info. The id accepts a seng_ or agent_ prefix (e.g. seng_3701k3ttaq12ewp8b7qv5rfyszkz). Required: id.

update_a_eleven_labs_speech_engine_by_id

Update a Speech Engine in ElevenLabs by id with a partial update. Returns: speech_engine_id, name, speech_engine, asr, tts, turn, conversation, privacy, call_limits, language, tags, overrides, metadata, access_info. Required: id.

delete_a_eleven_labs_speech_engine_by_id

Delete a Speech Engine resource in ElevenLabs by id. Returns an empty 204 response on success. Required: id.

create_a_eleven_labs_analysis_run

Run the analysis for an ElevenLabs conversation using the agent's current evaluation criteria and data collection settings. Returns the conversation object including agent_id, conversation_id, status, transcript, metadata, analysis, and conversation_initiation_client_data. Required: conversation_id.

create_a_eleven_labs_evaluations_run

Rerun a specific evaluation for an ElevenLabs conversation. Returns the conversation object including agent_id, conversation_id, status, transcript, metadata, and analysis. Required: conversation_id, evaluation_id.

list_all_eleven_labs_convai_environment_variables

List ElevenLabs ConvAI environment variables for the workspace with optional filtering by label, environment, and type. Returns: environment_variables, next_cursor, has_more. Max 100 per page.

create_a_eleven_labs_convai_environment_variable

Create a new ElevenLabs ConvAI environment variable for the workspace, discriminated by type (string, secret, or auth_connection). Returns: label, created_at_unix_secs, updated_at_unix_secs, created_by_user_id, type, id, workspace_id, values. Returns 409 on duplicate label.

get_single_eleven_labs_convai_environment_variable_by_id

Get a specific ElevenLabs ConvAI environment variable by id. Returns: label, created_at_unix_secs, updated_at_unix_secs, created_by_user_id, type, id, workspace_id, values, environment_variable_id. Required: id.

update_a_eleven_labs_convai_environment_variable_by_id

Update an ElevenLabs ConvAI environment variable by id, replacing its values across environments. Use null in the values dict to remove an environment (except production). Returns: label, created_at_unix_secs, updated_at_unix_secs, created_by_user_id, type, id, workspace_id, values, environment_variable_id. Required: id, values.

create_a_eleven_labs_music_plan

Generate a composition plan from a prompt in ElevenLabs. Returns a MusicPrompt or CompositionPlan object with schema-specific attributes. Required: prompt.

create_a_eleven_labs_music

Compose a song in ElevenLabs from a prompt or a composition plan. Returns the generated audio as binary data in the requested output format, with a song-id response header containing the unique identifier for the generated song. The request body is a JSON object whose field set is defined in the upstream OpenAPI schema (Body_Compose_music_v1_music_post); consult the ElevenLabs API reference for…

create_a_eleven_labs_music_detailed

Compose a song in ElevenLabs from a prompt or a composition plan, returning a detailed multipart/mixed response with JSON metadata and binary audio. Returns: song_id. The response is a multipart/mixed payload that clients must parse to extract the JSON metadata part (composition_plan and song_metadata) and the binary audio part.

create_a_eleven_labs_detailed_stream

Stream composed music with detailed metadata in ElevenLabs using Server-Sent Events. Returns an SSE stream (text/event-stream) emitting composition plan, song metadata, base64-encoded audio_chunk events with optional word timestamps, a completion event, and a song_id returned via the song-id response header.

create_a_eleven_labs_music_stream

Stream composed music in ElevenLabs from a prompt or a composition plan. Returns streaming binary audio data in the specified output format, with a song-id response header containing the unique identifier for the generated song.

create_a_eleven_labs_music_upload

Upload a music file to ElevenLabs for later use in inpainting. Returns the uploaded music response object with schema-specific fields. All uploaded content is inspected for copyright infringement; if copyrighted content is detected, half the request cost is still charged.

create_a_eleven_labs_music_stem_separation

Separate an audio file into individual stems in ElevenLabs. Returns a binary ZIP archive containing separated audio stems (vocals, drums, bass, guitar, piano, other) in the requested output format. May have high latency depending on audio length.

list_all_eleven_labs_productions_orders

List ElevenLabs Productions orders in the workspace. Returns: orders. Supports filtering by status and creation date range. Max 100 per page.

create_a_eleven_labs_productions_order

Create a new Productions order in ElevenLabs. Returns the created order including its id, state, and items. The order starts in the open state and can be configured with items before submission.

get_single_eleven_labs_productions_order_by_id

Get a specific ElevenLabs Productions order by id. Returns the order details including its status, items, and quote/pricing information. Quote and pricing may not be available immediately and may require polling until ready. Required: id.

update_a_eleven_labs_productions_order_by_id

Update an open ElevenLabs Productions order by id. Returns the updated order object including order_id. The order must be in the open state; once submitted, items can no longer be modified. Required: id, request.

create_a_eleven_labs_media

Register a media file with an ElevenLabs Productions order by uploading it directly or providing a URL to fetch it from. Returns: media_id. Exactly one of media or media_url must be provided in the request body. Required: order_id.

get_single_eleven_labs_media_by_id

Get metadata and a time-limited download URL for a previously uploaded media file attached to an ElevenLabs Productions order. Returns: media_id, name, content_type, language, signed_url. Required: id, order_id.

create_a_eleven_labs_order_item

Add or update an order item on an open ElevenLabs Productions order (upsert). Returns: item_id, quote, quoted_price. Required: order_id, request.

delete_a_eleven_labs_order_item_by_id

Remove an order item from an open ElevenLabs Productions order. Returns an empty 204 response on success. Required: id, order_id.

create_a_eleven_labs_order_submit

Submit Order. Returns: order_id, state, submitted_at. Required: order_id.

list_all_eleven_labs_order_deliverables

List delivered files for a completed ElevenLabs Productions order. Returns: deliverables. Returns an empty list if the order is not yet completed. Required: order_id.

list_all_eleven_labs_orders_languages

Get Available Languages. Required: order_item_kind.

create_a_eleven_labs_voices_pvc

Create Pvc Voice. Returns: voice_id. Required: name, language.

update_a_eleven_labs_voices_pvc_by_id

Edit Pvc Voice. Returns: voice_id. Required: id.

create_a_eleven_labs_sample

Add audio samples to a Professional Voice Clone (PVC) voice in ElevenLabs. Returns an array of created sample objects including sample_id, file_name, mime_type, size_bytes, and duration_secs. Required: voice_id.

delete_a_eleven_labs_sample_by_id

Delete a sample from a PVC voice in ElevenLabs. Returns a confirmation response upon successful deletion. Required: id, voice_id.

update_a_eleven_labs_sample_by_id

Update Pvc Voice Sample. Returns: voice_id. Required: id, voice_id.

list_all_eleven_labs_sample_waveforms

Retrieve the visual waveform of a Professional Voice Clone (PVC) sample in ElevenLabs. Returns the waveform data used for visual representation of the sample's audio. Required: voice_id, sample_id.

list_all_eleven_labs_sample_speakers

Retrieve the status of the speaker separation process for an ElevenLabs Professional Voice Clone sample and the list of detected speakers if separation is complete. Returns: voice_id, sample_id, status, speakers, selected_speaker_ids. Required: voice_id, sample_id.

create_a_eleven_labs_sample_separate_speaker

Start the speaker separation process for an ElevenLabs PVC voice sample. Returns a response confirming the separation process has been initiated. Required: voice_id, sample_id.

list_all_eleven_labs_speaker_audios

Retrieve the separated audio for a specific speaker from an ElevenLabs PVC voice sample. Returns a JSON response (SpeakerAudioResponseModel) containing the separated audio data for the requested speaker. Required: voice_id, sample_id, speaker_id.

list_all_eleven_labs_captchas

Get a captcha for PVC voice verification in ElevenLabs. Returns binary captcha audio data for the specified voice. Required: voice_id.

create_a_eleven_labs_captcha

Submit captcha verification for a PVC voice in ElevenLabs. Accepts a multipart form-data body with the captcha response and returns a verification result. Required: voice_id.

create_a_eleven_labs_train

Run Pvc Training. Returns: status. Required: voice_id.

create_a_eleven_labs_verification

Request Manual Verification. Returns: status. Required: voice_id.

create_a_eleven_labs_query_usage_by_product_over_time

Get ElevenLabs workspace credit usage broken down by product type over time. Returns a tabular response with columns, column_types, column_units, and rows. A JSON request body is required. Required: start_time, end_time.

list_all_eleven_labs_analytics_requests

List ElevenLabs workspace API requests with time-range, column, and search filtering. Returns a tabular response with columns, column_types, column_units, and rows. At least one of start_time or end_time must be provided; results are ordered by timestamp — descending when end_time is used, ascending when start_time is used.

list_all_eleven_labs_docs

List generated audio history items in ElevenLabs (text to speech, speech to speech, Studio, dubbing). Returns: history_item_id, request_id, voice_id, model_id, voice_name, voice_category, text, date_unix, character_count_change_from, character_count_change_to, content_type, state, settings, feedback, share_link_id, source, alignments, dialogue, output_format, history, has_more,…

Why Truto

Why use Truto’s MCP server for ElevenLabs

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with ElevenLabs in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s ElevenLabs account

Use Truto’s frontend SDK to connect your customer’s ElevenLabs account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call ElevenLabs

Truto’s Proxy API is a 1-to-1 mapping of the ElevenLabs API. You call us, we call ElevenLabs, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate ElevenLabs’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about ElevenLabs on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication to a customer's ElevenLabs account work?

ElevenLabs uses API key authentication. Your end users generate an API key in their ElevenLabs workspace and provide it during the Truto connect flow; Truto stores and rotates credentials so your backend never has to handle raw keys.

Which ElevenLabs capabilities are exposed through Truto?

Truto exposes the full ElevenLabs surface area including Text-to-Speech (standard, streamed, with timestamps), Speech-to-Speech, Text-to-Dialogue, Speech-to-Text, Sound Generation, Audio Isolation, Voice Design, Voice Cloning/PVC, Studio projects, Dubbing, ConvAI agents, knowledge bases, MCP servers, telephony (Twilio, Exotel, SIP, WhatsApp), pronunciation dictionaries, workspace admin, and usage analytics.

Can I stream audio responses for real-time playback?

Yes. Streaming endpoints are supported for text-to-speech, text-to-speech with timestamps, speech-to-speech, text-to-dialogue, music, and audio isolation, so you can pipe audio to your users with low latency.

How do I handle long-running jobs like dubbing or PVC training?

Dubbing, PVC training, and studio conversion are asynchronous on ElevenLabs' side. You create the resource via Truto, then poll the corresponding get-by-id endpoint (e.g. dubbing project, chapter snapshot, PVC voice) or subscribe to ElevenLabs workspace webhooks that Truto can proxy into your system.

Can I meter usage per end user for billing?

Yes. Truto exposes ElevenLabs' usage analytics — including character usage over time and request-level analytics — so you can attribute consumption to individual tenants and pass through or cap costs.

How are rate limits and API-specific quirks handled?

Truto handles ElevenLabs' rate limits, retries, and pagination conventions behind a consistent interface, and normalizes long-running operations, file uploads, and streaming responses so you don't have to write per-endpoint plumbing.

ElevenLabs

Get ElevenLabs integrated into your app

Our team understands what it takes to make a ElevenLabs integration successful. A short, crisp 30 minute call with folks who understand the problem.