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_id in the conversation initiation client data. This is gated by an opt-in enable_starting_workflow_node_id_from_client field 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_llm field (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-item llm field via the new AnalysisProperty schema, giving fine-grained control over which model processes each analysis item.

  • New LLM options: Added gpt-5.4 to the list of available LLM providers for agent configuration. Added xhigh to the LLMReasoningEffort enum for extended reasoning on supported models.

  • Null literal in workflow expressions: Workflow conditional expressions now support null comparisons via the new ASTNullNode type, 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 a search query 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_roles parameter (boolean, default false). When enabled alongside diarize=true, speaker labels are returned as agent and customer instead of speaker_0, speaker_1. This cannot be used with use_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[].text values 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 configurable interval_seconds, group_by dimensions, and filters. The previous GET /v1/usage/character-stats endpoint has been deprecated in favor of this new endpoint.

SDK Releases

Packages

API

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 of POST /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_llm field (LLM enum, default: gemini-2.5-flash) to AgentPlatformSettings for configuring the default post-call analysis model
    • Data collection properties now use the AnalysisProperty schema with an optional per-item llm override field
  • Simulate conversation

    • Added starting_workflow_node_id field (string, nullable) to conversation initiation client data
    • Added enable_starting_workflow_node_id_from_client field (boolean, default false) to ConversationInitiationClientDataConfig
  • Submit batch calling

    • Added external_link field (string, nullable) to batch call records
  • List secrets

    • Added optional search query parameter (string) for filtering secrets by name prefix
  • LLM enum

    • Added gpt-5.4, gpt-5.4-2026-03-05
  • LLMReasoningEffort enum

    • Added xhigh
  • Workflow expressions (ASTNode)

    • Added null_literal discriminator value and ASTNullNode schema for null comparisons
  • Array tool parameters (ArrayJsonSchemaProperty)

    • Added dynamic_variable field (string, optional) for populating arrays from dynamic variables at runtime
    • Added constant_value field (array, nullable) for setting constant array values
    • items field is no longer required (has a default schema)
  • MCP tool config overrides

    • Response now uses MCPToolConfigOverride-Output schema (input/output split)

Speech to Text

  • Convert speech to text

    • Added detect_speaker_roles field (boolean, default false) for agent/customer speaker role detection

Text to Dialogue

Text to Speech

  • Quality preset fields on TTS and dialogue endpoints now reference the QualityPresetType enum schema. The highest value has been removed from dialogue quality presets; use ultra instead.

Other

  • AudioNativeResponse - Removed transcription field from response
  • UserResponseModel - Backward compatible schema update