Developer Resources
- ElevenLabs Devs YouTube channel: A new developer-focused YouTube channel is now live, featuring tutorials, API walkthroughs, and technical deep dives to help you get the most out of the ElevenLabs platform.
ElevenAgents
-
Workflow starting node override: Conversations can now be started at a specific workflow node by passing
starting_workflow_node_idin the conversation initiation client data. This is gated by an opt-inenable_starting_workflow_node_id_from_clientfield in the agent’s platform override settings. When enabled, clients can specify which node to begin a conversation at, which is useful for agent memory and longer-term WebSocket use cases. If the specified node does not exist, the conversation falls back to the default entry point. -
Post-call analysis LLM configuration: Agent platform settings now include an
analysis_llmfield (default:gemini-2.5-flash) that sets the default LLM for post-call analysis, including evaluation criteria and data collection. Individual data collection properties can override this default with a per-itemllmfield via the newAnalysisPropertyschema, giving fine-grained control over which model processes each analysis item. -
New LLM options: Added
gpt-5.4to the list of available LLM providers for agent configuration. Addedxhighto theLLMReasoningEffortenum for extended reasoning on supported models. -
Null literal in workflow expressions: Workflow conditional expressions now support null comparisons via the new
ASTNullNodetype, enabling branches like “if variable is null” in workflow logic. -
Get secret by ID: A new get secret endpoint (
GET /v1/convai/secrets/{secret_id}) retrieves a single workspace secret by its ID. The list secrets endpoint also now accepts asearchquery parameter to filter secrets by name prefix. -
Searchable phone numbers in batch calling: The batch calling form in the dashboard now includes a searchable phone number selector, making it easier to find the right outbound number when configuring batch calls.
Speech to Text
- Speaker role detection: The convert speech to text endpoint now accepts a
detect_speaker_rolesparameter (boolean, defaultfalse). When enabled alongsidediarize=true, speaker labels are returned asagentandcustomerinstead ofspeaker_0,speaker_1. This cannot be used withuse_multi_channel=true. Usage incurs an additional 10% surcharge on the base transcription cost.
Text to Dialogue
- Input character limit guidance: The text to dialogue endpoints now document a recommended limit of 2,000 characters across all
inputs[].textvalues per request. Longer requests may terminate early in streaming responses or return a validation error.
Workspaces
- Usage analytics endpoint: A new usage by product over time endpoint (
POST /v1/workspace/analytics/query/usage-by-product-over-time) returns credit usage broken down by product type over time. Results are returned in a tabular structure with configurableinterval_seconds,group_bydimensions, andfilters. The previousGET /v1/usage/character-statsendpoint has been deprecated in favor of this new endpoint.
SDK Releases
Packages
-
@elevenlabs/client@1.2.1 - Fixed conversation startup readiness so
onConnectruns after the session is marked connected and React has synchronizedconversationRef. Also exposed and forwardedonConversationCreatedfor consumers that need the createdConversationinstance beforeonConnect. -
@elevenlabs/react@1.1.1 - Fixed conversation startup readiness and exposed
onConversationCreatedcallback, matching the@elevenlabs/client@1.2.1changes. -
@elevenlabs/react-native@1.1.1, @elevenlabs/convai-widget-core@0.11.4, @elevenlabs/convai-widget-embed@0.11.4 - Updated to
@elevenlabs/client@1.2.1with conversation startup fixes.
API
View API changes
New Endpoints
- Get secret -
GET /v1/convai/secrets/{secret_id} POST /v1/workspace/analytics/query/usage-by-product-over-time- Get workspace credit usage by product over time
Deprecated Endpoints
GET /v1/usage/character-stats- Deprecated in favor ofPOST /v1/workspace/analytics/query/usage-by-product-over-time- All dubbing resource editing endpoints (
POST /v1/dubbing/resource/{dubbing_id}/language,POST /v1/dubbing/resource/{dubbing_id}/speaker/{speaker_id}/segment,PATCH /v1/dubbing/resource/{dubbing_id}/segment/{segment_id}/{language}, and others) are now deprecated
Updated Endpoints
ElevenAgents
-
Create agent, Get agent, Update agent
- Added
analysis_llmfield (LLM enum, default:gemini-2.5-flash) toAgentPlatformSettingsfor configuring the default post-call analysis model - Data collection properties now use the
AnalysisPropertyschema with an optional per-itemllmoverride field
- Added
-
- Added
starting_workflow_node_idfield (string, nullable) to conversation initiation client data - Added
enable_starting_workflow_node_id_from_clientfield (boolean, defaultfalse) toConversationInitiationClientDataConfig
- Added
-
- Added
external_linkfield (string, nullable) to batch call records
- Added
-
- Added optional
searchquery parameter (string) for filtering secrets by name prefix
- Added optional
-
LLMenum- Added
gpt-5.4,gpt-5.4-2026-03-05
- Added
-
LLMReasoningEffortenum- Added
xhigh
- Added
-
Workflow expressions (
ASTNode)- Added
null_literaldiscriminator value andASTNullNodeschema for null comparisons
- Added
-
Array tool parameters (
ArrayJsonSchemaProperty)- Added
dynamic_variablefield (string, optional) for populating arrays from dynamic variables at runtime - Added
constant_valuefield (array, nullable) for setting constant array values itemsfield is no longer required (has a default schema)
- Added
-
MCP tool config overrides
- Response now uses
MCPToolConfigOverride-Outputschema (input/output split)
- Response now uses
Speech to Text
-
- Added
detect_speaker_rolesfield (boolean, defaultfalse) for agent/customer speaker role detection
- Added
Text to Dialogue
-
Convert text to dialogue, Stream text to dialogue
- Updated
inputsdescription with 2,000 character per-request recommendation - Removed
avatar_contextfield from request body
- Updated
Text to Speech
- Quality preset fields on TTS and dialogue endpoints now reference the
QualityPresetTypeenum schema. Thehighestvalue has been removed from dialogue quality presets; useultrainstead.
Other
AudioNativeResponse- Removedtranscriptionfield from responseUserResponseModel- Backward compatible schema update