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

# Aggiorna motore di sintesi vocale

PATCH https://api.elevenlabs.io/v1/speech-engine/{speech_engine_id}
Content-Type: application/json

Aggiorna una risorsa Speech Engine (aggiornamento parziale)

Reference: https://elevenlabs.io/docs/api-reference/speech-engine/update

## Servers

- `https://api.elevenlabs.io` (Production, default)
- `https://api.us.elevenlabs.io` (Production US)
- `https://api.eu.residency.elevenlabs.io` (Production EU)
- `https://api.in.residency.elevenlabs.io` (Production India)
- `https://api.sg.residency.elevenlabs.io` (Production Singapore)

## Request

### Path parameters

- `speech_engine_id` (string, required) — L'ID del motore vocale, accetta il prefisso seng_ o agent_

### Body (application/json)

This endpoint expects an UpdateSpeechEngineRequest.

- `name` (string, optional, nullable)
- `speech_engine` (SpeechEngineConfig, optional, nullable)
- `asr` (ASRConversationalConfig, optional, nullable)
- `tts` (TTSConversationalConfig-Input, optional, nullable)
- `turn` (BaseTurnConfig, optional, nullable)
- `vad` (VADConfig, optional, nullable)
- `conversation` (ConversationConfig-Input, optional, nullable)
- `privacy` (PrivacyConfig-Input, optional, nullable)
- `call_limits` (AgentCallLimits, optional, nullable)
- `language` (string, optional, nullable)
- `cascade_timeout_seconds` (double, optional, nullable) — Tempo in secondi di attesa della risposta dell'endpoint del motore vocale upstream prima di abbandonare e ripetere il tentativo. Deve essere compreso tra 2 e 15 secondi.
- `tags` (list of string, optional, nullable)
- `overrides` (SpeechEngineConversationInitiationClientDataConfig, optional, nullable)

## Response

### 200

Risposta riuscita

- `speech_engine_id` (string, required) — L'ID della risorsa del motore vocale
- `name` (string, required) — Nome leggibile del motore vocale
- `speech_engine` (SpeechEngineConfig, required) — Impostazioni della connessione WebSocket per il server di trascrizione upstream
- `asr` (ASRConversationalConfig, required) — Configurazione del riconoscimento vocale automatico
- `tts` (TTSConversationalConfig-Output, required) — Configurazione dell'output Text to Speech
- `turn` (BaseTurnConfig, required) — Configurazione del rilevamento dei turni
- `vad` (VADConfig, required) — Configurazione per il rilevamento dell'attività vocale
- `conversation` (ConversationConfig-Output, required) — Impostazioni a livello di conversazione, inclusi eventi client e limiti di durata
- `privacy` (PrivacyConfig-Output, required) — Impostazioni sulla privacy che controllano la registrazione, la conservazione e la gestione delle PII
- `call_limits` (AgentCallLimits, required) — Limiti di concorrenza e di conversazioni giornaliere per questo motore vocale
- `language` (string, required) — Codice lingua ISO usato dal motore vocale (ad esempio "en")
- `cascade_timeout_seconds` (double, required) — Tempo in secondi di attesa della risposta dell'endpoint del motore vocale upstream prima di abbandonare e ripetere il tentativo. Deve essere compreso tra 2 e 15 secondi.
- `tags` (list of string, required) — Tag arbitrari per la categorizzazione e il filtro
- `overrides` (SpeechEngineConversationInitiationClientDataConfig, required) — Impostazioni di override che il client può impostare durante l'avvio della conversazione
- `metadata` (AgentMetadataDBModel, required) — Timestamp di creazione e aggiornamento con informazioni sulla fonte
- `access_info` (ResourceAccessInfo, optional, nullable) — Le informazioni di accesso del motore vocale per l'utente

## Errors

### 422 Unprocessable Entity Error

Errore di convalida

- `detail` (list of ValidationError, optional)

## Types

### SpeechEngineConfig

- `ws_url` (string, required) — L'URL WebSocket del server di trascrizione
- `request_headers` (map from string to SpeechEngineConfigRequestHeaders, optional) — Header da includere nella richiesta di connessione WebSocket

### ASRConversationalConfig

- `quality` (enum, optional, default: high) — La qualità della trascrizione
  - Allowed values: `high`
- `provider` (enum, optional, default: scribe_realtime) — Il provider del servizio di trascrizione
  - Allowed values: `elevenlabs`, `scribe_realtime`, `scribe_v2_turbo`
- `user_input_audio_format` (enum, optional, default: pcm_16000) — Il formato dell'audio da trascrivere
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `keywords` (list of string, optional) — Parole chiave per aumentare la probabilità di previsione per

### TTSConversationalConfig-Input

- `model_id` (enum, optional, default: eleven_v4_turbo) — Il modello da usare per il TTS
  - Allowed values: `eleven_turbo_v2`, `eleven_turbo_v2_5`, `eleven_flash_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `eleven_v3_conversational`, `eleven_v4`, `eleven_v4_turbo`
- `voice_id` (string, optional, default: cjVigY5qzO86Huf0OWal) — L'ID della voce da usare per TTS
- `supported_voices` (list of SupportedVoice, optional) — Voci supportate aggiuntive per l'agente
- `expressive_mode` (boolean, optional, default: true) — Quando è abilitata, applica il prompt per i tag audio espressivi. Viene disabilitata automaticamente per i modelli non v3.
- `suggested_audio_tags` (list of SuggestedAudioTag, optional) — Tag audio consigliati per migliorare l'espressività del parlato (per i modelli eleven_v3 e eleven_v3_conversational). L'agente può comunque usare altri tag non elencati qui.
- `agent_output_audio_format` (enum, optional, default: pcm_16000) — Il formato audio da usare per TTS
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `stability` (double, optional, default: 0.5) — La stabilità del parlato generato
- `speed` (double, optional, default: 1) — La velocità del parlato generato
- `similarity_boost` (double, optional, default: 0.8) — L'aumento di somiglianza per il parlato generato
- `text_normalisation_type` (enum, optional, default: system_prompt) — Metodo per convertire i numeri in parole prima di convertire il testo in parlato. Se impostato su SYSTEM_PROMPT, il prompt di sistema verrà aggiornato per includere istruzioni di normalizzazione. Se impostato su ELEVENLABS, il testo verrà normalizzato dopo la generazione, con un lieve aumento della latenza.
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — I locator del dizionario di pronuncia
- `enable_phoneme_tags` (boolean, optional, default: true) — Abilita la gestione dei tag fonema SSML per i modelli V3. Se attivata, i tag fonema, sia inline sia provenienti dai dizionari di pronuncia, vengono analizzati in IPA inline prima di essere inviati al modello.
- `audio_effects` (EffectsSpec-Input, optional, nullable) — Specifica facoltativa degli effetti TTS: preset del filtro, distanza (EQ di prossimità) e ambiente (riverbero a convoluzione).
- `optimize_streaming_latency` (enum, optional, deprecated) — Deprecato: questo campo non ha effetto e viene ignorato.
  - Allowed values: `0`, `1`, `2`, `3`, `4`

### BaseTurnConfig

- `turn_timeout` (double, optional, default: 7) — Tempo massimo di attesa della risposta dell'utente prima di ricontattarlo
- `initial_wait_time` (double, optional, nullable) — Per quanto tempo l'agente attenderà che l'utente avvii la conversazione se il primo messaggio è vuoto. Se non impostato, usa il normale turn_timeout.
- `silence_end_call_timeout` (double, optional, default: -1) — Tempo massimo di attesa dall'ultima volta che l'utente ha parlato prima di terminare la chiamata
- `turn_eagerness` (enum, optional, default: normal) — Controlla quanto rapidamente l'agente risponde. Low = meno rapido (attende più a lungo), Standard = rapidità predefinita, High = più rapido (risponde prima)
  - Allowed values: `patient`, `normal`, `eager`
- `spelling_patience` (enum, optional, default: auto) — Controlla se l'agente deve essere più paziente quando l'utente scandisce numeri ed entità denominate. Auto = basato sul modello, Off = non attende mai più a lungo
  - Allowed values: `auto`, `off`
- `speculative_turn` (boolean, optional, default: false) — Quando è abilitata, inizia a generare risposte dell'LLM durante il silenzio prima che venga raggiunta la piena confidenza del turno, riducendo la latenza percepita. Può aumentare i costi dell'LLM.
- `retranscribe_on_turn_timeout` (boolean, optional, default: false) — Quando è abilitata, se il VAD non rileva parlato, tenta di ritrascrivere l'audio accumulato allo scadere del timeout del turno. Disabilita la fatturazione con sconto per il silenzio mentre è abilitata per l'agente o il nodo del workflow attivo.
- `turn_model` (enum, optional, default: turn_v3) — Versione del modello di rilevamento dei turni da usare.
  - Allowed values: `turn_v2`, `turn_v3`
- `interruption_ignore_terms` (list of string, optional) — Elenco dei termini che non devono attivare un'interruzione quando vengono pronunciati dall'utente, ad esempio 'gotcha' o 'understood'. Usa una corrispondenza esatta senza distinzione tra maiuscole e minuscole.
- `interruption_ignore_term_languages` (list of string, optional) — Codici lingua per cui sono state attivate categorie predefinite di termini da ignorare. Memorizzati esplicitamente affinché la visualizzazione non venga dedotta dalla sovrapposizione dei termini.
- `merge_with_default_ignore_terms` (boolean, optional, default: false) — Quando è abilitata, i termini predefiniti selezionati per interruption_ignore_term_languages vengono usati in aggiunta a interruption_ignore_terms.
- `transcribe_on_disabled_interruptions` (boolean, optional, default: false) — Quando le interruzioni sono disabilitate, trascrive comunque ciò che dice l'utente affinché possa essere riportato nel turno successivo. Quando è disattivata, il parlato dell'utente durante un turno non interrompibile viene ignorato e non attiva un turno.

### VADConfig

### ConversationConfig-Input

- `text_only` (boolean, optional, default: false) — Se abilitato, l'audio non verrà elaborato e verrà usato solo il testo, per evitare i costi dell'audio.
- `max_duration_seconds` (integer, optional, default: 600) — La durata massima di una conversazione in secondi
- `client_events` (list of enum, optional) — Gli eventi che verranno inviati al client
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `file_input` (FileInputConfig, optional) — Configurazione per l'input di file (caricamenti di immagini/PDF) durante le conversazioni.
- `monitoring_enabled` (boolean, optional, default: false) — Abilita il monitoraggio in tempo reale delle conversazioni tramite WebSocket
- `monitoring_events` (list of enum, optional) — Gli eventi che verranno inviati alle connessioni di monitoraggio.
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `dtmf_input_settings` (DTMFInputConfig, optional, nullable) — Configura la raccolta dell'input DTMF (tastierino) durante le chiamate telefoniche
- `background_sound` (BackgroundSoundConfig, optional) — Configurazione del suono di sottofondo durante le conversazioni.
- `source_attribution` (boolean, optional, default: false) — Quando è abilitata ed è presente contenuto nella knowledge base, l'LLM riceve istruzioni per indicare quali fonti ha usato.

### PrivacyConfig-Input

- `record_voice` (boolean, optional, default: true) — Indica se registrare la conversazione
- `retention_days` (integer, optional, default: -1) — Il numero di giorni per cui conservare la conversazione. -1 indica che non esiste un limite di conservazione.
- `delete_transcript_and_pii` (boolean, optional, default: false) — Indica se eliminare la trascrizione e i PII
- `delete_audio` (boolean, optional, default: false) — Indica se eliminare l'audio
- `apply_to_existing_conversations` (boolean, optional, default: false) — Indica se applicare le impostazioni sulla privacy alle conversazioni esistenti
- `zero_retention_mode` (boolean, optional, default: false) — Indica se abilitare la modalità senza conservazione dei dati: non viene archiviato alcun dato PII
- `conversation_history_redaction` (ConversationHistoryRedactionConfig, optional) — Configurazione per l'oscuramento dei dati PII nella cronologia della conversazione

### AgentCallLimits

- `agent_concurrency_limit` (integer, optional, default: -1) — Il numero massimo di conversazioni simultanee. -1 indica che non esiste un limite massimo.
- `daily_limit` (integer, optional, default: 100000) — Il numero massimo di conversazioni al giorno
- `bursting_enabled` (boolean, optional, default: true) — Indica se abilitare il bursting. Se true, sarà consentito superare il limite di concorrenza del workspace fino a 3 volte il limite. Le chiamate saranno fatturate al doppio della tariffa quando superano il limite.

### SpeechEngineConversationInitiationClientDataConfig

- `first_message` (boolean, optional, default: false) — Se il primo messaggio può essere sovrascritto dal client

### TTSConversationalConfig-Output

- `model_id` (enum, optional, default: eleven_v4_turbo) — Il modello da usare per il TTS
  - Allowed values: `eleven_turbo_v2`, `eleven_turbo_v2_5`, `eleven_flash_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `eleven_v3_conversational`, `eleven_v4`, `eleven_v4_turbo`
- `voice_id` (string, optional, default: cjVigY5qzO86Huf0OWal) — L'ID della voce da usare per TTS
- `supported_voices` (list of SupportedVoice, optional) — Voci supportate aggiuntive per l'agente
- `expressive_mode` (boolean, optional, default: true) — Quando è abilitata, applica il prompt per i tag audio espressivi. Viene disabilitata automaticamente per i modelli non v3.
- `suggested_audio_tags` (list of SuggestedAudioTag, optional) — Tag audio consigliati per migliorare l'espressività del parlato (per i modelli eleven_v3 e eleven_v3_conversational). L'agente può comunque usare altri tag non elencati qui.
- `agent_output_audio_format` (enum, optional, default: pcm_16000) — Il formato audio da usare per TTS
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `stability` (double, optional, default: 0.5) — La stabilità del parlato generato
- `speed` (double, optional, default: 1) — La velocità del parlato generato
- `similarity_boost` (double, optional, default: 0.8) — L'aumento di somiglianza per il parlato generato
- `text_normalisation_type` (enum, optional, default: system_prompt) — Metodo per convertire i numeri in parole prima di convertire il testo in parlato. Se impostato su SYSTEM_PROMPT, il prompt di sistema verrà aggiornato per includere istruzioni di normalizzazione. Se impostato su ELEVENLABS, il testo verrà normalizzato dopo la generazione, con un lieve aumento della latenza.
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — I locator del dizionario di pronuncia
- `enable_phoneme_tags` (boolean, optional, default: true) — Abilita la gestione dei tag fonema SSML per i modelli V3. Se attivata, i tag fonema, sia inline sia provenienti dai dizionari di pronuncia, vengono analizzati in IPA inline prima di essere inviati al modello.
- `audio_effects` (EffectsSpec-Output, optional, nullable) — Specifica facoltativa degli effetti TTS: preset del filtro, distanza (EQ di prossimità) e ambiente (riverbero a convoluzione).
- `optimize_streaming_latency` (enum, optional, deprecated) — Deprecato: questo campo non ha effetto e viene ignorato.
  - Allowed values: `0`, `1`, `2`, `3`, `4`

### ConversationConfig-Output

- `text_only` (boolean, optional, default: false) — Se abilitato, l'audio non verrà elaborato e verrà usato solo il testo, per evitare i costi dell'audio.
- `max_duration_seconds` (integer, optional, default: 600) — La durata massima di una conversazione in secondi
- `client_events` (list of enum, optional) — Gli eventi che verranno inviati al client
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `file_input` (FileInputConfig, optional) — Configurazione per l'input di file (caricamenti di immagini/PDF) durante le conversazioni.
- `monitoring_enabled` (boolean, optional, default: false) — Abilita il monitoraggio in tempo reale delle conversazioni tramite WebSocket
- `monitoring_events` (list of enum, optional) — Gli eventi che verranno inviati alle connessioni di monitoraggio.
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `dtmf_input_settings` (DTMFInputConfig, optional, nullable) — Configura la raccolta dell'input DTMF (tastierino) durante le chiamate telefoniche
- `background_sound` (BackgroundSoundConfig, optional) — Configurazione del suono di sottofondo durante le conversazioni.
- `source_attribution` (boolean, optional, default: false) — Quando è abilitata ed è presente contenuto nella knowledge base, l'LLM riceve istruzioni per indicare quali fonti ha usato.

### PrivacyConfig-Output

- `record_voice` (boolean, optional, default: true) — Indica se registrare la conversazione
- `retention_days` (integer, optional, default: -1) — Il numero di giorni per cui conservare la conversazione. -1 indica che non esiste un limite di conservazione.
- `delete_transcript_and_pii` (boolean, optional, default: false) — Indica se eliminare la trascrizione e i PII
- `delete_audio` (boolean, optional, default: false) — Indica se eliminare l'audio
- `apply_to_existing_conversations` (boolean, optional, default: false) — Indica se applicare le impostazioni sulla privacy alle conversazioni esistenti
- `zero_retention_mode` (boolean, optional, default: false) — Indica se abilitare la modalità senza conservazione dei dati: non viene archiviato alcun dato PII
- `conversation_history_redaction` (ConversationHistoryRedactionConfig, optional) — Configurazione per l'oscuramento dei dati PII nella cronologia della conversazione

### AgentMetadataDBModel

- `created_at_unix_secs` (integer, required)
- `updated_at_unix_secs` (integer, required)
- `created_from` (enum, optional, default: unknown)
  - Allowed values: `cli`, `ui`, `api`, `template`, `unknown`
- `last_updated_from` (enum, optional, default: unknown)
  - Allowed values: `cli`, `ui`, `api`, `template`, `unknown`

### ResourceAccessInfo

- `is_creator` (boolean, required) — Se l'utente che effettua la richiesta è il creatore dell'agente
- `creator_name` (string, required) — Nome del creatore dell'agente
- `creator_email` (string, required) — Email del creatore dell'agente
- `role` (enum, required) — Il ruolo dell'utente che effettua la richiesta
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `anonymous_access_level_override` (enum, optional, nullable) — Il livello di accesso per gli utenti anonimi. Se è None, la risorsa non è condivisa pubblicamente.
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `access_source` (enum, optional, nullable) — Motivo per cui l'utente richiedente ha accesso a questa risorsa. 'creator' = il chiamante è il proprietario. 'explicit' = il chiamante, o uno dei suoi gruppi del workspace, è elencato in role_to_group_ids oltre al gruppo everyone dell'intero workspace. 'workspace_default' = il gruppo everyone dell'intero workspace è elencato in role_to_group_ids (ogni membro non anonimo del workspace, inclusi gli amministratori, vede questa risorsa). 'workspace_admin' = il chiamante è un amministratore del workspace e il ruolo di amministratore è l'*unica* modalità di accesso; riservato ai documenti che nessun altro può vedere. Consente all'interfaccia di indicare perché un visualizzatore con bypass da amministratore vede un documento che non è stato condiviso esplicitamente con lui.
  - Allowed values: `creator`, `explicit`, `workspace_admin`, `workspace_default`

### ValidationError

- `loc` (list of ValidationErrorLocItems, required)
- `msg` (string, required)
- `type` (string, required)

### SpeechEngineConfigRequestHeaders

### SupportedVoice

- `label` (string, required)
- `voice_id` (string, required)
- `description` (string, optional, nullable)
- `language` (string, optional, nullable)
- `model_family` (enum, optional, nullable)
  - Allowed values: `turbo`, `flash`, `multilingual`, `v3_conversational`, `v4`, `v4_turbo`
- `optimize_streaming_latency` (enum, optional, nullable)
  - Allowed values: `0`, `1`, `2`, `3`, `4`
- `stability` (double, optional, nullable)
- `speed` (double, optional, nullable)
- `similarity_boost` (double, optional, nullable)

### SuggestedAudioTag

- `tag` (string, required) — Tag audio da usare (per prestazioni ottimali, 1-2 parole, ad esempio 'happy', 'excited')
- `description` (string, optional, nullable) — Descrizione facoltativa di quando usare questo tag

### PydanticPronunciationDictionaryVersionLocator

Un locator che consente ad altri documenti di fare riferimento a un dizionario specifico e alla sua versione. Questa è una versione Pydantic di PronunciationDictionaryVersionLocatorDBModel. Necessaria per garantire la compatibilità con gli altri modelli di dati dell'agente.

- `pronunciation_dictionary_id` (string, required) — L'ID del dizionario di pronuncia
- `version_id` (string, required, nullable) — L'ID della versione del dizionario di pronuncia

### EffectsSpec-Input

Filtra preset, distanza (EQ di prossimità) e ambiente (riverbero a convoluzione).

- `filter_preset_id` (string, optional, nullable)
- `distance` (double, optional, default: 0)
- `environment_id` (string, optional, nullable)
- `background_noise_id` (string, optional, nullable)
- `send_level` (double, optional, default: 1)
- `seed` (integer, optional, nullable)

### FileInputConfig

- `enabled` (boolean, optional, default: true) — Quando è abilitata, gli utenti possono allegare immagini o PDF nella chat se l'LLM supporta input multimodali.
- `max_files_in_memory` (integer, optional, default: 10) — Numero di file più recenti mantenuti in memoria durante una conversazione. I file meno recenti vengono riepilogati e la relativa memoria viene liberata.
- `max_files_per_conversation` (integer, optional, default: 10) — Numero totale di file che un utente può caricare in una conversazione. I caricamenti sono fatturati per file. Usa -1 per nessun limite oppure un valore >= max_files_in_memory.

### DTMFInputConfig

Configurazione per la raccolta dell'input DTMF (tastierino) durante le chiamate telefoniche.

- `dtmf_input_timeout` (double, optional, default: 2) — Timeout in secondi per attendere ulteriori cifre DTMF
- `hash_terminator` (boolean, optional, default: true) — Se true, premendo # l'input DTMF viene completato immediatamente.
- `redact_input` (boolean, optional, default: false) — Se true, sostituisce le immissioni DTMF, ovvero da tastierino, del chiamante con un indicatore di oscuramento nella trascrizione, nel log della conversazione e nell'analisi. Le cifre che l'agente ripete o passa a uno strumento non sono interessate.

### BackgroundSoundConfig

- `source_type` (enum, optional, nullable) — Il tipo di sorgente del suono di sottofondo.
  - Allowed values: `preset`
- `source_id` (enum, optional, nullable) — Identificatore della sorgente sonora.
  - Allowed values: `office2`, `office1`, `restaurant`, `city`, `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `volume` (double, optional, default: 0.15) — Livello di volume del suono di sottofondo (da 0,01 a 1,0).
- `crossfade_loop` (boolean, optional, default: true) — Applica una dissolvenza incrociata al confine del loop per evitare scoppiettii udibili durante la riproduzione in loop.

### ConversationHistoryRedactionConfig

- `enabled` (boolean, optional, default: false) — Se la redazione della cronologia delle conversazioni è abilitata
- `entities` (list of enum, optional) — Le entità da oscurare nella trascrizione, nell'audio e nell'analisi della conversazione. Usa tipi di primo livello come 'name', 'email_address' o la notazione con punto per sottotipi specifici come 'name.full_name'.
  - Allowed values: `name`, `name.name_given`, `name.name_family`, `name.name_other`, `email_address`, `contact_number`, `dob`, `age`, `religious_belief`, `political_opinion`, `sexual_orientation`, `ethnicity_race`, `marital_status`, `occupation`, `physical_attribute`, `language`, `username`, `password`, `url`, `organization`, `financial_id`, `financial_id.payment_card`, `financial_id.payment_card.payment_card_number`, `financial_id.payment_card.payment_card_expiration_date`, `financial_id.payment_card.payment_card_cvv`, `financial_id.bank_account`, `financial_id.bank_account.bank_account_number`, `financial_id.bank_account.bank_routing_number`, `financial_id.bank_account.swift_bic_code`, `financial_id.financial_id_other`, `location`, `location.location_address`, `location.location_city`, `location.location_postal_code`, `location.location_coordinate`, `location.location_state`, `location.location_country`, `location.location_other`, `date`, `date_interval`, `unique_id`, `unique_id.government_issued_id`, `unique_id.account_number`, `unique_id.vehicle_id`, `unique_id.healthcare_number`, `unique_id.healthcare_number.medical_record_number`, `unique_id.healthcare_number.health_plan_beneficiary_number`, `unique_id.device_id`, `unique_id.unique_id_other`, `medical`, `medical.medical_condition`, `medical.medication`, `medical.medical_procedure`, `medical.medical_measurement`, `medical.medical_other`
- `excluded_data_collection_ids` (list of string, optional) — ID degli elementi di raccolta dati i cui valori estratti non sono oscurati. Le relative motivazioni rimangono oscurate.

### EffectsSpec-Output

Filtra preset, distanza (EQ di prossimità) e ambiente (riverbero a convoluzione).

- `filter_preset_id` (string, required, nullable)
- `distance` (double, required, default: 0)
- `environment_id` (string, required, nullable)
- `background_noise_id` (string, required, nullable)
- `send_level` (double, required, default: 1)
- `seed` (integer, required, nullable)

### ValidationErrorLocItems

### ConvAISecretLocator

Usato per fare riferimento a un segreto dall'archivio dei segreti dell'agente.

- `secret_id` (string, required)

### ConvAIDynamicVariable

Usato per fare riferimento a una variabile dinamica.

- `variable_name` (string, required)

## Examples

**Request**

```json
{}
```

**Response**

```json
{
  "speech_engine_id": "seng_3701k3ttaq12ewp8b7qv5rfyszkz",
  "name": "My Speech Engine",
  "speech_engine": {
    "ws_url": "wss://example.com/transcript",
    "request_headers": {}
  },
  "asr": {
    "quality": "high",
    "provider": "elevenlabs",
    "user_input_audio_format": "pcm_16000",
    "keywords": []
  },
  "tts": {
    "model_id": "eleven_flash_v2",
    "voice_id": "cjVigY5qzO86Huf0OWal",
    "agent_output_audio_format": "pcm_16000",
    "stability": 0.5,
    "speed": 1,
    "similarity_boost": 0.8,
    "optimize_streaming_latency": 3
  },
  "turn": {
    "turn_timeout": 7,
    "silence_end_call_timeout": -1,
    "turn_eagerness": "normal",
    "mode": "turn"
  },
  "vad": {
    "background_voice_detection": false
  },
  "conversation": {
    "max_duration_seconds": 600,
    "client_events": [
      "audio",
      "interruption",
      "agent_response",
      "user_transcript"
    ]
  },
  "privacy": {
    "record_voice": true,
    "retention_days": -1,
    "delete_transcript_and_pii": false,
    "delete_audio": false,
    "apply_to_existing_conversations": false,
    "zero_retention_mode": false
  },
  "call_limits": {
    "agent_concurrency_limit": -1,
    "daily_limit": 100000,
    "bursting_enabled": true
  },
  "language": "en",
  "cascade_timeout_seconds": 4,
  "tags": [
    "production",
    "v1"
  ],
  "overrides": {
    "first_message": false
  },
  "metadata": {
    "created_at_unix_secs": 1714000000,
    "updated_at_unix_secs": 1714000000,
    "created_from": "api",
    "last_updated_from": "api"
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz"

payload = {}
headers = {"Content-Type": "application/json"}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz';
const options = {method: 'PATCH', headers: {'Content-Type': 'application/json'}, body: '{}'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("PATCH", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.patch("https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PATCH', 'https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz', [
  'body' => '{}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```