vapi_client/models/
fallback_deepgram_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 FallbackDeepgramVoice {
16    /// This is the flag to toggle voice caching for the assistant.
17    #[serde(rename = "cachingEnabled", skip_serializing_if = "Option::is_none")]
18    pub caching_enabled: Option<bool>,
19    /// This is the voice provider that will be used.
20    #[serde(rename = "provider")]
21    pub provider: ProviderTrue,
22    /// This is the provider-specific ID that will be used.
23    #[serde(rename = "voiceId")]
24    pub voice_id: VoiceIdTrue,
25    /// This is the model that will be used. Defaults to 'aura-2' when not specified.
26    #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
27    pub model: Option<ModelTrue>,
28    /// If set to true, this will add mip_opt_out=true as a query parameter of all API requests. See https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out  This will only be used if you are using your own Deepgram API key.  @default false
29    #[serde(rename = "mipOptOut", skip_serializing_if = "Option::is_none")]
30    pub mip_opt_out: Option<bool>,
31    /// This is the plan for chunking the model output before it is sent to the voice provider.
32    #[serde(rename = "chunkPlan", skip_serializing_if = "Option::is_none")]
33    pub chunk_plan: Option<models::ChunkPlan>,
34}
35
36impl FallbackDeepgramVoice {
37    pub fn new(provider: ProviderTrue, voice_id: VoiceIdTrue) -> FallbackDeepgramVoice {
38        FallbackDeepgramVoice {
39            caching_enabled: None,
40            provider,
41            voice_id,
42            model: None,
43            mip_opt_out: None,
44            chunk_plan: None,
45        }
46    }
47}
48/// This is the voice provider that will be used.
49#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
50pub enum ProviderTrue {
51    #[serde(rename = "deepgram")]
52    Deepgram,
53}
54
55impl Default for ProviderTrue {
56    fn default() -> ProviderTrue {
57        Self::Deepgram
58    }
59}
60/// This is the provider-specific ID that will be used.
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
62pub enum VoiceIdTrue {
63    #[serde(rename = "asteria")]
64    Asteria,
65    #[serde(rename = "luna")]
66    Luna,
67    #[serde(rename = "stella")]
68    Stella,
69    #[serde(rename = "athena")]
70    Athena,
71    #[serde(rename = "hera")]
72    Hera,
73    #[serde(rename = "orion")]
74    Orion,
75    #[serde(rename = "arcas")]
76    Arcas,
77    #[serde(rename = "perseus")]
78    Perseus,
79    #[serde(rename = "angus")]
80    Angus,
81    #[serde(rename = "orpheus")]
82    Orpheus,
83    #[serde(rename = "helios")]
84    Helios,
85    #[serde(rename = "zeus")]
86    Zeus,
87    #[serde(rename = "thalia")]
88    Thalia,
89    #[serde(rename = "andromeda")]
90    Andromeda,
91    #[serde(rename = "helena")]
92    Helena,
93    #[serde(rename = "apollo")]
94    Apollo,
95    #[serde(rename = "arcas")]
96    Arcas2,
97    #[serde(rename = "aries")]
98    Aries,
99    #[serde(rename = "amalthea")]
100    Amalthea,
101    #[serde(rename = "asteria")]
102    Asteria2,
103    #[serde(rename = "athena")]
104    Athena2,
105    #[serde(rename = "atlas")]
106    Atlas,
107    #[serde(rename = "aurora")]
108    Aurora,
109    #[serde(rename = "callista")]
110    Callista,
111    #[serde(rename = "cora")]
112    Cora,
113    #[serde(rename = "cordelia")]
114    Cordelia,
115    #[serde(rename = "delia")]
116    Delia,
117    #[serde(rename = "draco")]
118    Draco,
119    #[serde(rename = "electra")]
120    Electra,
121    #[serde(rename = "harmonia")]
122    Harmonia,
123    #[serde(rename = "hera")]
124    Hera2,
125    #[serde(rename = "hermes")]
126    Hermes,
127    #[serde(rename = "hyperion")]
128    Hyperion,
129    #[serde(rename = "iris")]
130    Iris,
131    #[serde(rename = "janus")]
132    Janus,
133    #[serde(rename = "juno")]
134    Juno,
135    #[serde(rename = "jupiter")]
136    Jupiter,
137    #[serde(rename = "luna")]
138    Luna2,
139    #[serde(rename = "mars")]
140    Mars,
141    #[serde(rename = "minerva")]
142    Minerva,
143    #[serde(rename = "neptune")]
144    Neptune,
145    #[serde(rename = "odysseus")]
146    Odysseus,
147    #[serde(rename = "ophelia")]
148    Ophelia,
149    #[serde(rename = "orion")]
150    Orion2,
151    #[serde(rename = "orpheus")]
152    Orpheus2,
153    #[serde(rename = "pandora")]
154    Pandora,
155    #[serde(rename = "phoebe")]
156    Phoebe,
157    #[serde(rename = "pluto")]
158    Pluto,
159    #[serde(rename = "saturn")]
160    Saturn,
161    #[serde(rename = "selene")]
162    Selene,
163    #[serde(rename = "theia")]
164    Theia,
165    #[serde(rename = "vesta")]
166    Vesta,
167    #[serde(rename = "zeus")]
168    Zeus2,
169}
170
171impl Default for VoiceIdTrue {
172    fn default() -> VoiceIdTrue {
173        Self::Asteria
174    }
175}
176/// This is the model that will be used. Defaults to 'aura-2' when not specified.
177#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
178pub enum ModelTrue {
179    #[serde(rename = "aura")]
180    Aura,
181    #[serde(rename = "aura-2")]
182    Aura2,
183}
184
185impl Default for ModelTrue {
186    fn default() -> ModelTrue {
187        Self::Aura
188    }
189}