vapi_client/models/
fallback_vapi_voice.rs

1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FallbackVapiVoice {
16    /// This is the voice provider that will be used.
17    #[serde(rename = "provider")]
18    pub provider: Provider,
19    /// The voices provided by Vapi
20    #[serde(rename = "voiceId")]
21    pub voice_id: VoiceId,
22    /// This is the speed multiplier that will be used.  @default 1
23    #[serde(rename = "speed", skip_serializing_if = "Option::is_none")]
24    pub speed: Option<f64>,
25    /// This is the language code (ISO 639-1) that will be used.  @default 'en-US'
26    #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
27    pub language: Option<Language>,
28    /// This is the plan for chunking the model output before it is sent to the voice provider.
29    #[serde(rename = "chunkPlan", skip_serializing_if = "Option::is_none")]
30    pub chunk_plan: Option<models::ChunkPlan>,
31}
32
33impl FallbackVapiVoice {
34    pub fn new(provider: Provider, voice_id: VoiceId) -> FallbackVapiVoice {
35        FallbackVapiVoice {
36            provider,
37            voice_id,
38            speed: None,
39            language: None,
40            chunk_plan: None,
41        }
42    }
43}
44/// This is the voice provider that will be used.
45#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
46pub enum Provider {
47    #[serde(rename = "vapi")]
48    Vapi,
49}
50
51impl Default for Provider {
52    fn default() -> Provider {
53        Self::Vapi
54    }
55}
56/// The voices provided by Vapi
57#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum VoiceId {
59    #[serde(rename = "Elliot")]
60    Elliot,
61    #[serde(rename = "Rohan")]
62    Rohan,
63    #[serde(rename = "Lily")]
64    Lily,
65    #[serde(rename = "Savannah")]
66    Savannah,
67    #[serde(rename = "Hana")]
68    Hana,
69    #[serde(rename = "Neha")]
70    Neha,
71    #[serde(rename = "Cole")]
72    Cole,
73    #[serde(rename = "Harry")]
74    Harry,
75    #[serde(rename = "Paige")]
76    Paige,
77    #[serde(rename = "Spencer")]
78    Spencer,
79}
80
81impl Default for VoiceId {
82    fn default() -> VoiceId {
83        Self::Elliot
84    }
85}
86/// This is the language code (ISO 639-1) that will be used.  @default 'en-US'
87#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
88pub enum Language {
89    #[serde(rename = "en-US")]
90    EnUs,
91    #[serde(rename = "en-GB")]
92    EnGb,
93    #[serde(rename = "en-AU")]
94    EnAu,
95    #[serde(rename = "en-CA")]
96    EnCa,
97    #[serde(rename = "ja")]
98    Ja,
99    #[serde(rename = "zh")]
100    Zh,
101    #[serde(rename = "de")]
102    De,
103    #[serde(rename = "hi")]
104    Hi,
105    #[serde(rename = "fr-FR")]
106    FrFr,
107    #[serde(rename = "fr-CA")]
108    FrCa,
109    #[serde(rename = "ko")]
110    Ko,
111    #[serde(rename = "pt-BR")]
112    PtBr,
113    #[serde(rename = "pt-PT")]
114    PtPt,
115    #[serde(rename = "it")]
116    It,
117    #[serde(rename = "es-ES")]
118    EsEs,
119    #[serde(rename = "es-MX")]
120    EsMx,
121    #[serde(rename = "id")]
122    Id,
123    #[serde(rename = "nl")]
124    Nl,
125    #[serde(rename = "tr")]
126    Tr,
127    #[serde(rename = "fil")]
128    Fil,
129    #[serde(rename = "pl")]
130    Pl,
131    #[serde(rename = "sv")]
132    Sv,
133    #[serde(rename = "bg")]
134    Bg,
135    #[serde(rename = "ro")]
136    Ro,
137    #[serde(rename = "ar-SA")]
138    ArSa,
139    #[serde(rename = "ar-AE")]
140    ArAe,
141    #[serde(rename = "cs")]
142    Cs,
143    #[serde(rename = "el")]
144    El,
145    #[serde(rename = "fi")]
146    Fi,
147    #[serde(rename = "hr")]
148    Hr,
149    #[serde(rename = "ms")]
150    Ms,
151    #[serde(rename = "sk")]
152    Sk,
153    #[serde(rename = "da")]
154    Da,
155    #[serde(rename = "ta")]
156    Ta,
157    #[serde(rename = "uk")]
158    Uk,
159    #[serde(rename = "ru")]
160    Ru,
161    #[serde(rename = "hu")]
162    Hu,
163    #[serde(rename = "no")]
164    No,
165    #[serde(rename = "vi")]
166    Vi,
167}
168
169impl Default for Language {
170    fn default() -> Language {
171        Self::EnUs
172    }
173}
174