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

# स्पीच इंजन बनाएं

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

नया स्पीच इंजन रिसोर्स बनाएं

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

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

### Body (application/json)

This endpoint expects a CreateSpeechEngineRequest.

- `speech_engine` (SpeechEngineConfig, required) — Speech engine WebSocket configuration
- `name` (string, optional, default: Speech Engine) — स्पीच इंजन का नाम
- `asr` (ASRConversationalConfig, optional) — ASR कॉन्फ़िगरेशन
- `tts` (TTSConversationalConfig-Input, optional) — TTS कॉन्फ़िगरेशन
- `turn` (BaseTurnConfig, optional) — टर्न डिटेक्शन कॉन्फ़िगरेशन
- `vad` (VADConfig, optional) — वॉइस एक्टिविटी डिटेक्शन के लिए कॉन्फ़िगरेशन
- `conversation` (ConversationConfig-Input, optional) — बातचीत कॉन्फ़िगरेशन (क्लाइंट इवेंट आदि)
- `privacy` (PrivacyConfig-Input, optional) — Privacy settings (recording, retention, zero retention mode)
- `call_limits` (AgentCallLimits, optional) — इस स्पीच इंजन के लिए कॉन्करेंसी और दैनिक बातचीत की सीमाएं
- `language` (string, optional, default: en) — स्पीच इंजन की भाषा
- `cascade_timeout_seconds` (double, optional, default: 4) — प्रयास छोड़कर दोबारा कोशिश करने से पहले अपस्ट्रीम स्पीच इंजन एंडपॉइंट के जवाब की प्रतीक्षा का समय, सेकंड में। यह 2 से 15 सेकंड के बीच होना चाहिए।
- `tags` (list of string, optional) — वर्गीकरण के लिए टैग्स
- `overrides` (SpeechEngineConversationInitiationClientDataConfig, optional) — conversation शुरू करते समय client जिन settings को सेट कर सकता है, उनके overrides

## Response

### 201

सफल रिस्पॉन्स

- `speech_engine_id` (string, required) — स्पीच इंजन रिसोर्स ID
- `name` (string, required) — स्पीच इंजन के लिए मानव-पठनीय नाम
- `speech_engine` (SpeechEngineConfig, required) — अपस्ट्रीम ट्रांसक्रिप्ट सर्वर के लिए WebSocket कनेक्शन सेटिंग्स
- `asr` (ASRConversationalConfig, required) — ऑटोमैटिक स्पीच रिकग्निशन कॉन्फ़िगरेशन
- `tts` (TTSConversationalConfig-Output, required) — टेक्स्ट टू स्पीच आउटपुट कॉन्फ़िगरेशन
- `turn` (BaseTurnConfig, required) — टर्न डिटेक्शन कॉन्फ़िगरेशन
- `vad` (VADConfig, required) — वॉइस एक्टिविटी डिटेक्शन के लिए कॉन्फ़िगरेशन
- `conversation` (ConversationConfig-Output, required) — क्लाइंट इवेंट और अवधि सीमाओं सहित बातचीत-स्तरीय सेटिंग्स
- `privacy` (PrivacyConfig-Output, required) — recording, retention और PII handling को नियंत्रित करने वाली privacy settings
- `call_limits` (AgentCallLimits, required) — इस स्पीच इंजन के लिए कॉन्करेंसी और दैनिक बातचीत की सीमाएं
- `language` (string, required) — स्पीच इंजन द्वारा इस्तेमाल किया गया ISO भाषा कोड (जैसे, 'en')
- `cascade_timeout_seconds` (double, required) — प्रयास छोड़कर दोबारा कोशिश करने से पहले अपस्ट्रीम स्पीच इंजन एंडपॉइंट के जवाब की प्रतीक्षा का समय, सेकंड में। यह 2 से 15 सेकंड के बीच होना चाहिए।
- `tags` (list of string, required) — वर्गीकरण और फ़िल्टरिंग के लिए मनचाहे टैग
- `overrides` (SpeechEngineConversationInitiationClientDataConfig, required) — conversation शुरू करते समय client जिन settings को सेट कर सकता है, उनके overrides
- `metadata` (AgentMetadataDBModel, required) — सोर्स जानकारी के साथ बनाने और अपडेट के टाइमस्टैंप
- `access_info` (ResourceAccessInfo, optional, nullable) — यूज़र के लिए स्पीच इंजन की एक्सेस जानकारी

## Errors

### 422 Unprocessable Entity Error

वैलिडेशन एरर

- `detail` (list of ValidationError, optional)

## Types

### SpeechEngineConfig

- `ws_url` (string, required) — ट्रांसक्रिप्ट सर्वर का WebSocket URL
- `request_headers` (map from string to SpeechEngineConfigRequestHeaders, optional) — WebSocket कनेक्शन रिक्वेस्ट में शामिल किए जाने वाले हेडर

### ASRConversationalConfig

- `quality` (enum, optional, default: high) — ट्रांसक्रिप्शन की क्वालिटी
  - Allowed values: `high`
- `provider` (enum, optional, default: scribe_realtime) — ट्रांसक्रिप्शन सेवा का प्रदाता
  - Allowed values: `elevenlabs`, `scribe_realtime`, `scribe_v2_turbo`
- `user_input_audio_format` (enum, optional, default: pcm_16000) — ट्रांसक्राइब किए जाने वाले ऑडियो का फ़ॉर्मैट
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `keywords` (list of string, optional) — जिनके लिए अनुमान की संभावना बढ़ानी है वे कीवर्ड्स

### TTSConversationalConfig-Input

- `model_id` (enum, optional, default: eleven_v4_turbo) — 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) — TTS के लिए इस्तेमाल की जाने वाली वॉइस ID
- `supported_voices` (list of SupportedVoice, optional) — एजेंट के लिए अतिरिक्त समर्थित वॉइसेज़
- `expressive_mode` (boolean, optional, default: true) — सक्षम होने पर, expressive audio tags prompt लागू करता है। गैर-v3 मॉडल्स के लिए यह अपने-आप बंद हो जाता है।
- `suggested_audio_tags` (list of SuggestedAudioTag, optional) — भावपूर्ण स्पीच को बेहतर बनाने के लिए सुझाए गए ऑडियो टैग्स (eleven_v3 और eleven_v3_conversational मॉडल के लिए)। एजेंट यहाँ सूचीबद्ध न किए गए अन्य टैग्स भी इस्तेमाल कर सकता है।
- `agent_output_audio_format` (enum, optional, default: pcm_16000) — TTS के लिए इस्तेमाल किया जाने वाला ऑडियो फ़ॉर्मैट
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `stability` (double, optional, default: 0.5) — जनरेट की गई स्पीच की स्थिरता
- `speed` (double, optional, default: 1) — जनरेट की गई स्पीच की गति
- `similarity_boost` (double, optional, default: 0.8) — जनरेट की गई स्पीच के लिए सिमिलैरिटी बूस्ट
- `text_normalisation_type` (enum, optional, default: system_prompt) — टेक्स्ट को स्पीच में बदलने से पहले संख्याओं को शब्दों में बदलने का तरीका। SYSTEM_PROMPT पर सेट होने पर, नॉर्मलाइज़ेशन निर्देश शामिल करने के लिए सिस्टम प्रॉम्प्ट अपडेट होगा। ELEVENLABS पर सेट होने पर, जनरेशन के बाद टेक्स्ट नॉर्मलाइज़ किया जाएगा, जिससे थोड़ी अतिरिक्त लेटेंसी होगी।
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — उच्चारण शब्दकोश लोकेटर्स
- `enable_phoneme_tags` (boolean, optional, default: true) — V3 models के लिए SSML phoneme tag handling को opt-in करें। सक्षम होने पर phoneme tags (inline और pronunciation dictionaries से) को model पर भेजने से पहले inline IPA में parse किया जाता है।
- `audio_effects` (EffectsSpec-Input, optional, nullable) — वैकल्पिक TTS effects spec: filter preset, दूरी (proximity EQ), और environment (convolution reverb)।
- `optimize_streaming_latency` (enum, optional, deprecated) — डीप्रिकेटेड: यह फ़ील्ड कोई काम नहीं करता और अनदेखा किया जाता है।
  - Allowed values: `0`, `1`, `2`, `3`, `4`

### BaseTurnConfig

- `turn_timeout` (double, optional, default: 7) — यूज़र से दोबारा संपर्क करने से पहले उसके जवाब की प्रतीक्षा का अधिकतम समय
- `initial_wait_time` (double, optional, nullable) — पहला मैसेज खाली होने पर एजेंट यूज़र के बातचीत शुरू करने का कितनी देर इंतज़ार करेगा। सेट न होने पर सामान्य turn_timeout इस्तेमाल होता है।
- `silence_end_call_timeout` (double, optional, default: -1) — कॉल समाप्त करने से पहले यूज़र के आखिरी बार बोलने के बाद प्रतीक्षा का अधिकतम समय
- `turn_eagerness` (enum, optional, default: normal) — यह नियंत्रित करता है कि एजेंट जवाब देने के लिए कितना तत्पर है। Low = कम तत्पर (ज़्यादा देर इंतज़ार करता है), Standard = डिफ़ॉल्ट तत्परता, High = अधिक तत्पर (जल्दी जवाब देता है)
  - Allowed values: `patient`, `normal`, `eager`
- `spelling_patience` (enum, optional, default: auto) — जब यूज़र संख्याओं और नामित इकाइयों की स्पेलिंग बता रहा हो, तब एजेंट को ज़्यादा धैर्य रखना चाहिए या नहीं, यह नियंत्रित करता है। Auto = मॉडल आधारित, Off = कभी अतिरिक्त प्रतीक्षा नहीं
  - Allowed values: `auto`, `off`
- `speculative_turn` (boolean, optional, default: false) — सक्षम होने पर, पूरी turn confidence हासिल होने से पहले चुप्पी के दौरान LLM रिस्पॉन्स जनरेट करना शुरू करता है, जिससे महसूस होने वाली latency कम होती है। LLM लागत बढ़ सकती है।
- `retranscribe_on_turn_timeout` (boolean, optional, default: false) — सक्षम होने पर, अगर VAD को कोई स्पीच नहीं मिलती, तो टर्न टाइमआउट पर जमा हुए ऑडियो को फिर से ट्रांसक्राइब करने की कोशिश करता है। सक्रिय एजेंट या workflow नोड के लिए सक्षम रहने तक साइलेंस डिस्काउंट बिलिंग बंद रहती है।
- `turn_model` (enum, optional, default: turn_v3) — इस्तेमाल करने के लिए turn detection मॉडल का वर्ज़न।
  - Allowed values: `turn_v2`, `turn_v3`
- `interruption_ignore_terms` (list of string, optional) — उन शब्दों की सूची, जिन्हें यूज़र के बोलने पर इंटरप्शन ट्रिगर नहीं होना चाहिए (जैसे, 'gotcha', 'understood')। केस-इनसेंसिटिव सटीक मिलान इस्तेमाल करता है।
- `interruption_ignore_term_languages` (list of string, optional) — वे भाषा कोड जिनके लिए प्रीसेट ignore-term श्रेणियां सक्रिय की गई हैं। इन्हें स्पष्ट रूप से स्टोर किया जाता है, ताकि डिस्प्ले का अनुमान शब्दों के ओवरलैप से न लगाया जाए।
- `merge_with_default_ignore_terms` (boolean, optional, default: false) — सक्षम होने पर, interruption_ignore_terms के अलावा interruption_ignore_term_languages के क्यूरेट किए गए डिफ़ॉल्ट terms भी इस्तेमाल होते हैं।
- `transcribe_on_disabled_interruptions` (boolean, optional, default: false) — इंटरप्शन बंद होने पर भी यूज़र की बात को ट्रांसक्राइब करें, ताकि उसे अगले टर्न में शामिल किया जा सके। बंद होने पर, जिस टर्न में इंटरप्शन नहीं हो सकता उसमें यूज़र की आवाज़ अनदेखी की जाती है और नया टर्न ट्रिगर नहीं होता।

### VADConfig

### ConversationConfig-Input

- `text_only` (boolean, optional, default: false) — इसे सक्षम करने पर ऑडियो प्रोसेस नहीं होगा और केवल टेक्स्ट का इस्तेमाल होगा। ऑडियो की कीमत से बचने के लिए इसका इस्तेमाल करें।
- `max_duration_seconds` (integer, optional, default: 600) — बातचीत की अधिकतम अवधि, सेकंड में
- `client_events` (list of enum, optional) — वे इवेंट्स जो क्लाइंट को भेजे जाएंगे
  - 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) — बातचीत के दौरान फ़ाइल इनपुट (इमेज/PDF अपलोड) के लिए कॉन्फ़िगरेशन।
- `monitoring_enabled` (boolean, optional, default: false) — WebSocket के ज़रिए बातचीत की रीयल-टाइम मॉनिटरिंग सक्षम करें
- `monitoring_events` (list of enum, optional) — वे इवेंट्स जो मॉनिटरिंग कनेक्शंस को भेजे जाएंगे।
  - 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) — फ़ोन कॉल के दौरान DTMF (कीपैड) इनपुट कलेक्शन कॉन्फ़िगर करें
- `background_sound` (BackgroundSoundConfig, optional) — बातचीत के दौरान बैकग्राउंड साउंड के लिए कॉन्फ़िगरेशन।
- `source_attribution` (boolean, optional, default: false) — सक्षम होने और नॉलेज बेस कॉन्टेंट मौजूद होने पर, LLM को यह बताने का निर्देश दिया जाता है कि उसने किन सोर्सेज़ का इस्तेमाल किया।

### PrivacyConfig-Input

- `record_voice` (boolean, optional, default: true) — कन्वर्सेशन रिकॉर्ड करना है या नहीं
- `retention_days` (integer, optional, default: -1) — बातचीत को रखने के दिनों की संख्या। -1 का मतलब है कि रखने की कोई सीमा नहीं है।
- `delete_transcript_and_pii` (boolean, optional, default: false) — क्या ट्रांसक्रिप्ट और PII हटाना है
- `delete_audio` (boolean, optional, default: false) — क्या ऑडियो हटाना है
- `apply_to_existing_conversations` (boolean, optional, default: false) — क्या मौजूदा बातचीतों पर प्राइवेसी सेटिंग लागू करनी हैं
- `zero_retention_mode` (boolean, optional, default: false) — क्या ज़ीरो रिटेंशन मोड सक्षम करना है - कोई PII डेटा स्टोर नहीं किया जाता
- `conversation_history_redaction` (ConversationHistoryRedactionConfig, optional) — बातचीत इतिहास में PII रिडैक्शन के लिए कॉन्फ़िगरेशन

### AgentCallLimits

- `agent_concurrency_limit` (integer, optional, default: -1) — एक साथ होने वाली बातचीत की अधिकतम संख्या। -1 का अर्थ है कि कोई अधिकतम सीमा नहीं है
- `daily_limit` (integer, optional, default: 100000) — हर दिन बातचीत की अधिकतम संख्या
- `bursting_enabled` (boolean, optional, default: true) — क्या बर्स्टिंग सक्षम करनी है। अगर true है, तो वर्कस्पेस concurrency सीमा से 3 गुना तक अधिक की अनुमति होगी। सीमा पार करने पर कॉल के लिए दोगुनी दर से शुल्क लिया जाएगा।

### SpeechEngineConversationInitiationClientDataConfig

- `first_message` (boolean, optional, default: false) — क्या client पहले संदेश को override कर सकता है।

### TTSConversationalConfig-Output

- `model_id` (enum, optional, default: eleven_v4_turbo) — 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) — TTS के लिए इस्तेमाल की जाने वाली वॉइस ID
- `supported_voices` (list of SupportedVoice, optional) — एजेंट के लिए अतिरिक्त समर्थित वॉइसेज़
- `expressive_mode` (boolean, optional, default: true) — सक्षम होने पर, expressive audio tags prompt लागू करता है। गैर-v3 मॉडल्स के लिए यह अपने-आप बंद हो जाता है।
- `suggested_audio_tags` (list of SuggestedAudioTag, optional) — भावपूर्ण स्पीच को बेहतर बनाने के लिए सुझाए गए ऑडियो टैग्स (eleven_v3 और eleven_v3_conversational मॉडल के लिए)। एजेंट यहाँ सूचीबद्ध न किए गए अन्य टैग्स भी इस्तेमाल कर सकता है।
- `agent_output_audio_format` (enum, optional, default: pcm_16000) — TTS के लिए इस्तेमाल किया जाने वाला ऑडियो फ़ॉर्मैट
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `stability` (double, optional, default: 0.5) — जनरेट की गई स्पीच की स्थिरता
- `speed` (double, optional, default: 1) — जनरेट की गई स्पीच की गति
- `similarity_boost` (double, optional, default: 0.8) — जनरेट की गई स्पीच के लिए सिमिलैरिटी बूस्ट
- `text_normalisation_type` (enum, optional, default: system_prompt) — टेक्स्ट को स्पीच में बदलने से पहले संख्याओं को शब्दों में बदलने का तरीका। SYSTEM_PROMPT पर सेट होने पर, नॉर्मलाइज़ेशन निर्देश शामिल करने के लिए सिस्टम प्रॉम्प्ट अपडेट होगा। ELEVENLABS पर सेट होने पर, जनरेशन के बाद टेक्स्ट नॉर्मलाइज़ किया जाएगा, जिससे थोड़ी अतिरिक्त लेटेंसी होगी।
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — उच्चारण शब्दकोश लोकेटर्स
- `enable_phoneme_tags` (boolean, optional, default: true) — V3 models के लिए SSML phoneme tag handling को opt-in करें। सक्षम होने पर phoneme tags (inline और pronunciation dictionaries से) को model पर भेजने से पहले inline IPA में parse किया जाता है।
- `audio_effects` (EffectsSpec-Output, optional, nullable) — वैकल्पिक TTS effects spec: filter preset, दूरी (proximity EQ), और environment (convolution reverb)।
- `optimize_streaming_latency` (enum, optional, deprecated) — डीप्रिकेटेड: यह फ़ील्ड कोई काम नहीं करता और अनदेखा किया जाता है।
  - Allowed values: `0`, `1`, `2`, `3`, `4`

### ConversationConfig-Output

- `text_only` (boolean, optional, default: false) — इसे सक्षम करने पर ऑडियो प्रोसेस नहीं होगा और केवल टेक्स्ट का इस्तेमाल होगा। ऑडियो की कीमत से बचने के लिए इसका इस्तेमाल करें।
- `max_duration_seconds` (integer, optional, default: 600) — बातचीत की अधिकतम अवधि, सेकंड में
- `client_events` (list of enum, optional) — वे इवेंट्स जो क्लाइंट को भेजे जाएंगे
  - 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) — बातचीत के दौरान फ़ाइल इनपुट (इमेज/PDF अपलोड) के लिए कॉन्फ़िगरेशन।
- `monitoring_enabled` (boolean, optional, default: false) — WebSocket के ज़रिए बातचीत की रीयल-टाइम मॉनिटरिंग सक्षम करें
- `monitoring_events` (list of enum, optional) — वे इवेंट्स जो मॉनिटरिंग कनेक्शंस को भेजे जाएंगे।
  - 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) — फ़ोन कॉल के दौरान DTMF (कीपैड) इनपुट कलेक्शन कॉन्फ़िगर करें
- `background_sound` (BackgroundSoundConfig, optional) — बातचीत के दौरान बैकग्राउंड साउंड के लिए कॉन्फ़िगरेशन।
- `source_attribution` (boolean, optional, default: false) — सक्षम होने और नॉलेज बेस कॉन्टेंट मौजूद होने पर, LLM को यह बताने का निर्देश दिया जाता है कि उसने किन सोर्सेज़ का इस्तेमाल किया।

### PrivacyConfig-Output

- `record_voice` (boolean, optional, default: true) — कन्वर्सेशन रिकॉर्ड करना है या नहीं
- `retention_days` (integer, optional, default: -1) — बातचीत को रखने के दिनों की संख्या। -1 का मतलब है कि रखने की कोई सीमा नहीं है।
- `delete_transcript_and_pii` (boolean, optional, default: false) — क्या ट्रांसक्रिप्ट और PII हटाना है
- `delete_audio` (boolean, optional, default: false) — क्या ऑडियो हटाना है
- `apply_to_existing_conversations` (boolean, optional, default: false) — क्या मौजूदा बातचीतों पर प्राइवेसी सेटिंग लागू करनी हैं
- `zero_retention_mode` (boolean, optional, default: false) — क्या ज़ीरो रिटेंशन मोड सक्षम करना है - कोई PII डेटा स्टोर नहीं किया जाता
- `conversation_history_redaction` (ConversationHistoryRedactionConfig, optional) — बातचीत इतिहास में PII रिडैक्शन के लिए कॉन्फ़िगरेशन

### 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) — क्या अनुरोध करने वाला यूज़र एजेंट का निर्माता है
- `creator_name` (string, required) — एजेंट के निर्माता का नाम
- `creator_email` (string, required) — एजेंट के निर्माता का ईमेल
- `role` (enum, required) — रिक्वेस्ट करने वाले यूज़र की भूमिका
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `anonymous_access_level_override` (enum, optional, nullable) — अनाम यूज़र्स के लिए एक्सेस लेवल। यदि None है, तो रिसोर्स सार्वजनिक रूप से शेयर नहीं किया गया है।
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `access_source` (enum, optional, nullable) — रिक्वेस्ट करने वाले यूज़र के पास इस रिसोर्स का एक्सेस क्यों है। 'creator' = कॉलर मालिक है। 'explicit' = कॉलर (या उसके किसी वर्कस्पेस ग्रुप) को वर्कस्पेस-व्यापी everyone ग्रुप के अलावा role_to_group_ids में सूचीबद्ध किया गया है। 'workspace_default' = वर्कस्पेस-व्यापी everyone ग्रुप role_to_group_ids में सूचीबद्ध है (एडमिन समेत हर गैर-अनाम वर्कस्पेस सदस्य इस रिसोर्स को देखता है)। 'workspace_admin' = कॉलर वर्कस्पेस एडमिन है और एडमिन सीट ही एक्सेस का *एकमात्र* रास्ता है; यह उन दस्तावेज़ों के लिए आरक्षित है जिन्हें कोई और नहीं देख सकता। इससे UI बता पाता है कि एडमिन-बायपास व्यूअर को वह दस्तावेज़ क्यों दिख रहा है जो उसके साथ स्पष्ट रूप से शेयर नहीं किया गया था।
  - 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) — इस्तेमाल करने के लिए ऑडियो टैग (बेहतर प्रदर्शन के लिए 1-2 शब्द, जैसे 'happy', 'excited')
- `description` (string, optional, nullable) — इस tag को कब इस्तेमाल करना है, उसका वैकल्पिक description

### PydanticPronunciationDictionaryVersionLocator

अन्य दस्तावेज़ों के लिए किसी खास शब्दकोश और उसके संस्करण का संदर्भ देने वाला लोकेटर। यह PronunciationDictionaryVersionLocatorDBModel का pydantic संस्करण है। अन्य एजेंट डेटा मॉडल्स के साथ संगतता सुनिश्चित करने के लिए आवश्यक है।

- `pronunciation_dictionary_id` (string, required) — उच्चारण डिक्शनरी की ID
- `version_id` (string, required, nullable) — उच्चारण डिक्शनरी के वर्ज़न की ID

### EffectsSpec-Input

जनरेट की गई स्पीच पर लागू ऑडियो इफेक्ट्स: फ़िल्टर प्रीसेट, महसूस होने वाली दूरी, रीवर्ब environment, बैकग्राउंड नॉइज़ बेड और स्टीरियो पैनिंग। बिना प्रोसेस किया हुआ ऑडियो पाने के लिए हर फ़ील्ड को उसके डिफ़ॉल्ट मान पर छोड़ दें।

- `filter_preset_id` (string, optional, nullable) — वॉइस का टोन बदलने वाले फ़िल्टर प्रीसेट की ID, जैसे `phone` या `old_radio`। मान्य IDs की सूची `GET /v1/audio-effects/catalog` से प्राप्त करें।
- `distance` (double, optional, default: 0) — स्पीकर माइक्रोफ़ोन से कितना दूर सुनाई देता है: 0 (पास, अपरिवर्तित) से 1 (दूर) तक। ज़्यादा मान कम और ज़्यादा फ़्रीक्वेंसी को घटाते हैं और environment सेट होने पर संतुलन को ड्राई वॉइस से रीवर्ब की ओर ले जाते हैं।
- `environment_id` (string, optional, nullable) — वॉइस को किसी स्थान में रखने वाले रीवर्ब environment की ID, जैसे `small_room` या `hall`। मान्य IDs की सूची `GET /v1/audio-effects/catalog` से प्राप्त करें। रीवर्ब स्टीरियो में रेंडर होता है और स्पीच खत्म होने के बाद कई सेकंड तक टेल जोड़ता है।
- `background_noise_id` (string, optional, nullable) — वॉइस के नीचे लूप होने वाले बैकग्राउंड नॉइज़ बेड की ID, जैसे `cafe` या `keyboard`। मान्य IDs की सूची `GET /v1/audio-effects/catalog` से प्राप्त करें।
- `send_level` (double, optional, default: 1) — वॉइस का कितना हिस्सा रीवर्ब में भेजा जाए: 0 (कोई नहीं) से 1 (पूरा) तक। यह केवल `environment_id` सेट होने पर लागू होता है; 0 रीवर्ब बंद कर देता है।
- `pan` (double, optional, default: 0) — वॉइस की स्टीरियो स्थिति, -1 (पूरी तरह बाएं) से 0 (केंद्र) होते हुए 1 (पूरी तरह दाएं) तक। केवल वॉइस को पैन किया जाता है; रीवर्ब और बैकग्राउंड नॉइज़ केंद्र में रहते हैं।

### FileInputConfig

- `enabled` (boolean, optional, default: true) — सक्षम होने पर, जब LLM मल्टीमॉडल इनपुट को सपोर्ट करता है, तो यूज़र चैट में इमेज, PDF या टेक्स्ट फ़ाइलें अटैच कर सकते हैं।
- `max_files_in_memory` (integer, optional, default: 10) — बातचीत के दौरान मेमोरी में रखी जाने वाली सबसे हाल की files की संख्या। पुरानी files का सारांश बनाया जाता है और उनके bytes मुक्त कर दिए जाते हैं।
- `max_files_per_conversation` (integer, optional, default: 10) — एक बातचीत में यूज़र जितनी कुल फ़ाइलें अपलोड कर सकता है। हर फ़ाइल के लिए शुल्क लिया जाता है। कोई सीमा न रखने के लिए -1, या max_files_in_memory से बड़ा या उसके बराबर मान इस्तेमाल करें।

### DTMFInputConfig

फ़ोन कॉल के दौरान DTMF (कीपैड) इनपुट कलेक्शन के लिए कॉन्फ़िगरेशन।

- `dtmf_input_timeout` (double, optional, default: 2) — अतिरिक्त DTMF अंकों की प्रतीक्षा के लिए टाइमआउट, सेकंड में
- `hash_terminator` (boolean, optional, default: true) — अगर true है, तो # दबाते ही DTMF इनपुट तुरंत पूरा हो जाता है
- `redact_input` (boolean, optional, default: false) — अगर true है, तो ट्रांसक्रिप्ट, बातचीत लॉग और विश्लेषण में कॉलर की DTMF (कीपैड) एंट्रीज़ को redaction marker से बदल दिया जाएगा। एजेंट जिन अंकों को दोहराता है या किसी टूल को भेजता है, वे प्रभावित नहीं होंगे।

### BackgroundSoundConfig

- `source_type` (enum, optional, nullable) — बैकग्राउंड साउंड सोर्स का टाइप।
  - Allowed values: `preset`
- `source_id` (enum, optional, nullable) — साउंड स्रोत का पहचानकर्ता।
  - Allowed values: `office2`, `office1`, `restaurant`, `city`, `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `volume` (double, optional, default: 0.15) — बैकग्राउंड साउंड का वॉल्यूम स्तर (0.01 से 1.0)।
- `crossfade_loop` (boolean, optional, default: true) — साउंड के लूप होने पर सुनाई देने वाली पॉप आवाज़ से बचने के लिए लूप सीमा पर क्रॉसफ़ेड लागू करें।

### ConversationHistoryRedactionConfig

- `enabled` (boolean, optional, default: false) — क्या conversation history redaction सक्षम है।
- `entities` (list of enum, optional) — बातचीत के ट्रांसक्रिप्ट, ऑडियो और विश्लेषण से रिडैक्ट की जाने वाली एंटिटीज़। 'name', 'email_address' जैसे टॉप-लेवल टाइप्स या '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) — उन डेटा कलेक्शन आइटम IDs की सूची जिनके निकाले गए मान रिडैक्ट नहीं किए गए हैं। उनके कारण अब भी रिडैक्ट किए जाते हैं।

### EffectsSpec-Output

जनरेट की गई स्पीच पर लागू ऑडियो इफेक्ट्स: फ़िल्टर प्रीसेट, महसूस होने वाली दूरी, रीवर्ब environment, बैकग्राउंड नॉइज़ बेड और स्टीरियो पैनिंग। बिना प्रोसेस किया हुआ ऑडियो पाने के लिए हर फ़ील्ड को उसके डिफ़ॉल्ट मान पर छोड़ दें।

- `filter_preset_id` (string, required, nullable) — वॉइस का टोन बदलने वाले फ़िल्टर प्रीसेट की ID, जैसे `phone` या `old_radio`। मान्य IDs की सूची `GET /v1/audio-effects/catalog` से प्राप्त करें।
- `distance` (double, required, default: 0) — स्पीकर माइक्रोफ़ोन से कितना दूर सुनाई देता है: 0 (पास, अपरिवर्तित) से 1 (दूर) तक। ज़्यादा मान कम और ज़्यादा फ़्रीक्वेंसी को घटाते हैं और environment सेट होने पर संतुलन को ड्राई वॉइस से रीवर्ब की ओर ले जाते हैं।
- `environment_id` (string, required, nullable) — वॉइस को किसी स्थान में रखने वाले रीवर्ब environment की ID, जैसे `small_room` या `hall`। मान्य IDs की सूची `GET /v1/audio-effects/catalog` से प्राप्त करें। रीवर्ब स्टीरियो में रेंडर होता है और स्पीच खत्म होने के बाद कई सेकंड तक टेल जोड़ता है।
- `background_noise_id` (string, required, nullable) — वॉइस के नीचे लूप होने वाले बैकग्राउंड नॉइज़ बेड की ID, जैसे `cafe` या `keyboard`। मान्य IDs की सूची `GET /v1/audio-effects/catalog` से प्राप्त करें।
- `send_level` (double, required, default: 1) — वॉइस का कितना हिस्सा रीवर्ब में भेजा जाए: 0 (कोई नहीं) से 1 (पूरा) तक। यह केवल `environment_id` सेट होने पर लागू होता है; 0 रीवर्ब बंद कर देता है।
- `pan` (double, required, default: 0) — वॉइस की स्टीरियो स्थिति, -1 (पूरी तरह बाएं) से 0 (केंद्र) होते हुए 1 (पूरी तरह दाएं) तक। केवल वॉइस को पैन किया जाता है; रीवर्ब और बैकग्राउंड नॉइज़ केंद्र में रहते हैं।

### ValidationErrorLocItems

### ConvAISecretLocator

एजेंट के secret store में मौजूद secret को रेफ़र करने के लिए इस्तेमाल होता है।

- `secret_id` (string, required)

### ConvAIDynamicVariable

डायनामिक वेरिएबल को रेफ़र करने के लिए इस्तेमाल होता है।

- `variable_name` (string, required)

## Examples

**Request**

```json
{
  "speech_engine": {
    "ws_url": "string"
  }
}
```

**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"

payload = { "speech_engine": { "ws_url": "string" } }
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';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"speech_engine":{"ws_url":"string"}}'
};

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"

	payload := strings.NewReader("{\n  \"speech_engine\": {\n    \"ws_url\": \"string\"\n  }\n}")

	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")

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 = "{\n  \"speech_engine\": {\n    \"ws_url\": \"string\"\n  }\n}"

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")
  .header("Content-Type", "application/json")
  .body("{\n  \"speech_engine\": {\n    \"ws_url\": \"string\"\n  }\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

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

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

```csharp
using RestSharp;

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

```swift
import Foundation

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

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/speech-engine")! 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()
```