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

# Spraakengine dupliceren

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

Maak een nieuwe Speech Engine-resource door een bestaande te dupliceren

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

## 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) — De ID van de spraakengine (accepteert het voorvoegsel seng_ of agent_)

### Body (application/json)

This endpoint expects a DuplicateSpeechEngineRequest.

- `name` (string, optional, nullable) — Naam voor de gedupliceerde spraakengine. Standaard is dit de bronnaam.

## Response

### 201

Geslaagde response

- `speech_engine_id` (string, required) — De resource-ID van de spraakengine
- `name` (string, required) — Voor mensen leesbare naam voor de Speech Engine
- `speech_engine` (SpeechEngineConfig, required) — WebSocket-verbindingsinstellingen voor de upstream-transcriptserver
- `asr` (ASRConversationalConfig, required) — Configuratie voor automatische spraakherkenning
- `tts` (TTSConversationalConfig-Output, required) — Configuratie voor uitvoer van Text to Speech
- `turn` (BaseTurnConfig, required) — Configuratie voor beurtendetectie
- `vad` (VADConfig, required) — Configuratie voor stemactiviteitsdetectie
- `conversation` (ConversationConfig-Output, required) — Instellingen op gespreksniveau, waaronder clientevents en tijdslimieten
- `privacy` (PrivacyConfig-Output, required) — Privacyinstellingen voor opname, bewaartermijn en verwerking van PII
- `call_limits` (AgentCallLimits, required) — Gelijktijdigheids- en dagelijkse gesprekslimieten voor deze spraakengine
- `language` (string, required) — ISO-taalcode die wordt gebruikt door de spraakengine (bijvoorbeeld 'en')
- `cascade_timeout_seconds` (double, required) — Tijd in seconden om te wachten op een reactie van het upstream speech engine-endpoint voordat de poging wordt afgebroken en opnieuw geprobeerd. Moet tussen 2 en 15 seconden liggen.
- `tags` (list of string, required) — Willekeurige tags voor categorisering en filtering
- `overrides` (SpeechEngineConversationInitiationClientDataConfig, required) — Instellingen die de client kan overschrijven bij het starten van een gesprek
- `metadata` (AgentMetadataDBModel, required) — Tijdstempels voor maken en bijwerken met broninformatie
- `access_info` (ResourceAccessInfo, optional, nullable) — De toegangsgegevens van de spraakengine voor de gebruiker

## Errors

### 422 Unprocessable Entity Error

Validatiefout

- `detail` (list of ValidationError, optional)

## Types

### SpeechEngineConfig

- `ws_url` (string, required) — De WebSocket-URL voor de transcriptserver
- `request_headers` (map from string to SpeechEngineConfigRequestHeaders, optional) — Headers die in de WebSocket-verbindingsaanvraag moeten worden opgenomen

### ASRConversationalConfig

- `quality` (enum, optional, default: high) — De kwaliteit van de transcriptie
  - Allowed values: `high`
- `provider` (enum, optional, default: scribe_realtime) — De provider van de transcriptieservice
  - Allowed values: `elevenlabs`, `scribe_realtime`, `scribe_v2_turbo`
- `user_input_audio_format` (enum, optional, default: pcm_16000) — Het formaat van de audio die moet worden getranscribeerd
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `keywords` (list of string, optional) — Trefwoorden waarvoor de voorspellingskans moet worden verhoogd

### TTSConversationalConfig-Output

- `model_id` (enum, optional, default: eleven_v4_turbo) — Het model dat voor TTS moet worden gebruikt
  - 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) — De stem-ID die voor TTS moet worden gebruikt
- `supported_voices` (list of SupportedVoice, optional) — Aanvullende ondersteunde stemmen voor de agent
- `expressive_mode` (boolean, optional, default: true) — Wanneer dit is ingeschakeld, wordt de prompt voor expressieve audiotags toegepast. Automatisch uitgeschakeld voor niet-v3-modellen.
- `suggested_audio_tags` (list of SuggestedAudioTag, optional) — Voorgestelde audiotags om expressieve spraak te versterken (voor modellen eleven_v3 en eleven_v3_conversational). De agent kan nog steeds andere, hier niet vermelde tags gebruiken.
- `agent_output_audio_format` (enum, optional, default: pcm_16000) — De audio-indeling die je voor TTS wilt gebruiken
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `stability` (double, optional, default: 0.5) — De stabiliteit van gegenereerde spraak
- `speed` (double, optional, default: 1) — De snelheid van gegenereerde spraak
- `similarity_boost` (double, optional, default: 0.8) — De similariteitsboost voor gegenereerde spraak
- `text_normalisation_type` (enum, optional, default: system_prompt) — Methode om getallen naar woorden om te zetten voordat tekst naar spraak wordt omgezet. Als dit is ingesteld op SYSTEM_PROMPT, wordt de systeemprompt bijgewerkt met normalisatie-instructies. Als dit is ingesteld op ELEVENLABS, wordt de tekst na het genereren genormaliseerd, wat voor een kleine extra vertraging zorgt.
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — De locators voor het uitspraakwoordenboek
- `enable_phoneme_tags` (boolean, optional, default: true) — Meld je aan voor verwerking van SSML-foneemtags voor V3-modellen. Indien ingeschakeld, worden foneemtags (inline en uit uitspraakwoordenboeken) geparseerd naar inline IPA voordat ze naar het model worden verzonden.
- `audio_effects` (EffectsSpec-Output, optional, nullable) — Optionele specificatie voor TTS-effecten: filterpreset, afstand (proximity-EQ) en omgeving (convolution reverb).
- `optimize_streaming_latency` (enum, optional, deprecated) — Verouderd: dit veld heeft geen effect en wordt genegeerd.
  - Allowed values: `0`, `1`, `2`, `3`, `4`

### BaseTurnConfig

- `turn_timeout` (double, optional, default: 7) — Maximale wachttijd op het antwoord van de gebruiker voordat opnieuw contact wordt opgenomen
- `initial_wait_time` (double, optional, nullable) — Hoe lang de agent wacht tot de gebruiker het gesprek start als het eerste bericht leeg is. Als dit niet is ingesteld, wordt de gewone turn_timeout gebruikt.
- `silence_end_call_timeout` (double, optional, default: -1) — Maximale tijd sinds de gebruiker voor het laatst sprak voordat het gesprek wordt beëindigd
- `turn_eagerness` (enum, optional, default: normal) — Bepaalt hoe snel de agent reageert. Laag = minder snel (wacht langer), Standaard = standaardreactiesnelheid, Hoog = sneller (reageert eerder)
  - Allowed values: `patient`, `normal`, `eager`
- `spelling_patience` (enum, optional, default: auto) — Bepaalt of de agent geduldiger moet zijn wanneer de gebruiker getallen en benoemde entiteiten spelt. Auto = gebaseerd op het model, Uit = nooit extra wachten
  - Allowed values: `auto`, `off`
- `speculative_turn` (boolean, optional, default: false) — Wanneer dit is ingeschakeld, begint het tijdens stilte met het genereren van LLM-antwoorden voordat de volledige turn confidence is bereikt, waardoor de waargenomen vertraging afneemt. Dit kan de LLM-kosten verhogen.
- `retranscribe_on_turn_timeout` (boolean, optional, default: false) — Wanneer dit is ingeschakeld en VAD geen spraak detecteert, wordt geprobeerd de verzamelde audio opnieuw te transcriberen bij de turn timeout. Schakelt facturering met stiltekorting uit zolang dit is ingeschakeld voor de actieve agent of workflownode.
- `turn_model` (enum, optional, default: turn_v3) — Versie van het te gebruiken beurtwisselingsdetectiemodel.
  - Allowed values: `turn_v2`, `turn_v3`
- `interruption_ignore_terms` (list of string, optional) — Lijst met termen die geen onderbreking mogen veroorzaken wanneer de gebruiker ze uitspreekt (bijv. 'gotcha', 'understood'). Gebruikt exacte overeenkomst zonder hoofdlettergevoeligheid.
- `interruption_ignore_term_languages` (list of string, optional) — Taalcodes waarvoor vooraf ingestelde categorieën voor te negeren termen zijn geactiveerd. Expliciet opgeslagen, zodat de weergave niet wordt afgeleid uit overlappende termen.
- `merge_with_default_ignore_terms` (boolean, optional, default: false) — Wanneer dit is ingeschakeld, worden naast interruption_ignore_terms ook de samengestelde standaardtermen voor interruption_ignore_term_languages gebruikt.
- `transcribe_on_disabled_interruptions` (boolean, optional, default: false) — Transcribeer ook wanneer onderbrekingen zijn uitgeschakeld wat de gebruiker zegt, zodat dit kan worden meegenomen naar de volgende beurt. Wanneer dit is uitgeschakeld, wordt spraak van de gebruiker tijdens een niet-onderbreekbare beurt genegeerd en wordt geen beurt gestart.

### VADConfig

### ConversationConfig-Output

- `text_only` (boolean, optional, default: false) — Als dit is ingeschakeld, wordt audio niet verwerkt en wordt alleen tekst gebruikt. Gebruik dit om audiokosten te vermijden.
- `max_duration_seconds` (integer, optional, default: 600) — De maximale duur van een conversatie in seconden
- `client_events` (list of enum, optional) — De gebeurtenissen die naar de client worden verzonden
  - 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) — Configuratie voor bestandsinvoer (uploads van afbeeldingen/PDF's) tijdens gesprekken.
- `monitoring_enabled` (boolean, optional, default: false) — Schakel realtime monitoring van gesprekken via WebSocket in
- `monitoring_events` (list of enum, optional) — De gebeurtenissen die naar monitoringverbindingen worden verzonden.
  - 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) — Configureer het verzamelen van DTMF-invoer (toetsenblok) tijdens telefoongesprekken
- `background_sound` (BackgroundSoundConfig, optional) — Configuratie voor achtergrondgeluid tijdens gesprekken.
- `source_attribution` (boolean, optional, default: false) — Wanneer dit is ingeschakeld en er inhoud in de kennisbank aanwezig is, krijgt de LLM de instructie om te vermelden welke bronnen zijn gebruikt.

### PrivacyConfig-Output

- `record_voice` (boolean, optional, default: true) — Of het gesprek moet worden opgenomen
- `retention_days` (integer, optional, default: -1) — Het aantal dagen dat het gesprek wordt bewaard. -1 geeft aan dat er geen bewaarlimiet is
- `delete_transcript_and_pii` (boolean, optional, default: false) — Of het transcript en de PII moeten worden verwijderd
- `delete_audio` (boolean, optional, default: false) — Of de audio moet worden verwijderd
- `apply_to_existing_conversations` (boolean, optional, default: false) — Of de privacyinstellingen moeten worden toegepast op bestaande gesprekken
- `zero_retention_mode` (boolean, optional, default: false) — Of de modus zonder gegevensbewaring moet worden ingeschakeld - er worden geen PII-gegevens opgeslagen
- `conversation_history_redaction` (ConversationHistoryRedactionConfig, optional) — Configuratie voor het redigeren van PII in de gespreksgeschiedenis

### AgentCallLimits

- `agent_concurrency_limit` (integer, optional, default: -1) — Het maximumaantal gelijktijdige conversaties. -1 geeft aan dat er geen maximum is
- `daily_limit` (integer, optional, default: 100000) — Het maximumaantal conversaties per dag
- `bursting_enabled` (boolean, optional, default: true) — Of bursting moet worden ingeschakeld. Als dit true is, mag de gelijktijdigheidslimiet van de workspace tot 3 keer de limiet worden overschreden. Bij overschrijding van de limiet worden calls tegen het dubbele tarief berekend.

### SpeechEngineConversationInitiationClientDataConfig

- `first_message` (boolean, optional, default: false) — Of het eerste bericht door de client kan worden overschreven

### 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) — Of de gebruiker die de request doet de maker van de agent is
- `creator_name` (string, required) — Naam van de maker van de agent
- `creator_email` (string, required) — E-mailadres van de maker van de agent
- `role` (enum, required) — De rol van de gebruiker die de request uitvoert
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `anonymous_access_level_override` (enum, optional, nullable) — Het toegangsniveau voor anonieme gebruikers. Als dit None is, wordt de resource niet openbaar gedeeld.
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `access_source` (enum, optional, nullable) — Waarom de aanvragende gebruiker toegang heeft tot deze resource. 'creator' = de aanroeper is de eigenaar. 'explicit' = de aanroeper (of een van diens workspacegroepen) staat in role_to_group_ids, naast de workspacebrede everyone-groep. 'workspace_default' = de workspacebrede everyone-groep staat in role_to_group_ids (elk niet-anoniem workspacelid, inclusief beheerders, ziet deze resource). 'workspace_admin' = de aanroeper is een workspacebeheerder en de beheerdersrol is de *enige* manier om toegang te krijgen; gereserveerd voor documenten die niemand anders kan zien. Hiermee kan de UI uitleggen waarom een kijker die beheerdersrechten omzeilt een document ziet dat niet expliciet met diegene is gedeeld.
  - 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) — Te gebruiken audiotag (voor de beste prestaties 1-2 woorden, bijvoorbeeld 'happy', 'excited')
- `description` (string, optional, nullable) — Optionele beschrijving van wanneer je deze tag gebruikt

### PydanticPronunciationDictionaryVersionLocator

Een locator waarmee andere documenten naar een specifiek woordenboek en de bijbehorende versie kunnen verwijzen. Dit is een pydantic-versie van PronunciationDictionaryVersionLocatorDBModel. Vereist om compatibiliteit met de overige datamodellen van de agent te waarborgen.

- `pronunciation_dictionary_id` (string, required) — De ID van het uitspraakwoordenboek
- `version_id` (string, required, nullable) — De ID van de versie van het uitspraakwoordenboek

### EffectsSpec-Output

Audio-effecten die worden toegepast op gegenereerde spraak: een filterpreset, waargenomen afstand, een galm- omgeving, achtergrondruis en stereopanning. Laat elk veld op de standaardwaarde staan om onbewerkte audio te krijgen.

- `filter_preset_id` (string, required, nullable) — ID van een filterpreset die de stem kleurt, zoals `phone` of `old_radio`. Geef geldige ID's weer met `GET /v1/audio-effects/catalog`.
- `distance` (double, required, default: 0) — Hoe ver de spreker van de microfoon lijkt te staan, van 0 (dichtbij, ongewijzigd) tot 1 (ver weg). Hogere waarden dempen lage en hoge frequenties en verschuiven, wanneer een omgeving is ingesteld, de balans van de droge stem naar de galm.
- `environment_id` (string, required, nullable) — ID van een reverbomgeving die de stem in een ruimte plaatst, zoals `small_room` of `hall`. Geef geldige ID's weer met `GET /v1/audio-effects/catalog`. Reverb wordt in stereo gerenderd en voegt een galmstaart van maximaal enkele seconden toe nadat de spraak eindigt.
- `background_noise_id` (string, required, nullable) — ID van een achtergrondgeluidsbed dat onder de stem wordt geloopt, zoals `cafe` of `keyboard`. Geef geldige ID's weer met `GET /v1/audio-effects/catalog`.
- `send_level` (double, required, default: 1) — Hoeveel van de stem naar de reverb gaat, van 0 (geen) tot 1 (volledig). Geldt alleen wanneer `environment_id` is ingesteld; 0 schakelt de reverb uit.
- `pan` (double, required, default: 0) — Stereopositie van de stem, van -1 (volledig links) via 0 (midden) tot 1 (volledig rechts). Alleen de stem wordt gepand; galm en achtergrondruis blijven in het midden.
- `seed` (integer, required, nullable, deprecated) — Heeft geen effect.

### FileInputConfig

- `enabled` (boolean, optional, default: true) — Wanneer dit is ingeschakeld, kunnen gebruikers afbeeldingen, pdf's of tekstbestanden toevoegen in de chat wanneer de LLM multimodale invoer ondersteunt.
- `max_files_in_memory` (integer, optional, default: 10) — Aantal meest recente bestanden dat tijdens een gesprek in het geheugen wordt bewaard. Oudere bestanden worden samengevat en hun bytes worden vrijgegeven.
- `max_files_per_conversation` (integer, optional, default: 10) — Totaal aantal bestanden dat een gebruiker in één gesprek kan uploaden. Uploads worden per bestand gefactureerd. Gebruik -1 voor geen limiet, of een waarde >= max_files_in_memory.

### DTMFInputConfig

Configuratie voor het verzamelen van DTMF-invoer (toetsenblok) tijdens telefoongesprekken.

- `dtmf_input_timeout` (double, optional, default: 2) — Time-out in seconden om te wachten op aanvullende DTMF-cijfers
- `hash_terminator` (boolean, optional, default: true) — Als true, voltooit het indrukken van # de DTMF-invoer direct
- `redact_input` (boolean, optional, default: false) — Als true, vervang je de DTMF-invoer (toetsenbord) van de beller door een afschermingsmarkering in het transcript, het gesprekslogboek en de analyse. Cijfers die de agent herhaalt of aan een tool doorgeeft, worden niet beïnvloed.

### BackgroundSoundConfig

- `source_type` (enum, optional, nullable) — Het type bron voor achtergrondgeluid.
  - Allowed values: `preset`
- `source_id` (enum, optional, nullable) — ID voor de geluidsbron.
  - Allowed values: `office2`, `office1`, `restaurant`, `city`, `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `volume` (double, optional, default: 0.15) — Volumeniveau voor achtergrondgeluid (0.01 tot 1.0).
- `crossfade_loop` (boolean, optional, default: true) — Pas een crossfade toe bij de loopgrens om hoorbare tikken te voorkomen wanneer het geluid wordt herhaald.

### ConversationHistoryRedactionConfig

- `enabled` (boolean, optional, default: false) — Of anonimisering van de gespreksgeschiedenis is ingeschakeld
- `entities` (list of enum, optional) — De entiteiten die uit het gesprekstranscript, de audio en de analyse moeten worden verwijderd. Gebruik typen op hoofdniveau zoals 'name', 'email_address' of puntnotatie voor specifieke subtypen zoals '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's van gegevensverzamelingsitems waarvan de geëxtraheerde waarden niet zijn geredigeerd. De onderbouwingen worden nog steeds geredigeerd.

### ValidationErrorLocItems

### ConvAISecretLocator

Gebruikt om naar een geheim uit de secret store van de agent te verwijzen.

- `secret_id` (string, required)

### ConvAIDynamicVariable

Gebruikt om naar een dynamische variabele te verwijzen.

- `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/duplicate"

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

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

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz/duplicate';
const options = {method: 'POST', 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/duplicate"

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

	req, _ := http.NewRequest("POST", 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/duplicate")

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

request = Net::HTTP::Post.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.post("https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz/duplicate")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.elevenlabs.io/v1/speech-engine/seng_3701k3ttaq12ewp8b7qv5rfyszkz/duplicate', [
  '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/duplicate");
var request = new RestRequest(Method.POST);
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/duplicate")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```