---
title: ElevenLabs API Integration on Truto
slug: elevenlabs
category: Artificial Intelligence
canonical: "https://truto.one/integrations/detail/elevenlabs/"
---

# ElevenLabs API Integration on Truto



**Category:** Artificial Intelligence  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 339 tools for ElevenLabs that AI agents can call directly.

- **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,…

## How it works

1. **Link your customer's ElevenLabs account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach ElevenLabs.** The Proxy API is a 1-to-1 mapping of the ElevenLabs API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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

- **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.

## FAQs

### 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.

## Related reading

- [Connect ElevenLabs to ChatGPT: Create AI Speech, Sound FX & Voices](https://truto.one/blog/connect-elevenlabs-to-chatgpt-create-ai-speech-sound-fx-voices/) — Learn how to connect ElevenLabs to ChatGPT using an MCP server. Discover how to bypass binary audio constraints, automate text-to-speech, and orchestrate dubbing workflows.
- [Connect ElevenLabs to Claude: Manage Studio Projects & AI Agents](https://truto.one/blog/connect-elevenlabs-to-claude-manage-studio-projects-ai-agents/) — Learn how to securely connect ElevenLabs to Claude using a managed MCP server. Automate Studio projects, dubbing pipelines, and Conversational AI agents.
- [Connect ElevenLabs to AI Agents: Automate Voices, Dubs & AI Calling](https://truto.one/blog/connect-elevenlabs-to-ai-agents-automate-voices-dubs-ai-calling/) — Learn how to connect ElevenLabs to AI agents using Truto's unified tools layer. Build autonomous workflows for text-to-speech, dubbing, and audio isolation.
