vapi_client/models/
fallback_eleven_labs_voice.rs1use serde::{Deserialize, Serialize};
12use utoipa::OpenApi;
13
14
15use crate::models;
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, OpenApi)]
18pub struct FallbackElevenLabsVoice {
19 #[serde(rename = "provider")]
21 pub provider: Provider,
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<f64>,
45 #[serde(rename = "enableSsmlParsing", skip_serializing_if = "Option::is_none")]
47 pub enable_ssml_parsing: Option<bool>,
48 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
50 pub model: Option<Model>,
51 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
53 pub language: Option<String>,
54 #[serde(rename = "chunkPlan", skip_serializing_if = "Option::is_none")]
56 pub chunk_plan: Option<models::ChunkPlan>,
57}
58
59impl FallbackElevenLabsVoice {
60 pub fn new(
61 provider: Provider,
62 voice_id: models::ElevenLabsVoiceVoiceId,
63 ) -> FallbackElevenLabsVoice {
64 FallbackElevenLabsVoice {
65 provider,
66 voice_id,
67 stability: None,
68 similarity_boost: None,
69 style: None,
70 use_speaker_boost: None,
71 speed: None,
72 optimize_streaming_latency: None,
73 enable_ssml_parsing: None,
74 model: None,
75 language: None,
76 chunk_plan: None,
77 }
78 }
79}
80#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
82pub enum Provider {
83 #[serde(rename = "11labs")]
84 Variant11labs,
85}
86
87impl Default for Provider {
88 fn default() -> Provider {
89 Self::Variant11labs
90 }
91}
92#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
94pub enum Model {
95 #[serde(rename = "eleven_multilingual_v2")]
96 ElevenMultilingualV2,
97 #[serde(rename = "eleven_turbo_v2")]
98 ElevenTurboV2,
99 #[serde(rename = "eleven_turbo_v2_5")]
100 ElevenTurboV25,
101 #[serde(rename = "eleven_flash_v2")]
102 ElevenFlashV2,
103 #[serde(rename = "eleven_flash_v2_5")]
104 ElevenFlashV25,
105 #[serde(rename = "eleven_monolingual_v1")]
106 ElevenMonolingualV1,
107}
108
109impl Default for Model {
110 fn default() -> Model {
111 Self::ElevenMultilingualV2
112 }
113}