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: Box<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 = "model", skip_serializing_if = "Option::is_none")]
44 pub model: Option<Model>,
45 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
47 pub language: Option<String>,
48 #[serde(rename = "chunkPlan", skip_serializing_if = "Option::is_none")]
50 pub chunk_plan: Option<Box<models::ChunkPlan>>,
51}
52
53impl FallbackElevenLabsVoice {
54 pub fn new(provider: Provider, voice_id: models::ElevenLabsVoiceVoiceId) -> FallbackElevenLabsVoice {
55 FallbackElevenLabsVoice {
56 provider,
57 voice_id: Box::new(voice_id),
58 stability: None,
59 similarity_boost: None,
60 style: None,
61 use_speaker_boost: None,
62 speed: None,
63 optimize_streaming_latency: None,
64 enable_ssml_parsing: None,
65 model: None,
66 language: None,
67 chunk_plan: None,
68 }
69 }
70}
71#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
73pub enum Provider {
74 #[serde(rename = "11labs")]
75 Variant11labs,
76}
77
78impl Default for Provider {
79 fn default() -> Provider {
80 Self::Variant11labs
81 }
82}
83#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
85pub enum Model {
86 #[serde(rename = "eleven_multilingual_v2")]
87 ElevenMultilingualV2,
88 #[serde(rename = "eleven_turbo_v2")]
89 ElevenTurboV2,
90 #[serde(rename = "eleven_turbo_v2_5")]
91 ElevenTurboV25,
92 #[serde(rename = "eleven_flash_v2")]
93 ElevenFlashV2,
94 #[serde(rename = "eleven_flash_v2_5")]
95 ElevenFlashV25,
96 #[serde(rename = "eleven_monolingual_v1")]
97 ElevenMonolingualV1,
98}
99
100impl Default for Model {
101 fn default() -> Model {
102 Self::ElevenMultilingualV2
103 }
104}
105