> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

import { YoutubeEmbed } from "../../../components/YoutubeEmbed";

### SFX v3

[SFX v3](/docs/overview/capabilities/sound-effects#sfx-v3) (`eleven_text_to_sound_v3`), our newest sound effects model, is now available to every workspace. Compared with `eleven_text_to_sound_v2`, it follows prompts that contain several instructions more closely, handles prompts with music or vocals better, sounds more natural and is less likely to clip on high-frequency sounds such as chimes and whistles.

In ElevenCreative, SFX v3 is the default model in Sound Effects, Studio and Flows, and the sound effects that Video to music adds are generated with it. In the API, set `model_id` to `eleven_text_to_sound_v3` on [Create sound effect](/docs/api-reference/text-to-sound-effects/convert), and set `loop` to `true` for a sound effect that loops smoothly. `eleven_text_to_sound_v2` is deprecated and will be removed on March 1, 2027.

<YoutubeEmbed id="LfM96HcSaGc" />

<CardGroup cols={3}>
  <Card title="Sound effects" icon="duotone book" href="/docs/overview/capabilities/sound-effects#sfx-v3">
    Learn how to prompt SFX v3 and what it handles best.
  </Card>
  <Card title="SFX v3 model" icon="duotone microchip-ai" href="/docs/overview/models#sfx-v3">
    Compare SFX v3 with `eleven_text_to_sound_v2` and see the deprecation date.
  </Card>
  <Card title="Create sound effect" icon="duotone code" href="/docs/api-reference/text-to-sound-effects/convert">
    Generate sound effects with SFX v3 through the API.
  </Card>
</CardGroup>

### Eleven Realtime for every workspace

**ElevenAgents** voice agents in every workspace can now use [Eleven Realtime](/docs/eleven-agents/customization/realtime-models), completing the gradual rollout that started on October 19. Pick Eleven Realtime v1 Mini or v1 Max as the agent's voice mode, or connect an OpenAI Realtime client to the Realtime WebSocket, and review sessions on the Realtime Conversations page. Realtime conversations can also be organized into groups through the API, under `/v1/convai/realtime/conversation-groups`.

### Professional Voice Clones on Eleven v4

**Text to Speech** Professional Voice Clone fine-tuning for Eleven v4 and Eleven v4 Turbo is now available to every workspace. To train an existing clone, hover over it in [My Voices](https://elevenlabs.io/app/voice-lab) and click the plus button next to Eleven v4. Requests for a clone fine-tuned on v4 now use the `clone_strength` saved in the voice's settings when the request sets neither `clone_strength` nor `use_pvc_as_ivc`, so you no longer need to pass it on every call. See [Eleven v4](/docs/overview/capabilities/text-to-speech/eleven-v4#voice-cloning).

### Analysis items API

**ElevenAgents** evaluation criteria and data collection items can now be managed through the API as reusable analysis items. Create, list, update, copy and delete them under `/v1/convai/analysis-items`, attach or detach them across agents and branches with a single request, list each item's versions, and check which agents depend on an item before you change or delete it. Inline evaluation criteria and data collection in agent configurations keep working and are stored as attached items. See [Analysis library](/docs/eleven-agents/customization/agent-analysis/analysis-library).

### Noisy environment detection in the API

**ElevenAgents** noisy environment detection can now be configured through the API and CLI. Set `conversation_config.turn.noisy_environment_detection` to `true` and the agent speaks `noisy_environment_message` once, without interruption, when it hears other people speaking in the caller's background, asking them to move somewhere quieter. Add a translated message for each additional language in `language_presets`. The setting is available for voice agents in Enterprise workspaces; see [Noisy environment detection](/docs/eleven-agents/customization/conversation-flow#noisy-environment-detection).

### Realtime entity redaction

**Speech to Text** can now redact entities in realtime transcripts. Pass `entity_redaction` and `entity_redaction_mode` as query parameters on the [realtime WebSocket](/docs/api-reference/speech-to-text/v-1-speech-to-text-realtime), in the same format as batch transcription, and each committed transcript is followed by a `redacted_transcript` event carrying the original `text` and the `redacted_text`. The Python and JavaScript SDKs from v2.76.0 and `@elevenlabs/client` from 1.34.0 support these options. See [Entity detection](/docs/eleven-api/guides/how-to/speech-to-text/batch/entity-detection#entity-redaction).

### All changes

<AccordionGroup>
<Accordion title="ElevenAgents">

- **Analysis items API**: Evaluation criteria and data collection items can be managed as reusable [analysis items](/docs/eleven-agents/customization/agent-analysis/analysis-library) under `/v1/convai/analysis-items`, with endpoints to list, create, get, update, copy and delete items, list versions, list dependent agents and update attachments in bulk.
- **Noisy environment detection**: `turn.noisy_environment_detection` (default `false`) and `turn.noisy_environment_message` are available in the API, along with `noisy_environment_message_translation` on language presets and `noisy_environment_message` in conversation and workflow overrides. Available for voice agents in Enterprise workspaces. See [Noisy environment detection](/docs/eleven-agents/customization/conversation-flow#noisy-environment-detection).
- **Eleven Realtime available to all workspaces**: [Realtime voice mode](/docs/eleven-agents/customization/realtime-models), the Realtime WebSocket and the Realtime Conversations page are available to every workspace, completing the gradual rollout announced on October 19. Realtime conversation groups can now be managed through the API, under `/v1/convai/realtime/conversation-groups`.
- **Realtime API behavior**: Each manual `input_audio_buffer.commit` transcribes only the speech since the previous commit, and `input_audio_buffer.clear` drops buffered audio. `response.metadata` from `response.create` is echoed on `response.created` and `response.done`, with at most 16 string pairs. `input_audio_buffer.speech_started` and `speech_stopped` are sent once per committed user turn instead of on every pause. Idle audio sessions close after 3 minutes instead of 60 seconds, after a `session_idle_timeout` error.
- **GPT-6.1 Terra**: `gpt-6.1-terra` can be selected as the agent LLM and as the analysis LLM, on the standard and fast service tiers, with reasoning effort from `none` to `max` (default `medium`).
- **Default LLM**: New agents created without an explicit LLM use `gemini-3.5-flash` instead of `gemini-2.5-flash`, and the default backup LLM cascade leads with Gemini 3.5 Flash models. Existing agents are unchanged. Gemini 3.5 Flash-Lite is also available in the India and Singapore isolated environments.
- **Model deprecations**: `gpt-4.1-nano` and `gpt-4o-2024-05-13`, which OpenAI shut down on October 23, are deprecated immediately, and agents using them run on `gpt-5.6-luna` and `gpt-5.6-sol` respectively. `gpt-5`, `gpt-5-mini`, `gpt-5-nano` and their `2025-08-07` snapshots are deprecated ahead of OpenAI's December 11 shutdown, with traffic moving to `gpt-5.6-sol`, `gpt-5.6-terra` and `gpt-5.6-luna` in steps from 10% on November 11 to 100% on December 6. [List LLMs](/docs/api-reference/llm/list) returns `deprecation_info` for these models. Claude Sonnet 4.5 is deprecated on November 30, with Claude Sonnet 4.6 as the replacement, and is removed from model selectors. The fallback ramp for `gemini-2.5-flash` and `gemini-2.5-flash-lite` now starts on November 8 instead of November 1; the November 30 cutoff is unchanged.
- **Conversation message counts**: [List conversations](/docs/api-reference/conversations/list) and [Get conversation details](/docs/api-reference/conversations/get) return `user_message_count` and `agent_message_count`. `message_count` on the conversation list now counts only turns with text, so tool-only turns are no longer counted. Conversations with no messages get a `call_successful` value of `unknown`, and the dashboard shows them as "No conversation".
- **Knowledge base**: [Update document](/docs/api-reference/knowledge-base/update) accepts `enable_auto_sync`, `auto_remove` and `minimum_frequency_days`, and the dashboard can edit these auto-sync settings after a document is created, optionally applying folder settings to existing documents. Sitemap crawls accept `exclude_patterns`, with an **Exclude patterns** field in the sitemap step of the URL dialog. Website crawls deduplicate pages by canonical URL, and Google Drive auto-sync pauses when the Drive token is rejected and resumes after you reconnect. See [Knowledge base](/docs/eleven-agents/customization/knowledge-base).
- **Agent testing**: Tool call tests accept `guardrail_trigger` to assert that a guardrail should or should not trigger on the generated turn, with **Should trigger** and **Should not trigger** options in the dashboard. Tests whose turn is blocked by a guardrail now fail with "Agent response blocked by guardrail" instead of returning an inconclusive result. [List test invocations](/docs/api-reference/tests/test-invocations/list) accepts `created_by_user_id`, and the test history adds a creator filter. Test runs are returned in creation order. See [Agent testing](/docs/eleven-agents/customization/agent-testing).
- **Branches and merges**: Branches can have a default environment, set when creating or publishing to a branch and changed from the branch menu. Conversations on the branch use that environment unless the caller requests another one, and such branches cannot receive live traffic. Merge and rebase conflicts can be resolved with Architect, and procedure conflicts can be edited and combined like prompt conflicts. A single procedure's unpublished changes can be discarded without discarding the whole draft. Branches whose only version was created with changes can be merged, and branch responses report a `current_live_percentage` of 100 for the main branch when the agent has no live deployment.
- **Workflows**: Update state nodes and the `update_state` tool can override LLM settings (model, temperature, token limit and reasoning) for the rest of the conversation from a new **LLM** tab. Double-click a workflow edge to add reroute points that shape it. Workflow tool nodes accept only configurable system tools plus `start_procedure` and `end_procedure`.
- **Issues**: Issue descriptions can be edited from the issue details sheet, and [Update triage ticket](/docs/api-reference/triage-tickets/update) accepts `qa_comment`. See [Triage](/docs/eleven-agents/operate/triage).
- **WhatsApp**: WhatsApp conversations record `call_result` (`answered`, `voicemail`, `busy`, `no_answer` or `failed`), and conversations opened with a template record `opening_message` with the template name, delivery timestamps, error code and pricing category. Call permission requests record `responded_at_unix`, `permanent` and `granted_by_user_call`. WhatsApp batch calls that are declined, missed or cannot be placed mark the recipient `failed` instead of leaving it `initiated`. See [WhatsApp](/docs/eleven-agents/whatsapp).
- **Widget**: Widget configuration adds `transcript_speech_sync_enabled` (default `true`), with a **Reveal transcript as the agent speaks** switch; set it to `false` to show each message in full at once. `show_rich_content` carousel cards accept `rating` (0 to 5) and `review_count`, shown as stars. Resumed persistent text conversations replay rich content in their history. See [Widget](/docs/eleven-agents/customization/widget).
- **Channel integrations**: Asynchronous channels such as Slack, Telegram, Intercom, Gmail, Salesforce and Custom Channel record message timestamps from the source platform and store the conversation's `main_language` from the language override or the agent's language instead of always `en`. Salesforce passes the customer's email to the agent as `integration__salesforce_customer_email`, which is not a verified identity. Gmail triggers run on the agent's current version, back off on Gmail rate limits and set aside threads that keep failing.
- **Telephony**: Twilio conference transfers can combine post-dial digits with call screening (`require_acceptance`). Tools that wait for speech to finish, such as `transfer_to_number` and `end_call`, are skipped if the caller hangs up during their pre-tool speech. Calling `skip_turn` after a turn timeout starts the skip-turn wait, so the silence timeout no longer ends the call during it.
- **Environment variables**: Deleting an [environment variable](/docs/eleven-agents/integrate/environment-variables) that the tip of a live branch references fails with `409` and lists the affected agents and branches. The environment variables table adds **Remove value** and **Delete** row actions.
- **Dashboard**: The conversation view shows human agent replies captured after an escalation in a separate post-escalation section. The system prompt editor's wand opens an **Ask Architect** menu to review and improve the prompt or write a new one. Filtered conversation exports include evaluation criteria and data collection results. Turns where the agent speaks after a silence timeout no longer report end-to-end latency. The agent voice settings show the **Clone strength** slider for every voice fine-tuned for a v4 model.
- **Fixes**: Files that the LLM provider cannot process are dropped instead of failing later turns. Deleting an agent removes its trigger connections, so the integration connection can be deleted afterwards. The prompt editor saves `&` and `>` as typed instead of encoding them. Say nodes no longer duplicate messages, merge proposals that add a node group no longer fail, and node groups show their configured titles. The structured procedure editor opens procedures authored through the API, and dynamic variables in If step expressions are included in `referenced_dynamic_variables`. Agents whose data collection item uses a dynamic variable can be published again. Knowledge base rediscovery adds pages to older crawl jobs. The concurrency chart no longer overstates peaks when grouped by agent or branch. Garbled characters in LLM tool call arguments are repaired, and WhatsApp webhooks with resent interactive replies or contacts without a name are accepted instead of failing with `422`.

</Accordion>

<Accordion title="Speech to Text">

- **Realtime entity redaction**: The realtime WebSocket accepts `entity_redaction` (`all`, a category such as `pii`, `phi` or `pci`, or a list of entity types) and `entity_redaction_mode` (`redacted`, `entity_type` or `enumerated_entity_type`, the default). Each committed transcript is followed by a `redacted_transcript` event, and the settings are echoed in `session_started`. `entity_redaction` cannot be combined with `transcript_edit`. See [Entity detection](/docs/eleven-api/guides/how-to/speech-to-text/batch/entity-detection#entity-redaction).
- **Realtime authentication**: Bearer tokens passed to the realtime WebSocket in `Sec-WebSocket-Protocol` require the Speech to Text permission, as the other authentication methods do.
- **Usage on empty responses**: Empty and silent responses from [Create transcript](/docs/api-reference/speech-to-text/convert) include `audio_duration_secs`.
- **Fixes**: Webhook transcription requests, with a file upload or `cloud_storage_url`, now apply `diarization_threshold` and `seed`.

</Accordion>

<Accordion title="Sound effects">

- **SFX v3 for everyone**: SFX v3 (`eleven_text_to_sound_v3`) is available to every workspace and is the default model in Sound Effects, Studio and Flows. The sound effects that [Video to music](/docs/api-reference/music/video-to-music) adds with `add_sfx` are generated with SFX v3. See [SFX v3](/docs/overview/models#sfx-v3).

</Accordion>

<Accordion title="Text to Speech">

- **Professional Voice Clones on Eleven v4**: Professional Voice Clone fine-tuning for Eleven v4 and Eleven v4 Turbo is available to every workspace. See [Eleven v4](/docs/overview/capabilities/text-to-speech/eleven-v4#voice-cloning).
- **Saved clone strength**: Eleven v4 requests for a fine-tuned Professional Voice Clone use the voice's saved `clone_strength` when the request sets neither `clone_strength` nor `use_pvc_as_ivc`.
- **Pronunciation dictionary limit**: Applying pronunciation dictionaries can expand the input text to at most 50 times its length plus 10,000 characters. Requests over the limit return `400` `pronunciation_dictionary_expansion_too_large`.
- **Fixes**: History items for v4 generations keep `clone_strength` and `speed` in their saved settings.

</Accordion>

<Accordion title="Studio">

- **Eleven v4 recommended**: Project settings and the model picker recommend Eleven v4 instead of Multilingual v2.
- **Larger media uploads**: Pro and higher plans can upload audio and video assets of up to 3 GB, up from 1 GB.
- **Word uploads**: Audiobook projects can be created from Word `.docx` files as well as EPUB and PDF.
- **Video clip background removal**: Video clips have a **Remove background** action, and right-clicking a clip opens its **AI Tools**.
- **Pronunciations tab**: Audiobook projects have a pronunciations sidebar tab, opened from the selection menu or with Mod+Shift+P.
- **Fixes**: The import speech endpoints for external audio and video clips return `429` `system_busy` and refund the transcription charge when transcription capacity is unavailable, instead of returning `500`. Duplicating a project no longer fails when an image clip points at a source image that is not copied.

</Accordion>

<Accordion title="Realtime Translation">

- **Close codes**: The WebSocket always closes with a code: `1000` for a normal end, `1008` for a rejected request such as an unknown `voice_id` or an authentication failure, and `1011` for a server error.
- **Invalid frames**: Frames that are not a JSON object receive an `input_error` message and the session continues.
- **Fixes**: Translated audio is encoded in the requested `output_format`, so μ-law and A-law output plays correctly. Repeated utterances are no longer dropped, Chinese, Japanese and Korean clauses are no longer spoken twice or skipped, and Korean word order is improved.

</Accordion>

<Accordion title="Image and video">

- **SVG assets**: SVG uploads to Assets stay SVG and render as vectors, including in the image editor. Scripts, event handlers and remote references are removed, models receive a PNG, and asset responses omit `preview_content_url` for SVGs.
- **Flows**: Node groups and the structure sidebar are available in every workspace. LLM nodes on video-capable models such as `gemini-3.5-flash-llm` accept video prompt references.
- **Clearer reference errors**: Generations whose reference file was refused on upload, or is not decodable audio, fail as a validation error with a clear message instead of an unexpected error.

</Accordion>

<Accordion title="Speech Engine">

- **Longer conversations**: Speech Engine conversations can last up to 2 hours, up from 40 minutes. See [Speech Engine](/docs/overview/capabilities/speech-engine).
- **Request headers**: Speech Engine request header values can reference workspace secrets and are validated in the dashboard. Existing headers must be cleared before the WebSocket URL can change.

</Accordion>

<Accordion title="Voices">

- **Larger voice selections**: Manual voice selection is no longer limited to 10 voices, and link-shared voice collections offer **Select all**. Shared collection links open in the EU, India and Singapore data residency environments.
- **Fixes**: The voice verification captcha accepts Serbian readings in Latin or mixed script.

</Accordion>

<Accordion title="Music">

- **Higher upload limit**: [Upload music](/docs/api-reference/music/upload) accepts up to 100 songs per user per 24 hours, up from 20.

</Accordion>

<Accordion title="Workspaces">

- **Architect permission**: Architect access is controlled by its own workspace permission. `PermissionType` adds `agents_architect` and group permissions add `architect`, so admins can turn off Architect without removing Agents access, and API keys have a separate Architect scope.
- **History download permission**: [Download history items](/docs/api-reference/history/download) requires the `speech_history_read` API key permission.
- **Fixes**: New users whose only invite is to a child workspace that inherits or borrows SSO can sign up with that SSO instead of receiving `400` `provider_not_allowed`.

</Accordion>

<Accordion title="Billing">

- **Architect charging**: Architect usage is now billed from workspace credits as its own line item, separate from agents' minutes and LLM cost. Billing is rolling out gradually; the composer in the dashboard shows when it applies to your workspace. See [Pricing and usage](/docs/eleven-agents/operate/architect/pricing).
- **Realtime pricing**: Workspace pricing tables list Realtime API audio (`eleven_realtime_v1_audio`) and the Eleven Realtime v1 Mini and Max token rates.
- **Cached LLM tokens**: Cache writes are billed at least at the input rate and cache reads at the vendor's cached rate. LLM calls for post-call analysis, guardrails and agent tests bill cached prompt tokens at those rates instead of the full input rate. Gemini 2.5 Flash-Lite cache reads are billed at 0.01 instead of 0.
- **Preview conversation discount**: The discount on conversations started from the agent tester applies only to workspaces on 2022 pricing. On 2026 pricing, `charging.dev_discount` is `false`.

</Accordion>

<Accordion title="Hosted MCP">

- **Fixes**: OAuth discovery names the host the client connected to, so MCP clients such as Claude Code, Cursor and VS Code can connect to `https://api.elevenlabs.io/v1/mcp`.

</Accordion>

<Accordion title="SDK releases">

#### JavaScript SDK

- [v2.76.0](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.76.0) - The realtime Speech to Text wrapper accepts `entityRedaction`. Added `client.conversationalAi.analysisItems` for managing analysis items, and methods on `client.conversationalAi.realtime` to list, create, get, update and delete realtime conversation groups and to set or clear a conversation's group.

#### Python SDK

- [v2.76.0](https://github.com/elevenlabs/elevenlabs-python/releases/tag/v2.76.0) - The realtime Speech to Text wrapper accepts `entity_redaction`. Added `client.conversational_ai.analysis_items` for managing analysis items, and `list_conversation_groups`, `create_conversation_group`, `get_conversation_group`, `update_conversation_group`, `delete_conversation_group`, `set_conversation_group` and `clear_conversation_group` on `client.conversational_ai.realtime`.

#### Android SDK

- [v0.13.1](https://github.com/elevenlabs/elevenlabs-android/releases/tag/v0.13.1) - `textOnly` is now sent to the server, so text-only sessions run as text conversations instead of voice conversations. The top-level `textOnly` setting takes precedence over `overrides.conversation.textOnly`, as in the JavaScript SDK, and setting only the override now selects the WebSocket transport.

#### Unity SDK

- [v0.1.0](https://github.com/elevenlabs/unity/releases/tag/v0.1.0) - First release of the [Unity SDK](/docs/eleven-agents/libraries/unity) for voice agents, installed through the Unity Package Manager from a git URL. It requires Unity 6.3 LTS or later and runs in the Editor, desktop players and WebGL, with WebRTC available on WebGL. `Conversation.StartSessionAsync` starts a session with an agent ID, signed URL or conversation token, and the SDK supports client tools, conversation events, messaging, feedback, device selection and spatial audio through an `AudioSource`. GettingStarted and QuickStart samples are included.

#### ElevenLabs CLI

- [v1.9.0](https://github.com/elevenlabs/cli/releases/tag/v1.9.0) - `agents workflow diagram` draws an agent workflow in the terminal, or prints it as Mermaid with `--format mermaid` or `--format mermaid-md`. `agents graph` shows how agents, tools, tests, knowledge base documents and handoffs connect across the agents in `agents.json`, and `--uses` lists the agents that reference a given tool or document. Both commands read local files only. Regenerated against the latest API.
- [v1.8.0](https://github.com/elevenlabs/cli/releases/tag/v1.8.0) - Request `User-Agent` headers include how the CLI was installed (`install/<source>`, such as npx, Homebrew or the installer). Pass `--telemetry off`, or set `ELEVENLABS_TELEMETRY=off` or `DO_NOT_TRACK=1`, to drop these tags. Regenerated against the latest API.

#### Packages

- [@elevenlabs/client@1.34.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fclient%401.34.0), [@elevenlabs/types@0.28.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Ftypes%400.28.0) and [@elevenlabs/react@1.21.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact%401.21.0) - `Scribe.connect()` and `useScribe()` accept `entityRedaction` and `entityRedactionMode`, and dispatch the `redacted_transcript` message after each committed transcript. `useScribe()` adds an `onRedactedTranscript` callback and sets `redactedText` on the matching entry in `committedTranscripts`. `stripAudioTags` removes audio tags written in any language, not only tags in English letters.
- [@elevenlabs/convai-widget-core@0.24.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-core%400.24.0) - With `persistent-session` enabled, a voice call can be resumed after a page navigation. The next page shows the conversation so far with "Resume talking?", and resuming starts a new conversation that continues from those turns, skipping the greeting if the agent allows first message overrides.
- [@elevenlabs/client@1.32.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fclient%401.32.0) - Self-hosted worklets (`workletPaths`) are checked against the installed client version. A worklet copied from another release fails at session start with an error that names the worklet and path. Re-copy the files from `@elevenlabs/client/worklets/*` when upgrading.
- [@elevenlabs/client@1.32.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fclient%401.32.1) - Fixes the start of the agent's first message playing too fast and too high when the browser cannot use the agent's sample rate. Voice sessions wait for the output resampler and fail with an error if it cannot be created.
- [@elevenlabs/client@1.33.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fclient%401.33.0), [@elevenlabs/types@0.27.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Ftypes%400.27.0) and [@elevenlabs/convai-widget-core@0.23.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-core%400.23.0) - Added a `cloneStrength` TTS override to the client and an `override-clone-strength` attribute to the widget. History rows of resumed persistent text conversations can carry `rich_content`, and the widget replays it.
- [@elevenlabs/react@1.20.3](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact%401.20.3) - `useScribe` with `autoConnect` keeps a single open session under React StrictMode.
- [@elevenlabs/convai-widget-core@0.22.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-core%400.22.0) - Added the `transcript-speech-sync` attribute; set it to `false` to show the agent's full message at once in voice calls. Carousel cards accept an optional `rating` from 0 to 5 and `review_count`.
- [@elevenlabs/convai-widget-core@0.21.6](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-core%400.21.6) and [0.22.2](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-core%400.22.2) - Voice calls show typing dots when the agent takes more than a second to start replying, or "Thinking..." under the avatar when the transcript is off. Partially revealed markdown links show their text instead of `[blocked]`, carousel arrows no longer flicker, and carousel images use a 4:5 ratio.
- [@elevenlabs/react@1.20.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact%401.20.1), [1.20.2](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact%401.20.2), [@elevenlabs/react-native@1.2.34](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact-native%401.2.34), [1.2.35](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact-native%401.2.35), [1.2.36](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact-native%401.2.36), [1.2.37](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact-native%401.2.37), [@elevenlabs/convai-widget-core@0.22.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-core%400.22.1), [0.24.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-core%400.24.1) and [@elevenlabs/convai-widget-embed@0.21.6](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-embed%400.21.6) to [0.24.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-embed%400.24.1) - Updated to the latest `@elevenlabs/client` and widget releases.

</Accordion>

<Accordion title="API changes">

## New endpoints

### ElevenAgents

- Analysis items
  - `GET /v1/convai/analysis-items` - List analysis items, with optional `search`, `kind` (`evaluation` or `data_collection`), `analysis_item_ids`, `created_by_user_id`, `sort_direction`, `page_size` and `cursor`.
  - `POST /v1/convai/analysis-items` - Create an analysis item.
  - `GET /v1/convai/analysis-items/{analysis_item_id}` - Get an analysis item.
  - `PATCH /v1/convai/analysis-items/{analysis_item_id}` - Update an analysis item.
  - `DELETE /v1/convai/analysis-items/{analysis_item_id}` - Delete an analysis item. Pass `force=true` to delete it even when agents use it, removing it from the dependent agents and branches.
  - `POST /v1/convai/analysis-items/{analysis_item_id}/copy` - Copy an analysis item.
  - `GET /v1/convai/analysis-items/{analysis_item_id}/versions` - List an analysis item's versions.
  - `GET /v1/convai/analysis-items/{analysis_item_id}/dependent-agents` - List the agents that use an analysis item.
  - `PATCH /v1/convai/analysis-items/{analysis_item_id}/attachments` - Attach or detach an analysis item across agents and branches.
- Realtime conversation groups
  - `GET /v1/convai/realtime/conversation-groups` and `POST /v1/convai/realtime/conversation-groups` - List and create conversation groups. Create requires `title` (string, unique per workspace, up to 64 characters) and accepts optional `description` (string, up to 500 characters).
  - `GET`, `PATCH` and `DELETE /v1/convai/realtime/conversation-groups/{conversation_group_id}` - Get, update and delete a conversation group.
  - `PUT /v1/convai/realtime/conversations/{conversation_id}/conversation-group` - Place a conversation in a group, with required `conversation_group_id`. A conversation belongs to at most one group.
  - `DELETE /v1/convai/realtime/conversations/{conversation_id}/conversation-group` - Remove a conversation from its group.

## Updated endpoints

### ElevenAgents

- [Create agent](/docs/api-reference/agents/create) and the agent get and update endpoints
  - The prompt `llm` default changed from `gemini-2.5-flash` to `gemini-3.5-flash`.
  - `TurnConfig` adds `noisy_environment_detection` (boolean, default `false`) and `noisy_environment_message` (string). Language presets add nullable `noisy_environment_message_translation`, turn overrides and workflow overrides add nullable `noisy_environment_message`, and the override config adds `noisy_environment_message` (boolean, default `false`).
  - Widget configuration adds `transcript_speech_sync_enabled` (boolean, default `true`).
- `LLM` enum adds `gpt-6.1-terra`, including in `conversation_config_override` on the `/v1/convai/conversation` WebSocket.
- [List conversations](/docs/api-reference/conversations/list) and [Get conversation details](/docs/api-reference/conversations/get) - Added nullable `user_message_count` and `agent_message_count` (integer).
- [Get conversation details](/docs/api-reference/conversations/get)
  - WhatsApp conversation info adds nullable `call_result` (`answered`, `voicemail`, `busy`, `no_answer` or `failed`) and `opening_message` (`template_name`, `wamid`, `sent_at_unix`, `delivered_at_unix`, `read_at_unix`, `replied_at_unix`, `failed_at_unix`, `error_code`, `pricing_category` and `billable`).
  - WhatsApp call permission requests add nullable `responded_at_unix` (integer), `permanent` (boolean) and `granted_by_user_call` (boolean).
  - Agent definition source enum adds `architect`.
- [Update document](/docs/api-reference/knowledge-base/update) - Added optional `enable_auto_sync` (boolean), `auto_remove` (boolean), `minimum_frequency_days` (integer) and `tighten_only` (boolean, default `false`).
- [Update triage ticket](/docs/api-reference/triage-tickets/update) - Added optional `qa_comment` (string).
- [List test invocations](/docs/api-reference/tests/test-invocations/list) - Added optional `created_by_user_id` query parameter (string).
- [Create test](/docs/api-reference/tests/create) and the other test endpoints - Tool call evaluations add nullable `guardrail_trigger` (object with `type` `any`).
- Rebase a branch onto main (`POST /v1/convai/agents/{agent_id}/branches/{branch_id}/rebase`) - The request body accepts `application/json`.

### Speech to Text

- [Realtime](/docs/api-reference/speech-to-text/v-1-speech-to-text-realtime) (`/v1/speech-to-text/realtime`)
  - Added optional `entity_redaction` (string or array of strings) and `entity_redaction_mode` (`redacted`, `entity_type` or `enumerated_entity_type`, default `enumerated_entity_type`) query parameters.
  - Added the `redacted_transcript` server message.
  - `session_started` config adds `entity_redaction` (array of strings) and `entity_redaction_mode` (string).

### Workspaces

- Service account and workspace group permissions - `PermissionType` adds `agents_architect`, and workspace group permissions add `architect`.

</Accordion>
</AccordionGroup>