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