Eleven Realtime
Eleven Realtime is a new family of models for ElevenAgents voice agents, rolling out gradually across workspaces. Each one is a complete voice agent configuration. You pick one model, and ElevenLabs handles the LLM, Speech to Text and Text to Speech settings behind it. Your agent’s system prompt, voice, tools and knowledge base work the same as before.
There are two to choose from. Eleven Realtime v1 Mini (eleven_realtime_v1_mini) is the default, and it’s the fastest and cheapest. Eleven Realtime v1 Max (eleven_realtime_v1_max) reasons before it answers, so use it when your agent has complex instructions or multi-step tool calls.
If you’ve already built on OpenAI’s Realtime API, you don’t need to rewrite your client. The events and the WebSocket transport are the same, so you change the endpoint and the session configuration. Your backend calls Create realtime client secret to get a short-lived secret, and the browser uses it to connect directly.
Realtime Translation
Realtime Translation turns speech in one language into speech in another while the speaker is still talking. It’s a WebSocket API, available now for enterprise workspaces.
You open a connection with a target_language and a voice_id, then stream audio in. You get translated speech back in that voice. You don’t have to say which language the speaker is using, because it’s detected automatically, but you can set source_language if you know it. Along the way, the server also sends live transcripts of the original speech and the translated text, for example to show captions.
eagerness controls the tradeoff between speed and quality. high starts translating soonest, and low waits for more of the sentence. The translated voice uses Eleven v4 Turbo by default, and you can switch to eleven_v3 or eleven_flash_v2_5 with tts_model_id. For sensitive conversations, set enable_zrm=true to use Zero Retention Mode.
Video to Music
Video to Music writes a soundtrack for your video. The Video to music API is now available: you upload a video and get back music that fits it, without writing a music prompt from scratch. Use it to score product videos, ads and social clips.
You can send up to 10 video files (200 MB combined). They’re joined in order and scored as one video. To steer the result, add a text description and up to 10 style tags.
Three options are worth knowing. use_audio_as_reference takes the genre, BPM, instruments and mood from the video’s own audio. add_sfx adds sound effects that match the video. separate_tracks returns the music and the sound effects as separate files in a ZIP, so you can mix them yourself.
ElevenAgents
- Alerts: Alerts notify a workspace when agent error rates exceed a threshold or rise sharply above their recent baseline. Monitors cover conversation failures, tool failures, webhook errors, guardrail triggers, call initiation errors and evaluation success scores, and run with default thresholds without any setup. Agent-level thresholds and notifiers can be set through
platform_settings.alertingon Update agent. Notifications can be delivered as webhooks, to Slack or to PagerDuty. - Guardrails generally available: Guardrails are no longer in alpha.
- Workspace environments: Environments for environment variables can now be managed through the API with List environments, Create environment and Delete environment. A variable without a value for an environment falls back to its
productionvalue. Deleting an environment removes its values from all variables, andproductioncannot be deleted. - Answering machine detection actions: Twilio answering machine detection settings on Outbound call and Submit batch call accept
actions, a list of rules that pair anaction(hang_up) with theanswered_byverdicts that trigger it, such asmachine_startorfax. Verdicts without a rule leave the call running. - New LLMs: Agents can use
gemini-4-argon,claude-opus-4-6and the ElevenLabs-hostednemotron-35-super-vl-nvfp4. See Models. - Authored-only workflow reads: Get agent and Update agent accept
include_procedure_generated_workflow_elements. Set it tofalseto receive only the workflow nodes and edges you authored, excluding the ones compiled from structured procedures. Defaults totrue, so existing callers are unchanged. - Branch rebasing from any branch: Rebase branch and Preview rebase accept an optional
source_branch_idto pull changes from a branch other than main. - Delete agents used as subagents: Delete agent accepts
force. Whentrue, the agent is deleted even if other agents use it as a subagent, and it is removed from those agents and their branches. - Sort agents by last update: List agents accepts
sort_by=updated_at, and each agent summary includesupdated_at_unix_secs, the last time the main branch or agent-level settings changed. - Google Calendar event updates: The Google Calendar integration adds
google_calendar_update_eventandgoogle_calendar_delete_eventtools. Both are privileged tools that can change or cancel any event on the connected calendar.
Music and Sound Effects
- Zero Retention Mode: Music generation, composition plan, stem separation and video to music endpoints, plus Sound Effects, accept
enable_logging=falseto use Zero Retention Mode. Zero Retention Mode is available to enterprise customers. Music requests that setstore_for_inpainting=trueare rejected in this mode. - WAV output for sound effects: Sound Effects accepts
wav_8000,wav_16000,wav_22050,wav_24000,wav_32000,wav_44100andwav_48000output formats.
Speech Engine
- 40-minute conversations: Speech Engine supports conversations of up to 40 minutes. The default limit remains 10 minutes. Raise
conversation.max_duration_secondsto allow longer conversations. - Sort by last update: List Speech Engines accepts
sort_by=updated_at, and each summary includesupdated_at_unix_secs.
Dubbing
- Subtitles for dubbed languages: Dubbing project language outputs (
GET /v1/dubbing/project/{project_id}/language/{language_id}) includesubtitles, a signed URL to the translated lines as WebVTT subtitles timed to the source speech. The URL expires one hour after it is issued.
Voices
- Resubmittable voice reviews: Voice sharing
review_statusaddsdeclined_resubmittablefor declined voices that can be resubmitted for review.
Workspaces
- Disable service account API keys: Disable service account API key disables a service account API key without changing its other settings. It remains available after a workspace downgrades from a plan that includes service accounts.
- Group concurrency limits: List workspace groups and List service accounts return
group_concurrency_limit,group_dubbing_concurrency_limitandgroup_music_concurrency_limitfor each group, and group permissions addall_resources_access.
SDK releases
JavaScript SDK
- v2.74.0 - Added
client.conversationalAi.realtime.createClientSecretfor the Realtime API, with theRealtimeModeland OpenAI-compatible session configuration types, and anenvironmentsclient withlist,createanddelete. Also addsforceon agent deletion,sourceBranchIdon branch rebase and rebase preview,includeProcedureGeneratedWorkflowElementson agent reads,enableLoggingon Music and Sound Effects methods, WAV output formats for Sound Effects, service account API keydisable, and Twilio answering machine detectionactions. - v2.73.0 - Added
createAndWaithelpers for Flows image, video and Text to Speech generations and template runs (client.flows.templates.runs.createAndWait). They create the request and poll until it completes or fails, pacing requests with the server’sRetry-Afterheader. Afailedresult is returned rather than thrown, andwaitTimeoutInSecondsthrowsFlowsWaitTimeoutErrorif the work is not finished in time. The regenerated client adds the Video to musicadd_sfx,separate_tracksanduse_audio_as_referenceoptions.
Python SDK
- v2.74.1 -
music.compose_detailednow accepts and forwardsenable_logging, which the custom wrapper previously dropped, so Zero Retention Mode works with this method. - v2.74.0 - Added
client.conversational_ai.realtime.create_client_secretfor the Realtime API and anenvironmentsclient, with the same regenerated API changes as JavaScript SDK v2.74.0. - v2.73.0 - Added
create_and_waithelpers for Flows image, video and Text to Speech generations and template runs, for both sync and async clients, withwait_timeout_in_secondsandmin_poll_interval_in_secondsoptions and aFlowsWaitTimeoutErrorexported fromelevenlabs.flows_custom. Type checkers such as pyright now resolveclient.webhooks.construct_event,client.speech_to_text.realtime,client.text_to_speech.convert_realtimeand the custom Music methods. Includes the same regenerated API changes as the JavaScript SDK. - v2.73.1 - Fixed the test suite on Python 3.13 and later, and added Python 3.13 and 3.14 to CI.
ElevenLabs CLI
- v1.7.0 - Regenerated API commands, adding environments, realtime client secrets and service account API key disabling.
- v1.6.0 - Added
create-and-waitcommands forflows image,flows video,flows text-to-speechandflows templates runs. Each command returns a finished result, with--wait-timeoutand--min-poll-intervaloptions. - v1.5.1, v1.5.2, v1.5.3 and v1.6.1 - Bug fixes for onboarding, including Windows support.
Packages
- @elevenlabs/client@1.28.0 - Added the experimental
persistentSessionoption for resumable text conversations over WebSocket, and theonConversationHistorycallback for the transcript the server replays on resume. WebSocket sessions now also emitonConversationMetadata. - @elevenlabs/react@1.18.0 - Forwards the experimental
onConversationHistorycallback to@elevenlabs/client. - @elevenlabs/types@0.25.0 - Added the
conversation_historyserver event and thepersistent_session_tokenfield onconversation_initiation_metadata. - @elevenlabs/react-native@1.2.30 - Updated to
@elevenlabs/client@1.28.0and@elevenlabs/react@1.18.0. - @elevenlabs/convai-widget-core@0.20.0 and @elevenlabs/convai-widget-embed@0.20.0 - Added the
persistent-sessionattribute. Text conversations survive a dropped connection or a page reload: the widget keeps the transcript, reopens the chat, renders the history replayed by the server and resumes the conversation. End chat discards the stored conversation. Workspaces without persistent sessions fall back to a standard conversation. - @elevenlabs/convai-widget-core@0.19.1 and @elevenlabs/convai-widget-embed@0.19.1 - First message quick replies are shown below the first message in voice calls.
API
View API changes
New endpoints
ElevenAgents
-
Create realtime client secret -
POST /v1/convai/realtime/client_secrets- Create an ephemeral client secret for browser-based Realtime API sessions. Accepts an optionalsession(OpenAI-compatible session configuration withmodelofeleven_realtime_v1_mini(default) oreleven_realtime_v1_max,instructions,audio,tools,turn_detectionandmax_duration_secondsfrom 60 to 7,200, default 600) and optionalexpires_afterwith requiredseconds(integer). Returnsvalue(string),expires_at(integer) and the echoedsession. -
List environments -
GET /v1/convai/environments- List the workspace environments, includingproduction. Each environment hasname, nullableupdated_at_unix_secsand nullablecreated_by_user_id. -
Create environment -
POST /v1/convai/environments- Create an environment with a required, uniquename(string). Returns409if the name is taken. -
Delete environment -
DELETE /v1/convai/environments/{environment}- Delete an environment and remove its values from all environment variables. Returns204.
Workspaces
- Disable service account API key -
POST /v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id}/disable- Disable a service account API key without changing its other settings.
Updated endpoints
ElevenAgents
- Get agent, Update agent, Preview rebase and Preview merge
- Added optional
include_procedure_generated_workflow_elements(boolean, defaulttrue). Whenfalse, the returned workflow contains only authored nodes and edges, without those generated from structured procedures.
- Added optional
- Create agent, Get agent and Update agent
- The
llmenum addsgemini-4-argon,claude-opus-4-6andnemotron-35-super-vl-nvfp4. - TTS configuration
effectsremoves the deprecatedseedfield.
- The
- Delete agent - Added optional
force(boolean, defaultfalse). - List agents -
sort_byaddsupdated_at. Agent summaries add requiredupdated_at_unix_secs(integer). - Rebase branch and Preview rebase - Added optional
source_branch_id(string). Defaults to the agent’s main branch. - Outbound call, Submit batch call and Get batch call
- Twilio machine detection configuration adds
actions, an array of rules with requiredaction(hang_up) and requiredanswered_by(array ofhuman,fax,unknown,machine_start,machine_end_beep,machine_end_silenceormachine_end_other). Each action can appear in at most one rule.
- Twilio machine detection configuration adds
- Get conversation details
- Transcript tool calls add nullable
tool_id(string). It is not set for tools without an ID, such as system tools. - Turn metrics add nullable
voice_id(string). - Tool results add nullable
to_agentandto_node(string). - WhatsApp conversation info adds nullable
recipientwith nullablephoneandbsuid(string), and nullablecall_permission_requestwith requiredstate(blocked,sent,acceptedordeclined) and nullablerequested_at_unix(integer). - The platform charge category enum adds
v3_addon,v4_addonandrag_addon.
- Transcript tool calls add nullable
- Get ticket, List tickets and List workspace tickets
- Ticket responses add required
status_changes, an array of objects withstatus, nullablechanged_by_user_id(string) andchanged_at_unix_secs(integer).
- Ticket responses add required
Text to Speech and Text to Dialogue
- Create speech, Stream speech, Create dialogue and Stream dialogue, including their timestamp variants -
use_pvc_as_ivcis now nullable and no longer declares a default offalse.
Music
- Compose music, Compose detailed, Stream music, Compose detailed stream, Separate stems, Video to music and
POST /v1/music/plan- Added optional
enable_loggingquery parameter (boolean, defaulttrue). Set it tofalsefor Zero Retention Mode.
- Added optional
- Video to music - Added optional
add_sfx,separate_tracksanduse_audio_as_reference(boolean, defaultfalse).
Sound Effects
- Create sound effect
- Added optional
enable_loggingquery parameter (boolean, defaulttrue). output_formataddswav_8000,wav_16000,wav_22050,wav_24000,wav_32000,wav_44100andwav_48000.
- Added optional
Speech Engine
- List Speech Engines -
sort_byaddsupdated_at. Summaries add requiredupdated_at_unix_secs(integer).
Speech to Text
- Create transcript and Get transcript - Edited transcripts add required, read-only
edited_text(string), matchingtextand theedited_textfield of the realtimeedited_transcriptevent.
Dubbing
GET /v1/dubbing/project/{project_id}/languageandGET /v1/dubbing/project/{project_id}/language/{language_id}- Language outputs add nullablesubtitles(string, signed URL).
Voices
- Get voice, List voices and Get voices - Voice sharing
review_statusaddsdeclined_resubmittable.
Workspaces
- List workspace groups and List service accounts
- Groups add nullable
group_concurrency_limit,group_dubbing_concurrency_limitandgroup_music_concurrency_limit(integer orunlimited). - Group permissions add
all_resources_access.
- Groups add nullable