Passer à la navigation

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.alerting on 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 production value. Deleting an environment removes its values from all variables, and production cannot 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 an action (hang_up) with the answered_by verdicts that trigger it, such as machine_start or fax. Verdicts without a rule leave the call running.
  • New LLMs: Agents can use gemini-4-argon, claude-opus-4-6 and the ElevenLabs-hosted nemotron-35-super-vl-nvfp4. See Models.
  • Authored-only workflow reads: Get agent and Update agent accept include_procedure_generated_workflow_elements. Set it to false to receive only the workflow nodes and edges you authored, excluding the ones compiled from structured procedures. Defaults to true, so existing callers are unchanged.
  • Branch rebasing from any branch: Rebase branch and Preview rebase accept an optional source_branch_id to pull changes from a branch other than main.
  • Delete agents used as subagents: Delete agent accepts force. When true, 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 includes updated_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_event and google_calendar_delete_event tools. 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=false to use Zero Retention Mode. Zero Retention Mode is available to enterprise customers. Music requests that set store_for_inpainting=true are rejected in this mode.
  • WAV output for sound effects: Sound Effects accepts wav_8000, wav_16000, wav_22050, wav_24000, wav_32000, wav_44100 and wav_48000 output 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_seconds to allow longer conversations.
  • Sort by last update: List Speech Engines accepts sort_by=updated_at, and each summary includes updated_at_unix_secs.

Dubbing

  • Subtitles for dubbed languages: Dubbing project language outputs (GET /v1/dubbing/project/{project_id}/language/{language_id}) include subtitles, 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_status adds declined_resubmittable for 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_limit and group_music_concurrency_limit for each group, and group permissions add all_resources_access.

SDK releases

JavaScript SDK

  • v2.74.0 - Added client.conversationalAi.realtime.createClientSecret for the Realtime API, with the RealtimeModel and OpenAI-compatible session configuration types, and an environments client with list, create and delete. Also adds force on agent deletion, sourceBranchId on branch rebase and rebase preview, includeProcedureGeneratedWorkflowElements on agent reads, enableLogging on Music and Sound Effects methods, WAV output formats for Sound Effects, service account API key disable, and Twilio answering machine detection actions.
  • v2.73.0 - Added createAndWait helpers 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’s Retry-After header. A failed result is returned rather than thrown, and waitTimeoutInSeconds throws FlowsWaitTimeoutError if the work is not finished in time. The regenerated client adds the Video to music add_sfx, separate_tracks and use_audio_as_reference options.

Python SDK

  • v2.74.1 - music.compose_detailed now accepts and forwards enable_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_secret for the Realtime API and an environments client, with the same regenerated API changes as JavaScript SDK v2.74.0.
  • v2.73.0 - Added create_and_wait helpers for Flows image, video and Text to Speech generations and template runs, for both sync and async clients, with wait_timeout_in_seconds and min_poll_interval_in_seconds options and a FlowsWaitTimeoutError exported from elevenlabs.flows_custom. Type checkers such as pyright now resolve client.webhooks.construct_event, client.speech_to_text.realtime, client.text_to_speech.convert_realtime and 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-wait commands for flows image, flows video, flows text-to-speech and flows templates runs. Each command returns a finished result, with --wait-timeout and --min-poll-interval options.
  • v1.5.1, v1.5.2, v1.5.3 and v1.6.1 - Bug fixes for onboarding, including Windows support.

Packages

API

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 optional session (OpenAI-compatible session configuration with model of eleven_realtime_v1_mini (default) or eleven_realtime_v1_max, instructions, audio, tools, turn_detection and max_duration_seconds from 60 to 7,200, default 600) and optional expires_after with required seconds (integer). Returns value (string), expires_at (integer) and the echoed session.

  • List environments - GET /v1/convai/environments - List the workspace environments, including production. Each environment has name, nullable updated_at_unix_secs and nullable created_by_user_id.

  • Create environment - POST /v1/convai/environments - Create an environment with a required, unique name (string). Returns 409 if the name is taken.

  • Delete environment - DELETE /v1/convai/environments/{environment} - Delete an environment and remove its values from all environment variables. Returns 204.

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, default true). When false, the returned workflow contains only authored nodes and edges, without those generated from structured procedures.
  • Create agent, Get agent and Update agent
    • The llm enum adds gemini-4-argon, claude-opus-4-6 and nemotron-35-super-vl-nvfp4.
    • TTS configuration effects removes the deprecated seed field.
  • Delete agent - Added optional force (boolean, default false).
  • List agents - sort_by adds updated_at. Agent summaries add required updated_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 required action (hang_up) and required answered_by (array of human, fax, unknown, machine_start, machine_end_beep, machine_end_silence or machine_end_other). Each action can appear in at most one rule.
  • 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_agent and to_node (string).
    • WhatsApp conversation info adds nullable recipient with nullable phone and bsuid (string), and nullable call_permission_request with required state (blocked, sent, accepted or declined) and nullable requested_at_unix (integer).
    • The platform charge category enum adds v3_addon, v4_addon and rag_addon.
  • Get ticket, List tickets and List workspace tickets
    • Ticket responses add required status_changes, an array of objects with status, nullable changed_by_user_id (string) and changed_at_unix_secs (integer).

Text to Speech and Text to Dialogue

Music

Sound Effects

  • Create sound effect
    • Added optional enable_logging query parameter (boolean, default true).
    • output_format adds wav_8000, wav_16000, wav_22050, wav_24000, wav_32000, wav_44100 and wav_48000.

Speech Engine

  • List Speech Engines - sort_by adds updated_at. Summaries add required updated_at_unix_secs (integer).

Speech to Text

  • Create transcript and Get transcript - Edited transcripts add required, read-only edited_text (string), matching text and the edited_text field of the realtime edited_transcript event.

Dubbing

  • GET /v1/dubbing/project/{project_id}/language and GET /v1/dubbing/project/{project_id}/language/{language_id} - Language outputs add nullable subtitles (string, signed URL).

Voices

Workspaces

  • List workspace groups and List service accounts
    • Groups add nullable group_concurrency_limit, group_dubbing_concurrency_limit and group_music_concurrency_limit (integer or unlimited).
    • Group permissions add all_resources_access.