vapi_client/models/
eleven_labs_voice.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ElevenLabsVoice {
16 #[serde(rename = "cachingEnabled", skip_serializing_if = "Option::is_none")]
18 pub caching_enabled: Option<bool>,
19 #[serde(rename = "provider")]
21 pub provider: ProviderTrue,
22 #[serde(rename = "voiceId")]
23 pub voice_id: models::ElevenLabsVoiceVoiceId,
24 #[serde(rename = "stability", skip_serializing_if = "Option::is_none")]
26 pub stability: Option<f64>,
27 #[serde(rename = "similarityBoost", skip_serializing_if = "Option::is_none")]
29 pub similarity_boost: Option<f64>,
30 #[serde(rename = "style", skip_serializing_if = "Option::is_none")]
32 pub style: Option<f64>,
33 #[serde(rename = "useSpeakerBoost", skip_serializing_if = "Option::is_none")]
35 pub use_speaker_boost: Option<bool>,
36 #[serde(rename = "speed", skip_serializing_if = "Option::is_none")]
38 pub speed: Option<f64>,
39 #[serde(
41 rename = "optimizeStreamingLatency",
42 skip_serializing_if = "Option::is_none"
43 )]
44 pub optimize_streaming_latency: Option<i64>,
45 #[serde(rename = "enableSsmlParsing", skip_serializing_if = "Option::is_none")]
47 pub enable_ssml_parsing: Option<bool>,
48 #[serde(rename = "autoMode", skip_serializing_if = "Option::is_none")]
50 pub auto_mode: Option<bool>,
51 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
53 pub model: Option<ModelTrue>,
54 #[serde(rename = "chunkPlan", skip_serializing_if = "Option::is_none")]
56 pub chunk_plan: Option<models::ChunkPlan>,
57 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
59 pub language: Option<String>,
60 #[serde(rename = "fallbackPlan", skip_serializing_if = "Option::is_none")]
62 pub fallback_plan: Option<models::FallbackPlan>,
63}
64
65impl ElevenLabsVoice {
66 pub fn new(
67 provider: ProviderTrue,
68 voice_id: models::ElevenLabsVoiceVoiceId,
69 ) -> ElevenLabsVoice {
70 ElevenLabsVoice {
71 caching_enabled: None,
72 provider,
73 voice_id,
74 stability: None,
75 similarity_boost: None,
76 style: None,
77 use_speaker_boost: None,
78 speed: None,
79 optimize_streaming_latency: None,
80 enable_ssml_parsing: None,
81 auto_mode: None,
82 model: None,
83 chunk_plan: None,
84 language: None,
85 fallback_plan: None,
86 }
87 }
88}
89#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
91pub enum ProviderTrue {
92 #[serde(rename = "11labs")]
93 Variant11labs,
94}
95
96impl Default for ProviderTrue {
97 fn default() -> ProviderTrue {
98 Self::Variant11labs
99 }
100}
101#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
103pub enum ModelTrue {
104 #[serde(rename = "eleven_multilingual_v2")]
105 ElevenMultilingualV2,
106 #[serde(rename = "eleven_turbo_v2")]
107 ElevenTurboV2,
108 #[serde(rename = "eleven_turbo_v2_5")]
109 ElevenTurboV25,
110 #[serde(rename = "eleven_flash_v2")]
111 ElevenFlashV2,
112 #[serde(rename = "eleven_flash_v2_5")]
113 ElevenFlashV25,
114 #[serde(rename = "eleven_monolingual_v1")]
115 ElevenMonolingualV1,
116}
117
118impl Default for ModelTrue {
119 fn default() -> ModelTrue {
120 Self::ElevenMultilingualV2
121 }
122}