Skip to navigation

Scribe v3

Scribe v3 and Scribe v3 Live, the most accurate ElevenLabs speech recognition models, are now available in the Speech to Text API. Scribe v3 (scribe_v3) transcribes recorded audio, and Scribe v3 Live (scribe_v3_live) transcribes in real time. They succeed Scribe v2 and Scribe v2 Realtime, which remain available.

Scribe v3 makes 27% fewer word errors than Scribe v2 on the FLEURS benchmark across 102 languages and labels speakers more accurately. It adds numbers_format to write numbers as digits or words, and secondary_language_codes for audio that mixes languages. Scribe v3 Live has a 44% lower semantic word error rate than Scribe v2 Realtime on FLEURS across 73 languages. It adds turn prediction, which commits a segment when the speaker has finished their turn instead of at the first pause, a multilingual mode that writes each language in its own script, and a keyterm library of up to 10,000 terms.

Unity SDK

The ElevenAgents Unity SDK is now available as the io.elevenlabs.agents package, starting with v0.1.0. It supports the Unity Editor, desktop standalone players on macOS, Windows and Linux, and WebGL builds, with iOS, Android and XR in beta. It requires Unity 6.3 LTS or later.

The SDK connects a Unity scene to an agent through a single Conversation API. It captures the player’s microphone, plays the agent’s voice through an AudioSource you can position in the scene for spatial audio, and raises transcript, response, mode and tool call events on Unity’s main thread. Desktop and mobile builds connect over WebSocket, and WebGL builds can also use WebRTC.

Workflows as code

ElevenAgents workflows can now be built in code with the Workflow builder in the Python and JavaScript SDKs, from v2.77.0. Chain converse, tool, transfer and end steps with when, on_success and go_to routing, then pass the result as workflow to agents.create() or agents.update(). The builder runs entirely in the SDK, so you can load an agent’s workflow, change one node, keep workflows as JSON in version control and still edit them in the visual editor. See Workflows as code.

More agent tools in the hosted MCP server

Hosted MCP adds 24 tools for inspecting agents, covering analytics, configuration summaries, insights, alerts, test summaries, branch conflicts and conversation counts. They use the existing convai_read and convai_write permissions, so connected MCP clients can review an agent the way Architect does. MCP clients can also find and replace or append text in an agent’s system prompt or first message, staged in a branch draft until it is published. See Hosted MCP.

All changes

  • Workflows as code: The Python and JavaScript SDKs add a Workflow builder for agent workflows. See Workflows as code. The workflow editor adds a minimap, zooms out further and has a snap-to-grid toggle, and exposes the subagent turn.soft_timeout_config override so dashboard saves no longer remove it.
  • Clone strength and reasoning effort overrides: Agent tts.clone_strength, clone_strength on supported voices and a clone_strength conversation override are now in the public API. Clients can set conversation_config_override.agent.prompt.reasoning_effort once the agent owner enables the Reasoning effort override; a level the agent’s LLM does not support stops the conversation from starting. Realtime agents show the stability, similarity and clone strength sliders. See Overrides.
  • Conversation data: List conversations returns cost (credits) and cost_fiat (USD), and the conversations table has an optional Cost column. Transcript rows on asynchronous channel conversations add created_at_unix_ms, and asynchronous conversation metadata adds integration_trigger_id and platform_metadata, such as the Zendesk ticket_id. Post-call audio and unredacted audio webhooks include branch_id, version_id and environment.
  • Conversation history limit: Conversation history, count and search requests from users who can see more than 10,000 agents return 403 conversation_history_agent_limit_exceeded unless they filter by agent, instead of returning truncated results.
  • Guardrails: Triggered guardrails record execution_mode (blocking or streaming) and guardrail_details, with the judge’s rationale or the classifier verdict, and the conversation transcript shows why a guardrail triggered. Test runs return triggered_guardrails and show guardrail triggers in the test transcript. See Guardrails.
  • Branches: List branches and the branch get and update endpoints return sync_status for branches that update automatically, with the outcome and attempted_at time of the last automatic rebase, and the branches table shows its state. Open merge proposals whose target branch is merged and archived are retargeted to the merge target instead of closing. Shareable agent links follow the live traffic split across branches by default, with pinning to the current branch as a separate option.
  • Defaults and models: Agents created with Create agent have workflow.prevent_subagent_loops on unless the request sets it. When Eleven v3 Conversational fails during a call, agents fall back to Eleven v4 Turbo, Eleven v4 and then Flash, and never to eleven_v3, so the voice no longer changes mid-call. The fallback ramp for gemini-2.5-flash and gemini-2.5-flash-lite now starts on November 15 instead of November 8; the November 30 cutoff is unchanged.
  • Realtime API: response.created and response.done always include response.status_details. turn_detection.interrupt_response: false is honored, and only committed agent text is streamed. audio/pcm input at sample rates other than 24000 Hz is rejected with invalid_audio_format, and audio/pcma is removed from the audio format enum. A function_call_output that arrives after its call stopped waiting no longer suppresses the next response.create. See Realtime models.
  • Knowledge base: Sitemap crawls have an Auto Discover option that adds new sitemap pages at the folder’s auto-sync frequency. Test retrieval in the dashboard covers every retrieval type. The knowledge base tool is registered only when the agent has documents attached. See Knowledge base.
  • Channels and telephony: Pre-call webhook request_headers accept environment variables, in the API and the dashboard. The Salesforce Cases trigger accepts an optional Reply-To address for email replies. Activating a second Telegram trigger for the same bot returns 409 instead of replacing the first. Redelivered WhatsApp messages no longer get a second reply. Amazon Connect calls no longer end with 408 when the agent pauses. transfer_to_agent conditions resolve dynamic variables. WebRTC calls drop stale audio after an interruption, and an inbound audio batch longer than 15 minutes keeps the newest 15 minutes instead of ending the call.
  • Conversation WebSocket: Text frames that are not a JSON object close the connection with 1008 instead of 1011. Error closes give end users a generic reason; the detailed reason is sent only to sessions of the agent’s owner.
  • Privacy: Conversation history redaction runs on each turn of asynchronous channels such as Slack, email, WhatsApp text and Telegram before the turn is stored. With history redaction on and audio recording off, audio post-call webhooks and storage exports deliver entity-redacted audio. Triage no longer clusters issues from agents in zero retention mode workspaces.
  • Dashboard: Agents Home (/app/agents) opens Architect, and the previous Home dashboard moves to Dashboards (/app/agents/analytics). Architect’s Pro and Lite menu lets you choose a reasoning effort on every plan. Concurrency charts count only voice conversations and no longer change with the chart granularity. Saved views keep every filter, agent search matches partial words in agent names, the Tools tab groups statistics by tool ID, and batch call CSV exports work while calls are still in progress. Triage tickets can be sorted by last_reported. show_rich_content carousels accept up to 10 cards, up from 5.
  • Evaluations and analysis: Run conversation evaluation accepts evaluated_agent_id and evaluated_branch_id, so reruns work for conversations transferred to another agent; rerunning requires edit permission. Analysis item references without a pinned version store version_id as "latest". Tool latency statistics used for auto pre-tool speech exclude MCP approval waits and failed calls.
  • Fixes: Conversations on Claude 5.5 models no longer fail with 400 when a response interleaves thinking with text or tool calls. Test runs from the agent editor compile procedures, so structured procedures no longer fail with a transfer error. Merges and rebases no longer report conflicts when both branches made the same procedure change, or on computed test fields and MCP settings. Duplicating an agent remaps procedure references in structured procedure steps. Conference transfers on outbound SIP trunk calls work when the number has no assigned agent. Workflow nodes with tool overrides that previously failed to save now save, new backward transitions no longer show an exit_slot error, and enum values on LLM expression schemas are kept on save. Calls whose environment does not exist are marked failed with the reason in metadata.error. Architect works again in the India and Singapore data residency environments.
  • Credit limits: PUT /v1/workspace/members/{user_id}/usage-limit sets the monthly credit limit (usage_limit) of a member or service account, or removes it with null. Admins can also set it from the Credit limit button on the service accounts page. Personal credit limits now count API key and agent usage for every seat type except basic, which still counts only Creative usage. API key and agent usage from before this change is not counted retroactively. See Members.
  • Billing group concurrency: Enterprise admins can set Text to Speech, Dubbing and Music concurrency limits on billing groups from the group dialogs. See Billing groups.
  • Architect permission: Existing full and read-only Agents grants, including grants to Everyone and to groups, now also grant the Architect permission.
  • Auth connections: OAuth2 JWT auth connections add jwt_usage, where client_authentication sends the JWT as a client_assertion on a client_credentials request. OAuth2 JWT and private key JWT connections add extra_headers for additional JWT header parameters, such as x5t, and the PS256, PS384 and PS512 algorithms. See Create auth connection.
  • Webhooks: OAuth2 webhooks can send client credentials in a Basic authorization header (token_endpoint_auth_method: client_secret_basic). GET /v1/workspace/webhooks?include_usages=true no longer times out for workspaces with many agents, and webhook retries no longer deliver the same job twice.
  • Audit logs: The activity_name and class_name query parameters of List audit logs are typed as the AuditActivityName and AuditClassName enums, which list every accepted value.
  • Fixes: SCIM requests that time out waiting on a group return 429 with Retry-After: 5 instead of 500. Saving the Everyone group no longer fails in workspaces with a permission allowlist.
  • Concurrency limits: Sound effects have their own per-plan concurrency limits instead of the Text to Speech limit: 4 on Free and Starter, 6 on Creator and Pro, and 8 on Scale and Business. Requests beyond the limit and its reduced-priority queue return 429. Enterprise customers can request a higher limit. The usage analytics concurrency chart shows Sound effects with its limit. See Sound effects.
  • Authentication: auth.enable_auth (boolean, default false) on Create Speech Engine and Update Speech Engine requires a signed URL or token to start a conversation. The Security tab has an Enable authentication toggle.
  • Sharing: Workspace sharing endpoints accept a Speech Engine’s seng_ ID, so Speech Engines can be shared in a workspace.
  • Agent inspection tools: 24 tools for agent analytics, configuration summaries, insights, alerts, test summaries, branch conflicts and conversation counts, available with the existing convai_read and convai_write permissions. See Hosted MCP.
  • Prompt editing: MCP clients can find and replace or append text in an agent’s system prompt or first message on a branch. The edit is staged in the branch draft and goes live when the draft is published.
  • Paginated tool listing: tools/list is returned in pages of at most 256 KiB, so MCP clients that reject large listings can connect.
  • Fixes: OAuth clients that open the authorization page in a popup, such as Gemini Enterprise, can connect. Media in the Flows view loads in ChatGPT.
  • Scribe v3 and Scribe v3 Live: Create transcript accepts scribe_v3 as model_id, with new numbers_format (digits or words) and secondary_language_codes parameters. The realtime WebSocket accepts scribe_v3_live, with commit_strategy=turn_prediction, multilang_mode and a keyterm library of up to 10,000 terms. Scribe v2 and Scribe v2 Realtime remain available. See Models.
  • Timestamps with background filtering: The realtime WebSocket accepts include_timestamps together with filter_background_audio, with timestamps mapped to the original audio.
  • Lower partial latency: Realtime partial transcripts are sent as soon as they are produced, removing up to 100 ms of delay. turn_probability on partial transcripts is rounded to two decimal places.
  • EU data residency: transcript_edit is available in the EU data residency environment.
  • Fixes: Realtime transcripts no longer contain emotion labels such as {neutral}.
  • Voice Library matches: When Instant Voice Clone samples match a protected voice that is available in the Voice Library, Create IVC voice and POST /v2/voices/create-preview-from-samples return library_voice_match, with library_voice_id and public_owner_id. If the clone is blocked, the 403 response includes the same object in detail.data. Pass both IDs to POST /v1/voices/add/{public_user_id}/{voice_id} to add the library voice instead.
  • Voice categories: The VOICE_CATEGORY enum no longer lists famous.
  • Fixes: Instant Voice Clone drafts are stored per user and workspace, and the page no longer loops on an old draft. Adding a library voice to My Voices no longer reports success without listing the voice.
  • Failed languages: Target languages that cannot start, for example because the quota is exceeded, are marked FAILED instead of staying PENDING, and targets pending for more than 7 days fail.
  • Short sources: Sources shorter than 0.1 seconds are rejected with source_too_short before any charge.
  • Verified clones: Dubbing accepts a workspace’s own verified voice clones that match a protected voice instead of blocking them.
  • Legacy manual mode: The Manual mode option is renamed Legacy manual mode and is shown only when Dubbing v1 is selected.
  • Aspect ratios: Projects can use 3:4 and 4:3 aspect ratios, and media in those ratios starts new projects at the matching ratio.
  • Subtitle timing: SRT and VTT exports apply paragraph trims, so subtitles match the exported audio.
  • Faster blank projects: Blank audiobook projects are created without a wait, and blank eleven_v3 projects no longer get the sample template.
  • Fixes: Replacing the content of a large project with POST /v1/studio/projects/{project_id}/content no longer fails with 500. IME input, such as Japanese, is no longer committed early or mid-word in the editor. Pause after paragraph pauses at the real end of a paragraph that is still loading, and no longer pauses as soon as you press Play at the start of a paragraph.
  • Image editor: Rotating a layer rotates its selection box, masks sit in their own draggable box, and text and shape layers can be rotated, masked and recolored.
  • Flows: Figma .fig imports keep small icons whole and keep drop shadows, rounded clipping and borders of stroke-only frames. The Text to Speech node offers the full 0 to 100% Stability range for Eleven v4. Seedance 2.5 unlocks the aspect ratio when a video reference is selected, and dropped assets are arranged in a grid.
  • Video in Voice Changer: Voice Changer in the app keeps video uploads as video. History opens a viewer with the original and converted audio tracks, and the converted video can be downloaded as MP4.
  • Fixes: Voice Isolator returns 400 invalid_audio instead of 500 for pcm_s16le_16 uploads with an odd number of bytes.
  • Pronunciation previews: The pronunciation dictionaries dialog has a model picker for previewing rules, instead of always previewing with eleven_turbo_v2.
  • Voice library surcharge: The agents voice library surcharge is charged per voice, so usage analytics attributes it to each voice instead of “No voice”.
  • AI Speech Classifier: The classifier accepts video files and checks their audio track.

JavaScript SDK

  • v2.77.0 - Added a Workflow builder, exported from the package root, that builds agent workflows with chained calls and produces the workflow value for agents.create() and agents.update(). See Workflows as code.

Python SDK

  • v2.77.0 - Added the Workflow builder in elevenlabs.agent_workflows, which builds agent workflows with chained calls and produces the workflow value for agents.create() and agents.update(). Speech Engine create and update accept the auth parameter.

ElevenLabs CLI

  • v1.9.1 - agents workflow diagram draws bare workflow files exported by the SDK Workflow builders. onboard waits up to 30 minutes for sign-in approval instead of 5, retries a token request that could not connect, and reports a copied key that /v1/user refuses as “couldn’t be checked” instead of belonging to another account.

Unity SDK

  • v0.1.0 - First release of the ElevenAgents Unity SDK (io.elevenlabs.agents), installed from the git URL through the Unity Package Manager. Adds the Conversation session API, conversation events, messaging, client tools, audio and device controls, a native WebSocket transport for the Editor and desktop players, and a WebGL transport with WebSocket and WebRTC. Requires Unity 6.3 LTS or later. See Unity SDK.

Packages

New endpoints

Workspaces

  • PUT /v1/workspace/members/{user_id}/usage-limit - Set or clear the monthly credit limit of a workspace member or service account. Requires usage_limit (integer, minimum 0, or null to remove the limit). Admins only.

Updated endpoints

ElevenAgents

  • Create agent and the agent get and update endpoints
    • TTS configuration adds clone_strength (number, default 0), supported voices add nullable clone_strength (number), and TTS conversation and workflow overrides add nullable clone_strength. The override config adds tts.clone_strength (boolean, default false).
    • Prompt overrides add nullable reasoning_effort (LLMReasoningEffort), and the override config adds prompt.reasoning_effort (boolean, default false). conversation_config_override on the /v1/convai/conversation WebSocket accepts agent.prompt.reasoning_effort and tts.clone_strength.
    • Pre-call webhook request_headers values accept ConvAIEnvVarLocator in addition to strings and secret locators.
    • Analysis item references (AttachedUserEvaluationRef, AttachedUserDataCollectionRef) default version_id to "latest" and it is no longer nullable.
    • SearchStrategy defaults to semantic.
    • DataCollectionValueSchema.allowed_values_dynamic_variable is deprecated; use allowed_values instead.
  • List conversations - Added nullable cost (integer) and cost_fiat (number) to each conversation summary.
  • Get conversation details
    • Asynchronous conversation metadata adds nullable integration_trigger_id (string) and platform_metadata.
    • Transcript rows add nullable created_at_unix_ms (integer), also in test responses.
    • Triggered guardrails add nullable execution_mode (streaming or blocking) and guardrail_details (LLM, classifier or unknown verdict).
    • AgentDefinitionSource adds mcp.
  • Run conversation evaluation - Added optional evaluated_agent_id and evaluated_branch_id (string).
  • List branches and the branch get and update endpoints - Added nullable sync_status with last_attempt (outcome: succeeded, conflict, no_common_ancestor, rejected or error, and attempted_at in Unix seconds).
  • Test runs (POST /v1/convai/agents/{agent_id}/run-tests and the test invocation endpoints) - Added triggered_guardrails (array).
  • Triage tickets (GET /v1/convai/triage-tickets and GET /v1/convai/agents/{agent_id}/triage-tickets) - The sort enum adds last_reported.
  • Realtime client secrets (POST /v1/convai/realtime/client_secrets) - AudioFormat no longer lists audio/pcma.

Speech Engine

Voices

  • Create IVC voice - Added nullable library_voice_match with library_voice_id and public_owner_id (string).
  • VOICE_CATEGORY, used by the dubbing similar voices endpoint, removed famous.

Workspaces

  • Create auth connection and the auth connection get and update endpoints
    • OAuth2 JWT connections add jwt_usage (authorization_grant, the default, or client_authentication).
    • OAuth2 JWT and private key JWT connections add extra_headers (map of strings), and algorithm adds PS256, PS384 and PS512.
  • List audit logs - activity_name and class_name query parameters changed from string to the AuditActivityName and AuditClassName enums.