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 usUse Cases
Why integrate with ElevenLabs
Common scenarios for SaaS companies building ElevenLabs integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
From the Blog
ElevenLabs integration guides
Deep dives, architecture guides, and practical tutorials for building ElevenLabs integrations.
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.