1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FallbackDeepgramVoice {
16 #[serde(rename = "cachingEnabled", skip_serializing_if = "Option::is_none")]
18 pub caching_enabled: Option<bool>,
19 #[serde(rename = "provider")]
21 pub provider: ProviderTrue,
22 #[serde(rename = "voiceId")]
24 pub voice_id: VoiceIdTrue,
25 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
27 pub model: Option<ModelTrue>,
28 #[serde(rename = "mipOptOut", skip_serializing_if = "Option::is_none")]
30 pub mip_opt_out: Option<bool>,
31 #[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#[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#[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#[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}