> 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.

### Introducing Music v2

Music v2 is now available via the ElevenLabs API. Set `model_id` to `music_v2` on [Generate music](/docs/api-reference/music/compose), [Stream music](/docs/api-reference/music/stream), [Generate music detailed](/docs/api-reference/music/compose-detailed) and [Upload music](/docs/api-reference/music/upload) to use the new model. Music v2 introduces chunk-based composition plans built from `GenerationChunk` and `AudioRefChunk` segments, giving you finer control over structure, pacing and arrangement than the prompt-based `music_v1` flow.

Use `music_v2` composition plans on generation and upload requests, or generate a plan first via the composition-plan endpoint. Request and response bodies accept either v1 or v2 plan shapes, so you can migrate endpoint by endpoint. `MusicPrompt` remains available for `music_v1` only.

<CardGroup cols={3}>
  <Card
    title="Quickstart"
    icon="duotone code"
    href="/docs/eleven-api/guides/cookbooks/music"
  >
    Generate your first track with the Music API in minutes.
  </Card>
  <Card
    title="Composition plans"
    icon="duotone layer-group"
    href="/docs/eleven-api/guides/how-to/music/composition-plans"
  >
    Build chunk-based composition plans for structured, multi-section tracks.
  </Card>
  <Card
    title="API reference"
    icon="duotone book"
    href="/docs/api-reference/music/compose"
  >
    Compose, stream and upload music with `music_v2` over the REST API.
  </Card>
</CardGroup>

- **Upload timestamps**: [Upload music](/docs/api-reference/music/upload) accepts optional `with_timestamps`; responses may include `words_timestamps`.

### ElevenAgents

- **Run conversation evaluation**: Added [Run conversation evaluation](/docs/api-reference/conversations/analysis/run-evaluation) endpoint (`POST /v1/convai/conversations/{conversation_id}/analysis/evaluations/run`) to rerun a single evaluation criterion against a completed conversation using `RunConversationEvaluationsRequest`.
- **Workflow entry behavior**: Workflow override-agent nodes add optional `entry_behavior` (`generate_immediately`, `wait_for_user`, `auto`) to control whether the sub-agent speaks first or waits for user input.
- **End procedure system tool**: Added `end_procedure` system tool configuration with matching error statuses. The `start_procedure` tool adds `already_active` to its error statuses.
- **Transfer TTS overrides**: `AgentTransfer`, workflow standalone agent nodes and successful `transfer_to_agent` tool results add optional `preserve_client_tts_overrides` (boolean) to keep client-side TTS overrides after a transfer.
- **Interaction budget enum**: `InteractionBudget` removes `async` and adds `5_minutes`, `10_minutes` and `1_hour`. Update any configs or SDK enums that still reference `async`.
- **Custom guardrail model selection**: Custom guardrail configuration adds optional `model` with Gemini, Claude and GPT variants. Guardrail config also adds optional `history_message_count` (integer).
- **Phone number list filters**: [List phone numbers](/docs/api-reference/phone-numbers/list) adds optional `provider`, `agent_id` and `branch_id` query parameters to filter imported numbers.
- **WhatsApp account filtering**: [List WhatsApp accounts](/docs/api-reference/whats-app/accounts/list) adds optional `agent_id` query parameter to filter accounts by assigned agent.
- **Topic time range filters**: [Get agent conversation topics](/docs/api-reference/conversations/topics/get) adds optional `from_unix_secs` and `to_unix_secs` query parameters to bound topic discovery results.
- **SIP codec configuration**: Outbound SIP trunk request and response models add optional `enabled_codecs` (`MediaCodec` enum).
- **Memory tool types**: Added `LoadableMemoryEntry` and `LoadMemoryEntryToolErrorStatus` schemas for memory-tool error handling.
- **Agent test batch limits**: Agent test attach, run and resubmit request schemas raise maximum attached tests from 1000 to 5000.
- **Phoneme tag support**: Agent TTS settings add optional `enable_phoneme_tags` (boolean) for opt-in V3 SSML phoneme handling.
- **Array schema omit overrides**: Array JSON schema properties add optional `is_omitted` (mutually exclusive with other value sources). `ConstantSchemaOverride` can use array constant values.
- **Transfer error context**: Transfer-to-number error payloads can include optional `agent_message` (string).

### Workspaces

- **Service account API key updates**: [Update service account API key](/docs/api-reference/service-accounts/api-keys/update) no longer requires a request body. Edit fields support partial updates via `no_update` and nullable `name`, including `permissions` and `character_limit`.
- **Usage timezone bucketing**: Workspace usage-by-product-over-time requests add optional `time_zone` (IANA timezone string) with clarified `interval_seconds` bucket rules.
- **History source filter**: History list and detail `source` filters add `Flows`.

### ElevenCreative Studio

- **Project voice references**: Project models, chapter TTS nodes, voice lists and voice statistics shift to `project_voice_ref_id` as the canonical voice field. Former `voice_id` fields remain on responses as deprecated, read-only mirrors for compatibility.

### Speech to Text

- **Speaker library diarization**: [Convert speech to text](/docs/api-reference/speech-to-text/convert) adds optional `use_speaker_library` (boolean, default `false`) for batch transcription diarization.

### Voices

- **Shared voice sorting**: [List shared voices](/docs/api-reference/voices/voice-library/get-shared) `sort` query parameter gains an explicit enum, `created_date` default and updated description.

### SDK Releases

#### JavaScript SDK

- [v2.53.0](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.53.0) - Regenerated from the latest OpenAPI schema with conversation evaluation rerun support, music v2 composition-plan unions, workflow `entry_behavior`, phone number and WhatsApp list filters, topic time-range parameters, alerting schema updates, studio `project_voice_ref_id` fields, and expanded agent test batch limits.

#### Python SDK

- [v2.53.0](https://github.com/elevenlabs/elevenlabs-python/releases/tag/v2.53.0) - Regenerated from the latest OpenAPI schema with conversation evaluation rerun support, music v2 composition plans, workflow entry behavior and end-procedure tools, telephony filter parameters, alerting and service-account partial-update models, and studio voice reference fields.

#### Packages

- [@elevenlabs/client@1.11.0](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fclient%401.11.0) - Added `@elevenlabs/client/internal/unity` sub-path export for the Unity SDK WebGL bridge, exposing `MediaDeviceInput`, `MediaDeviceOutput`, connection attach helpers and WebRTC adapter types.
- [@elevenlabs/client@1.11.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fclient%401.11.1), [@elevenlabs/react@1.6.7](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact%401.6.7), [@elevenlabs/react-native@1.2.7](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact-native%401.2.7), [@elevenlabs/convai-widget-core@0.14.2](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-core%400.14.2) and [@elevenlabs/convai-widget-embed@0.14.2](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-embed%400.14.2) - Dependency alignment to `@elevenlabs/client@1.11.1` and `@elevenlabs/types@0.14.1`.
- [@elevenlabs/types@0.14.1](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Ftypes%400.14.1) - Added `"license": "MIT"` to `package.json` for license-checker compatibility.

#### iOS SDK

- [v3.2.1](https://github.com/elevenlabs/elevenlabs-swift-sdk/releases/tag/v3.2.1) - Added Singapore data residency support and enabled `singlePeerConnection` for WebRTC sessions.

### API

<Accordion title="View API changes">

## New Endpoints

### ElevenAgents

- [Run conversation evaluation](/docs/api-reference/conversations/analysis/run-evaluation) - `POST /v1/convai/conversations/{conversation_id}/analysis/evaluations/run`
  - Request body uses `RunConversationEvaluationsRequest` to rerun a single evaluation criterion

## Updated Endpoints

### ElevenAgents

- [List phone numbers](/docs/api-reference/phone-numbers/list) - `GET /v1/convai/phone-numbers`
  - Added optional `provider`, `agent_id` and `branch_id` query parameters
- [Get agent conversation topics](/docs/api-reference/conversations/topics/get) - `GET /v1/convai/agents/{agent_id}/topics`
  - Added optional `from_unix_secs` and `to_unix_secs` query parameters
- [List WhatsApp accounts](/docs/api-reference/whats-app/accounts/list) - `GET /v1/convai/whatsapp-accounts`
  - Added optional `agent_id` query parameter

### Music

- [Generate music](/docs/api-reference/music/compose), [Generate music detailed](/docs/api-reference/music/compose-detailed), [Stream music](/docs/api-reference/music/stream) and [Upload music](/docs/api-reference/music/upload)
  - Added `music_v2` to supported `model_id` values
  - Upload adds optional `with_timestamps`; responses may include `words_timestamps`

### Speech to Text

- [Convert speech to text](/docs/api-reference/speech-to-text/convert) - `POST /v1/speech-to-text`
  - Added optional `use_speaker_library` query parameter (boolean, default `false`)

### Voices

- [List shared voices](/docs/api-reference/voices/voice-library/get-shared) - `GET /v1/shared-voices`
  - `sort` query parameter now uses an explicit enum with `created_date` default

## Schema Changes

### ElevenAgents

- Workflow override-agent nodes
  - Added optional `entry_behavior` enum (`generate_immediately`, `wait_for_user`, `auto`)
- System tools
  - Added `end_procedure` tool config and error statuses
- Transfer and interaction schemas
  - Added optional `preserve_client_tts_overrides` on transfers and transfer tool results
  - `InteractionBudget` removes `async`; adds `5_minutes`, `10_minutes`, `1_hour`
- Guardrails and TTS
  - Custom guardrails add optional `model` and `history_message_count`
  - Agent TTS settings add optional `enable_phoneme_tags`
- Telephony
  - SIP trunk models add optional `enabled_codecs` (`MediaCodec` enum)
- Memory and code tools
  - Added `LoadableMemoryEntry` and `LoadMemoryEntryToolErrorStatus`
- Agent testing
  - Raised attached test limits from 1000 to 5000 on run and resubmit requests
- Tool JSON schema properties
  - Array properties add optional `is_omitted`

### Workspaces

- Service accounts
  - API key PATCH supports partial updates with `no_update` sentinels
- Usage and history
  - Usage-by-product-over-time adds optional `time_zone`
  - History `source` filters add `Flows`

### Music

- Composition plans
  - Added chunk-based `CompositionPlan`, `GenerationChunk` and `AudioRefChunk` for `music_v2`
  - Request and response bodies accept `anyOf` v1 or v2 plan shapes

### ElevenCreative Studio

- Project voice models
  - Added `project_voice_ref_id` as canonical voice reference
  - Deprecated read-only `voice_id` mirrors retained on responses

</Accordion>