1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FallbackTalkscriberTranscriber {
16 #[serde(rename = "provider")]
18 pub provider: ProviderTrue,
19 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
21 pub model: Option<ModelTrue>,
22 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
24 pub language: Option<LanguageTrue>,
25}
26
27impl FallbackTalkscriberTranscriber {
28 pub fn new(provider: ProviderTrue) -> FallbackTalkscriberTranscriber {
29 FallbackTalkscriberTranscriber {
30 provider,
31 model: None,
32 language: None,
33 }
34 }
35}
36#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
38pub enum ProviderTrue {
39 #[serde(rename = "talkscriber")]
40 Talkscriber,
41}
42
43impl Default for ProviderTrue {
44 fn default() -> ProviderTrue {
45 Self::Talkscriber
46 }
47}
48#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
50pub enum ModelTrue {
51 #[serde(rename = "whisper")]
52 Whisper,
53}
54
55impl Default for ModelTrue {
56 fn default() -> ModelTrue {
57 Self::Whisper
58 }
59}
60#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
62pub enum LanguageTrue {
63 #[serde(rename = "en")]
64 En,
65 #[serde(rename = "zh")]
66 Zh,
67 #[serde(rename = "de")]
68 De,
69 #[serde(rename = "es")]
70 Es,
71 #[serde(rename = "ru")]
72 Ru,
73 #[serde(rename = "ko")]
74 Ko,
75 #[serde(rename = "fr")]
76 Fr,
77 #[serde(rename = "ja")]
78 Ja,
79 #[serde(rename = "pt")]
80 Pt,
81 #[serde(rename = "tr")]
82 Tr,
83 #[serde(rename = "pl")]
84 Pl,
85 #[serde(rename = "ca")]
86 Ca,
87 #[serde(rename = "nl")]
88 Nl,
89 #[serde(rename = "ar")]
90 Ar,
91 #[serde(rename = "sv")]
92 Sv,
93 #[serde(rename = "it")]
94 It,
95 #[serde(rename = "id")]
96 Id,
97 #[serde(rename = "hi")]
98 Hi,
99 #[serde(rename = "fi")]
100 Fi,
101 #[serde(rename = "vi")]
102 Vi,
103 #[serde(rename = "he")]
104 He,
105 #[serde(rename = "uk")]
106 Uk,
107 #[serde(rename = "el")]
108 El,
109 #[serde(rename = "ms")]
110 Ms,
111 #[serde(rename = "cs")]
112 Cs,
113 #[serde(rename = "ro")]
114 Ro,
115 #[serde(rename = "da")]
116 Da,
117 #[serde(rename = "hu")]
118 Hu,
119 #[serde(rename = "ta")]
120 Ta,
121 #[serde(rename = "no")]
122 No,
123 #[serde(rename = "th")]
124 Th,
125 #[serde(rename = "ur")]
126 Ur,
127 #[serde(rename = "hr")]
128 Hr,
129 #[serde(rename = "bg")]
130 Bg,
131 #[serde(rename = "lt")]
132 Lt,
133 #[serde(rename = "la")]
134 La,
135 #[serde(rename = "mi")]
136 Mi,
137 #[serde(rename = "ml")]
138 Ml,
139 #[serde(rename = "cy")]
140 Cy,
141 #[serde(rename = "sk")]
142 Sk,
143 #[serde(rename = "te")]
144 Te,
145 #[serde(rename = "fa")]
146 Fa,
147 #[serde(rename = "lv")]
148 Lv,
149 #[serde(rename = "bn")]
150 Bn,
151 #[serde(rename = "sr")]
152 Sr,
153 #[serde(rename = "az")]
154 Az,
155 #[serde(rename = "sl")]
156 Sl,
157 #[serde(rename = "kn")]
158 Kn,
159 #[serde(rename = "et")]
160 Et,
161 #[serde(rename = "mk")]
162 Mk,
163 #[serde(rename = "br")]
164 Br,
165 #[serde(rename = "eu")]
166 Eu,
167 #[serde(rename = "is")]
168 Is,
169 #[serde(rename = "hy")]
170 Hy,
171 #[serde(rename = "ne")]
172 Ne,
173 #[serde(rename = "mn")]
174 Mn,
175 #[serde(rename = "bs")]
176 Bs,
177 #[serde(rename = "kk")]
178 Kk,
179 #[serde(rename = "sq")]
180 Sq,
181 #[serde(rename = "sw")]
182 Sw,
183 #[serde(rename = "gl")]
184 Gl,
185 #[serde(rename = "mr")]
186 Mr,
187 #[serde(rename = "pa")]
188 Pa,
189 #[serde(rename = "si")]
190 Si,
191 #[serde(rename = "km")]
192 Km,
193 #[serde(rename = "sn")]
194 Sn,
195 #[serde(rename = "yo")]
196 Yo,
197 #[serde(rename = "so")]
198 So,
199 #[serde(rename = "af")]
200 Af,
201 #[serde(rename = "oc")]
202 Oc,
203 #[serde(rename = "ka")]
204 Ka,
205 #[serde(rename = "be")]
206 Be,
207 #[serde(rename = "tg")]
208 Tg,
209 #[serde(rename = "sd")]
210 Sd,
211 #[serde(rename = "gu")]
212 Gu,
213 #[serde(rename = "am")]
214 Am,
215 #[serde(rename = "yi")]
216 Yi,
217 #[serde(rename = "lo")]
218 Lo,
219 #[serde(rename = "uz")]
220 Uz,
221 #[serde(rename = "fo")]
222 Fo,
223 #[serde(rename = "ht")]
224 Ht,
225 #[serde(rename = "ps")]
226 Ps,
227 #[serde(rename = "tk")]
228 Tk,
229 #[serde(rename = "nn")]
230 Nn,
231 #[serde(rename = "mt")]
232 Mt,
233 #[serde(rename = "sa")]
234 Sa,
235 #[serde(rename = "lb")]
236 Lb,
237 #[serde(rename = "my")]
238 My,
239 #[serde(rename = "bo")]
240 Bo,
241 #[serde(rename = "tl")]
242 Tl,
243 #[serde(rename = "mg")]
244 Mg,
245 #[serde(rename = "as")]
246 As,
247 #[serde(rename = "tt")]
248 Tt,
249 #[serde(rename = "haw")]
250 Haw,
251 #[serde(rename = "ln")]
252 Ln,
253 #[serde(rename = "ha")]
254 Ha,
255 #[serde(rename = "ba")]
256 Ba,
257 #[serde(rename = "jw")]
258 Jw,
259 #[serde(rename = "su")]
260 Su,
261 #[serde(rename = "yue")]
262 Yue,
263}
264
265impl Default for LanguageTrue {
266 fn default() -> LanguageTrue {
267 Self::En
268 }
269}