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

# Mettre à jour le Speech Engine

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

Met à jour une ressource Speech Engine, partiellement

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 du moteur vocal (accepte le préfixe seng_ ou 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) — Délai, en secondes, d’attente de la réponse du point de terminaison du moteur de synthèse vocale en amont avant l’abandon et la nouvelle tentative. Doit être compris entre 2 et 15 secondes.
- `tags` (list of string, optional, nullable)
- `overrides` (SpeechEngineConversationInitiationClientDataConfig, optional, nullable)

## Response

### 200

Réponse réussie

- `speech_engine_id` (string, required) — L'ID de ressource du moteur vocal
- `name` (string, required) — Nom lisible du Speech Engine
- `speech_engine` (SpeechEngineConfig, required) — Paramètres de connexion WebSocket pour le serveur de transcription en amont
- `asr` (ASRConversationalConfig, required) — Configuration de la reconnaissance automatique de la parole
- `tts` (TTSConversationalConfig-Output, required) — Configuration de sortie du Text to Speech
- `turn` (BaseTurnConfig, required) — Configuration de la détection des tours de parole
- `vad` (VADConfig, required) — Configuration de la détection d'activité vocale
- `conversation` (ConversationConfig-Output, required) — Paramètres au niveau de la conversation, y compris les événements client et les limites de durée
- `privacy` (PrivacyConfig-Output, required) — Paramètres de confidentialité contrôlant l’enregistrement, la conservation et le traitement des PII
- `call_limits` (AgentCallLimits, required) — Limites de requêtes simultanées et de conversations quotidiennes pour ce Speech Engine
- `language` (string, required) — Code de langue ISO utilisé par le moteur de synthèse vocale, par exemple « en »
- `cascade_timeout_seconds` (double, required) — Délai, en secondes, d’attente de la réponse du point de terminaison du moteur de synthèse vocale en amont avant l’abandon et la nouvelle tentative. Doit être compris entre 2 et 15 secondes.
- `tags` (list of string, required) — Balises arbitraires pour la catégorisation et le filtrage
- `overrides` (SpeechEngineConversationInitiationClientDataConfig, required) — Paramètres de remplacement que le client peut définir lors de l'initialisation de la conversation
- `metadata` (AgentMetadataDBModel, required) — Horodatages de création et de mise à jour avec informations sur la source
- `access_info` (ResourceAccessInfo, optional, nullable) — Informations d’accès du Speech Engine pour l’utilisateur

## Errors

### 422 Unprocessable Entity Error

Erreur de validation

- `detail` (list of ValidationError, optional)

## Types

### SpeechEngineConfig

- `ws_url` (string, required) — L’URL WebSocket du serveur de transcription
- `request_headers` (map from string to SpeechEngineConfigRequestHeaders, optional) — En-têtes à inclure dans la requête de connexion WebSocket.

### ASRConversationalConfig

- `quality` (enum, optional, default: high) — La qualité de la transcription
  - Allowed values: `high`
- `provider` (enum, optional, default: scribe_realtime) — Le fournisseur du service de transcription
  - Allowed values: `elevenlabs`, `scribe_realtime`, `scribe_v2_turbo`
- `user_input_audio_format` (enum, optional, default: pcm_16000) — Le format de l’audio à transcrire
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `keywords` (list of string, optional) — Mots-clés dont la probabilité de prédiction doit être augmentée

### TTSConversationalConfig-Input

- `model_id` (enum, optional, default: eleven_v4_turbo) — Le modèle à utiliser pour le 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 de voix à utiliser pour le TTS
- `supported_voices` (list of SupportedVoice, optional) — Voix supplémentaires prises en charge pour l'agent
- `expressive_mode` (boolean, optional, default: true) — Lorsque cette option est activée, applique le prompt de balises audio expressives. Elle est automatiquement désactivée pour les modèles autres que v3.
- `suggested_audio_tags` (list of SuggestedAudioTag, optional) — Suggested audio tags to boost expressive speech (for eleven_v3 and eleven_v3_conversational models). The agent can still use other tags not listed here.
- `agent_output_audio_format` (enum, optional, default: pcm_16000) — Format audio à utiliser pour le 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é de la parole générée
- `speed` (double, optional, default: 1) — La vitesse de la parole générée
- `similarity_boost` (double, optional, default: 0.8) — L'amélioration de similarité pour la parole générée
- `text_normalisation_type` (enum, optional, default: system_prompt) — Méthode de conversion des nombres en mots avant la synthèse vocale. Si elle est définie sur SYSTEM_PROMPT, le prompt système est mis à jour pour inclure des instructions de normalisation. Si elle est définie sur ELEVENLABS, le texte est normalisé après la génération, ce qui entraîne une légère latence supplémentaire.
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — Les localisateurs de dictionnaires de prononciation
- `enable_phoneme_tags` (boolean, optional, default: true) — Active la gestion des balises de phonèmes SSML pour les modèles V3. Lorsqu'elle est activée, les balises de phonèmes, en ligne et issues des dictionnaires de prononciation, sont analysées en API en ligne avant d'être envoyées au modèle.
- `audio_effects` (EffectsSpec-Input, optional, nullable) — Spécification facultative des effets TTS : préréglage de filtre, distance (égalisation de proximité) et environnement (réverbération par convolution).
- `optimize_streaming_latency` (enum, optional, deprecated) — Obsolète : ce champ n'a aucun effet et est ignoré.
  - Allowed values: `0`, `1`, `2`, `3`, `4`

### BaseTurnConfig

- `turn_timeout` (double, optional, default: 7) — Temps d’attente maximal de la réponse de l’utilisateur avant de le solliciter à nouveau
- `initial_wait_time` (double, optional, nullable) — How long the agent will wait for the user to start the conversation if the first message is empty. If not set, uses the regular turn_timeout.
- `silence_end_call_timeout` (double, optional, default: -1) — Temps d’attente maximal depuis la dernière intervention de l’utilisateur avant de mettre fin à l’appel
- `turn_eagerness` (enum, optional, default: normal) — Contrôle la réactivité de l'agent. Faible = moins réactif (attend davantage), Standard = réactivité par défaut, Élevé = plus réactif (répond plus rapidement)
  - Allowed values: `patient`, `normal`, `eager`
- `spelling_patience` (enum, optional, default: auto) — Détermine si l'agent doit attendre davantage lorsque l'utilisateur épelle des nombres et des entités nommées. Auto = selon le modèle, Off = ne jamais attendre davantage
  - Allowed values: `auto`, `off`
- `speculative_turn` (boolean, optional, default: false) — Lorsque cette option est activée, la génération des réponses du LLM commence pendant le silence, avant que la confiance totale du tour de parole soit atteinte, afin de réduire la latence perçue. Peut augmenter les coûts du LLM.
- `retranscribe_on_turn_timeout` (boolean, optional, default: false) — Lorsqu’elle est activée, si la VAD ne détecte aucune parole, tente de retranscrire l’audio accumulé à l’expiration du délai du tour. Désactive la facturation avec réduction pour les silences tant qu’elle est activée pour l’agent ou le nœud de workflow actif.
- `turn_model` (enum, optional, default: turn_v3) — Version du modèle de détection des tours de parole à utiliser.
  - Allowed values: `turn_v2`, `turn_v3`
- `interruption_ignore_terms` (list of string, optional) — Liste des termes qui ne doivent pas déclencher d'interruption lorsqu'ils sont prononcés par l'utilisateur, par exemple « gotcha » ou « understood ». Utilise une correspondance exacte insensible à la casse.
- `interruption_ignore_term_languages` (list of string, optional) — Codes de langue pour lesquels des catégories prédéfinies de termes à ignorer ont été activées. Ils sont stockés explicitement afin que l'affichage ne soit pas déduit du chevauchement des termes.
- `merge_with_default_ignore_terms` (boolean, optional, default: false) — Lorsque cette option est activée, les termes par défaut sélectionnés pour interruption_ignore_term_languages sont utilisés en plus de interruption_ignore_terms.
- `transcribe_on_disabled_interruptions` (boolean, optional, default: false) — Lorsque les interruptions sont désactivées, transcrit tout de même ce que dit l’utilisateur afin de le reporter au tour suivant. Lorsque cette option est désactivée, la parole de l’utilisateur pendant un tour non interruptible est ignorée et ne déclenche pas de tour de parole.

### VADConfig

### ConversationConfig-Input

- `text_only` (boolean, optional, default: false) — Si cette option est activée, l’audio ne sera pas traité et seul le texte sera utilisé, afin d’éviter la tarification audio.
- `max_duration_seconds` (integer, optional, default: 600) — La durée maximale d’une conversation, en secondes
- `client_events` (list of enum, optional) — Les événements qui seront envoyés au 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) — Configuration des entrées de fichiers (chargements d'images/PDF) pendant les conversations.
- `monitoring_enabled` (boolean, optional, default: false) — Active la surveillance des conversations en temps réel via WebSocket
- `monitoring_events` (list of enum, optional) — Les événements qui seront envoyés aux connexions de surveillance.
  - 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) — Configurez la collecte de saisies DTMF (clavier téléphonique) pendant les appels
- `background_sound` (BackgroundSoundConfig, optional) — Configuration du son d'arrière-plan durant les conversations.
- `source_attribution` (boolean, optional, default: false) — Lorsque cette option est activée et que la base de connaissances contient du contenu, le LLM reçoit l’instruction d’indiquer les sources qu’il a utilisées.

### PrivacyConfig-Input

- `record_voice` (boolean, optional, default: true) — Indique s'il faut enregistrer la conversation.
- `retention_days` (integer, optional, default: -1) — Le nombre de jours de conservation de la conversation. -1 indique qu’il n’existe aucune limite de conservation.
- `delete_transcript_and_pii` (boolean, optional, default: false) — Indique s'il faut supprimer la transcription et les données personnelles identifiables.
- `delete_audio` (boolean, optional, default: false) — Indique s'il faut supprimer l'audio.
- `apply_to_existing_conversations` (boolean, optional, default: false) — Indique s'il faut appliquer les paramètres de confidentialité aux conversations existantes.
- `zero_retention_mode` (boolean, optional, default: false) — Indique s'il faut activer le mode zéro rétention, aucune donnée personnelle identifiable n'est stockée.
- `conversation_history_redaction` (ConversationHistoryRedactionConfig, optional) — Configuration de la suppression des données personnelles dans l'historique des conversations

### AgentCallLimits

- `agent_concurrency_limit` (integer, optional, default: -1) — Le nombre maximal de conversations simultanées. La valeur -1 indique qu’il n’y a pas de maximum
- `daily_limit` (integer, optional, default: 100000) — Le nombre maximal de conversations par jour
- `bursting_enabled` (boolean, optional, default: true) — Indique s'il faut activer le dépassement ponctuel. Si la valeur est true, le dépassement de la limite de requêtes simultanées du Workspace est autorisé jusqu'à trois fois cette limite. Les appels au-delà de cette limite sont facturés au double du tarif.

### SpeechEngineConversationInitiationClientDataConfig

- `first_message` (boolean, optional, default: false) — Indique si le premier message peut être remplacé par le client

### TTSConversationalConfig-Output

- `model_id` (enum, optional, default: eleven_v4_turbo) — Le modèle à utiliser pour le 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 de voix à utiliser pour le TTS
- `supported_voices` (list of SupportedVoice, optional) — Voix supplémentaires prises en charge pour l'agent
- `expressive_mode` (boolean, optional, default: true) — Lorsque cette option est activée, applique le prompt de balises audio expressives. Elle est automatiquement désactivée pour les modèles autres que v3.
- `suggested_audio_tags` (list of SuggestedAudioTag, optional) — Suggested audio tags to boost expressive speech (for eleven_v3 and eleven_v3_conversational models). The agent can still use other tags not listed here.
- `agent_output_audio_format` (enum, optional, default: pcm_16000) — Format audio à utiliser pour le 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é de la parole générée
- `speed` (double, optional, default: 1) — La vitesse de la parole générée
- `similarity_boost` (double, optional, default: 0.8) — L'amélioration de similarité pour la parole générée
- `text_normalisation_type` (enum, optional, default: system_prompt) — Méthode de conversion des nombres en mots avant la synthèse vocale. Si elle est définie sur SYSTEM_PROMPT, le prompt système est mis à jour pour inclure des instructions de normalisation. Si elle est définie sur ELEVENLABS, le texte est normalisé après la génération, ce qui entraîne une légère latence supplémentaire.
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — Les localisateurs de dictionnaires de prononciation
- `enable_phoneme_tags` (boolean, optional, default: true) — Active la gestion des balises de phonèmes SSML pour les modèles V3. Lorsqu'elle est activée, les balises de phonèmes, en ligne et issues des dictionnaires de prononciation, sont analysées en API en ligne avant d'être envoyées au modèle.
- `audio_effects` (EffectsSpec-Output, optional, nullable) — Spécification facultative des effets TTS : préréglage de filtre, distance (égalisation de proximité) et environnement (réverbération par convolution).
- `optimize_streaming_latency` (enum, optional, deprecated) — Obsolète : ce champ n'a aucun effet et est ignoré.
  - Allowed values: `0`, `1`, `2`, `3`, `4`

### ConversationConfig-Output

- `text_only` (boolean, optional, default: false) — Si cette option est activée, l’audio ne sera pas traité et seul le texte sera utilisé, afin d’éviter la tarification audio.
- `max_duration_seconds` (integer, optional, default: 600) — La durée maximale d’une conversation, en secondes
- `client_events` (list of enum, optional) — Les événements qui seront envoyés au 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) — Configuration des entrées de fichiers (chargements d'images/PDF) pendant les conversations.
- `monitoring_enabled` (boolean, optional, default: false) — Active la surveillance des conversations en temps réel via WebSocket
- `monitoring_events` (list of enum, optional) — Les événements qui seront envoyés aux connexions de surveillance.
  - 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) — Configurez la collecte de saisies DTMF (clavier téléphonique) pendant les appels
- `background_sound` (BackgroundSoundConfig, optional) — Configuration du son d'arrière-plan durant les conversations.
- `source_attribution` (boolean, optional, default: false) — Lorsque cette option est activée et que la base de connaissances contient du contenu, le LLM reçoit l’instruction d’indiquer les sources qu’il a utilisées.

### PrivacyConfig-Output

- `record_voice` (boolean, optional, default: true) — Indique s'il faut enregistrer la conversation.
- `retention_days` (integer, optional, default: -1) — Le nombre de jours de conservation de la conversation. -1 indique qu’il n’existe aucune limite de conservation.
- `delete_transcript_and_pii` (boolean, optional, default: false) — Indique s'il faut supprimer la transcription et les données personnelles identifiables.
- `delete_audio` (boolean, optional, default: false) — Indique s'il faut supprimer l'audio.
- `apply_to_existing_conversations` (boolean, optional, default: false) — Indique s'il faut appliquer les paramètres de confidentialité aux conversations existantes.
- `zero_retention_mode` (boolean, optional, default: false) — Indique s'il faut activer le mode zéro rétention, aucune donnée personnelle identifiable n'est stockée.
- `conversation_history_redaction` (ConversationHistoryRedactionConfig, optional) — Configuration de la suppression des données personnelles dans l'historique des conversations

### 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) — Indique si l’utilisateur effectuant la requête est le créateur de l’agent
- `creator_name` (string, required) — Nom du créateur de l’agent
- `creator_email` (string, required) — Email du créateur de l’agent
- `role` (enum, required) — Le rôle de l'utilisateur effectuant la requête
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `anonymous_access_level_override` (enum, optional, nullable) — Niveau d’accès des utilisateurs anonymes. Si la valeur est None, la ressource n’est pas partagée publiquement.
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `access_source` (enum, optional, nullable) — Motif pour lequel l’utilisateur demandeur a accès à cette ressource. 'creator' = l’appelant est le propriétaire. 'explicit' = l’appelant, ou l’un de ses groupes du Workspace, figure dans role_to_group_ids en plus du groupe everyone à l’échelle du Workspace. 'workspace_default' = le groupe everyone à l’échelle du Workspace figure dans role_to_group_ids, chaque membre non anonyme du Workspace, y compris les administrateurs, voit cette ressource. 'workspace_admin' = l’appelant est administrateur du Workspace et le siège administrateur est le *seul* moyen d’accès ; réservé aux documents que personne d’autre ne peut voir. Permet à l’interface d’indiquer pourquoi un administrateur bénéficiant d’un accès dérogatoire voit un document qui ne lui a pas été explicitement partagé.
  - Allowed values: `creator`, `explicit`, `workspace_admin`, `workspace_default`

### ValidationError

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

### SpeechEngineConfigRequestHeaders

- string
- ConvAISecretLocator: ConvAISecretLocator
- ConvAIDynamicVariable: ConvAIDynamicVariable

### 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) — Balise audio à utiliser (pour de meilleures performances, 1 à 2 mots, par exemple « happy », « excited »)
- `description` (string, optional, nullable) — Description facultative des cas d'utilisation de cette balise

### PydanticPronunciationDictionaryVersionLocator

Un localisateur permettant à d'autres documents de référencer un dictionnaire spécifique et sa version. Il s'agit d'une version Pydantic de PronunciationDictionaryVersionLocatorDBModel. Requis pour assurer la compatibilité avec les autres modèles de données de l'agent.

- `pronunciation_dictionary_id` (string, required) — L’ID du dictionnaire de prononciation
- `version_id` (string, required, nullable) — L’ID de la version du dictionnaire de prononciation

### EffectsSpec-Input

Effets audio appliqués à la parole générée : un préréglage de filtre, une distance perçue, un environnement de réverbération, un fond sonore et un panoramique stéréo. Laissez chaque champ à sa valeur par défaut pour obtenir un audio non traité.

- `filter_preset_id` (string, optional, nullable) — ID d’un préréglage de filtre qui colore la voix, tel que `phone` ou `old_radio`. Répertoriez les ID valides avec `GET /v1/audio-effects/catalog`.
- `distance` (double, optional, default: 0) — Distance à laquelle le locuteur semble se trouver du microphone, de 0 (proche, inchangée) à 1 (loin). Des valeurs plus élevées atténuent les basses et hautes fréquences et, lorsqu’un environnement est défini, déplacent l’équilibre de la voix sèche vers la réverbération.
- `environment_id` (string, optional, nullable) — ID d’un environnement de réverbération qui place la voix dans un espace, tel que `small_room` ou `hall`. Répertoriez les ID valides avec `GET /v1/audio-effects/catalog`. La réverbération est produite en stéréo et ajoute une traîne pouvant durer plusieurs secondes après la fin de la parole.
- `background_noise_id` (string, optional, nullable) — ID d’un fond sonore diffusé en boucle sous la voix, tel que `cafe` ou `keyboard`. Répertoriez les ID valides avec `GET /v1/audio-effects/catalog`.
- `send_level` (double, optional, default: 1) — Quantité de voix envoyée vers la réverbération, de 0 (aucune) à 1 (totale). S’applique uniquement lorsque `environment_id` est défini ; 0 désactive la réverbération.
- `pan` (double, optional, default: 0) — Position stéréo de la voix, de -1 (complètement à gauche) à 1 (complètement à droite), en passant par 0 (au centre). Seule la voix est panoramiquée ; la réverbération et le bruit de fond restent centrés.

### FileInputConfig

- `enabled` (boolean, optional, default: true) — Lorsque cette option est activée, les utilisateurs peuvent joindre des images, des fichiers PDF ou des fichiers texte dans le chat si le LLM prend en charge les entrées multimodales.
- `max_files_in_memory` (integer, optional, default: 10) — Nombre de fichiers les plus récents conservés en mémoire au cours d’une conversation. Les fichiers plus anciens sont résumés et leur mémoire est libérée.
- `max_files_per_conversation` (integer, optional, default: 10) — Nombre total de fichiers qu’un utilisateur peut importer au cours d’une conversation. Les importations sont facturées par fichier. Utilisez -1 pour aucune limite, ou une valeur >= max_files_in_memory.

### DTMFInputConfig

Configuration de la collecte de saisies DTMF (clavier téléphonique) pendant les appels.

- `dtmf_input_timeout` (double, optional, default: 2) — Délai d’expiration, en secondes, pour attendre des chiffres DTMF supplémentaires
- `hash_terminator` (boolean, optional, default: true) — Si true, appuyer sur # termine immédiatement la saisie DTMF.
- `redact_input` (boolean, optional, default: false) — Si true, remplace les saisies DTMF du correspondant, effectuées au clavier, par un marqueur de masquage dans la transcription, le journal de conversation et l’analyse. Les chiffres que l’agent répète ou transmet à un outil ne sont pas concernés.

### BackgroundSoundConfig

- `source_type` (enum, optional, nullable) — Le type de source sonore d’arrière-plan.
  - Allowed values: `preset`
- `source_id` (enum, optional, nullable) — Identifiant de la source sonore.
  - Allowed values: `office2`, `office1`, `restaurant`, `city`, `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `volume` (double, optional, default: 0.15) — Niveau de volume du son d’arrière-plan (de 0,01 à 1,0).
- `crossfade_loop` (boolean, optional, default: true) — Applique un fondu enchaîné à la jonction de la boucle afin d'éviter les clics audibles lors de la répétition du son.

### ConversationHistoryRedactionConfig

- `enabled` (boolean, optional, default: false) — Indique si le masquage de l’historique des conversations est activé
- `entities` (list of enum, optional) — Les entités à masquer dans la transcription, l’audio et l’analyse de la conversation. Utilisez des types de niveau supérieur tels que « name », « email_address », ou la notation par points pour des sous-types spécifiques tels que « 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 des éléments de collecte de données dont les valeurs extraites ne sont pas masquées. Leurs justifications restent masquées.

### EffectsSpec-Output

Effets audio appliqués à la parole générée : un préréglage de filtre, une distance perçue, un environnement de réverbération, un fond sonore et un panoramique stéréo. Laissez chaque champ à sa valeur par défaut pour obtenir un audio non traité.

- `filter_preset_id` (string, required, nullable) — ID d’un préréglage de filtre qui colore la voix, tel que `phone` ou `old_radio`. Répertoriez les ID valides avec `GET /v1/audio-effects/catalog`.
- `distance` (double, required, default: 0) — Distance à laquelle le locuteur semble se trouver du microphone, de 0 (proche, inchangée) à 1 (loin). Des valeurs plus élevées atténuent les basses et hautes fréquences et, lorsqu’un environnement est défini, déplacent l’équilibre de la voix sèche vers la réverbération.
- `environment_id` (string, required, nullable) — ID d’un environnement de réverbération qui place la voix dans un espace, tel que `small_room` ou `hall`. Répertoriez les ID valides avec `GET /v1/audio-effects/catalog`. La réverbération est produite en stéréo et ajoute une traîne pouvant durer plusieurs secondes après la fin de la parole.
- `background_noise_id` (string, required, nullable) — ID d’un fond sonore diffusé en boucle sous la voix, tel que `cafe` ou `keyboard`. Répertoriez les ID valides avec `GET /v1/audio-effects/catalog`.
- `send_level` (double, required, default: 1) — Quantité de voix envoyée vers la réverbération, de 0 (aucune) à 1 (totale). S’applique uniquement lorsque `environment_id` est défini ; 0 désactive la réverbération.
- `pan` (double, required, default: 0) — Position stéréo de la voix, de -1 (complètement à gauche) à 1 (complètement à droite), en passant par 0 (au centre). Seule la voix est panoramiquée ; la réverbération et le bruit de fond restent centrés.

### ValidationErrorLocItems

- string
- integer

### ConvAISecretLocator

Utilisé pour référencer un secret du stockage de secrets de l’agent.

- `secret_id` (string, required)

### ConvAIDynamicVariable

Utilisé pour référencer une variable dynamique.

- `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()
```