1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FallbackGladiaTranscriber {
16 #[serde(rename = "provider")]
18 pub provider: ProviderTrue,
19 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
20 pub model: Option<ModelTrue>,
21 #[serde(rename = "languageBehaviour", skip_serializing_if = "Option::is_none")]
22 pub language_behaviour: Option<LanguageBehaviourTrue>,
23 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
25 pub language: Option<LanguageTrue>,
26 #[serde(rename = "languages", skip_serializing_if = "Option::is_none")]
28 pub languages: Option<LanguagesTrue>,
29 #[serde(rename = "transcriptionHint", skip_serializing_if = "Option::is_none")]
31 pub transcription_hint: Option<String>,
32 #[serde(rename = "prosody", skip_serializing_if = "Option::is_none")]
34 pub prosody: Option<bool>,
35 #[serde(rename = "audioEnhancer", skip_serializing_if = "Option::is_none")]
37 pub audio_enhancer: Option<bool>,
38 #[serde(
40 rename = "confidenceThreshold",
41 skip_serializing_if = "Option::is_none"
42 )]
43 pub confidence_threshold: Option<f64>,
44}
45
46impl FallbackGladiaTranscriber {
47 pub fn new(provider: ProviderTrue) -> FallbackGladiaTranscriber {
48 FallbackGladiaTranscriber {
49 provider,
50 model: None,
51 language_behaviour: None,
52 language: None,
53 languages: None,
54 transcription_hint: None,
55 prosody: None,
56 audio_enhancer: None,
57 confidence_threshold: None,
58 }
59 }
60}
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
63pub enum ProviderTrue {
64 #[serde(rename = "gladia")]
65 Gladia,
66}
67
68impl Default for ProviderTrue {
69 fn default() -> ProviderTrue {
70 Self::Gladia
71 }
72}
73#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
75pub enum ModelTrue {
76 #[serde(rename = "fast")]
77 Fast,
78 #[serde(rename = "accurate")]
79 Accurate,
80 #[serde(rename = "solaria-1")]
81 Solaria1,
82}
83
84impl Default for ModelTrue {
85 fn default() -> ModelTrue {
86 Self::Fast
87 }
88}
89#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
91pub enum LanguageBehaviourTrue {
92 #[serde(rename = "manual")]
93 Manual,
94 #[serde(rename = "automatic single language")]
95 AutomaticSingleLanguage,
96 #[serde(rename = "automatic multiple languages")]
97 AutomaticMultipleLanguages,
98}
99
100impl Default for LanguageBehaviourTrue {
101 fn default() -> LanguageBehaviourTrue {
102 Self::Manual
103 }
104}
105#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
107pub enum LanguageTrue {
108 #[serde(rename = "af")]
109 Af,
110 #[serde(rename = "sq")]
111 Sq,
112 #[serde(rename = "am")]
113 Am,
114 #[serde(rename = "ar")]
115 Ar,
116 #[serde(rename = "hy")]
117 Hy,
118 #[serde(rename = "as")]
119 As,
120 #[serde(rename = "az")]
121 Az,
122 #[serde(rename = "ba")]
123 Ba,
124 #[serde(rename = "eu")]
125 Eu,
126 #[serde(rename = "be")]
127 Be,
128 #[serde(rename = "bn")]
129 Bn,
130 #[serde(rename = "bs")]
131 Bs,
132 #[serde(rename = "br")]
133 Br,
134 #[serde(rename = "bg")]
135 Bg,
136 #[serde(rename = "ca")]
137 Ca,
138 #[serde(rename = "zh")]
139 Zh,
140 #[serde(rename = "hr")]
141 Hr,
142 #[serde(rename = "cs")]
143 Cs,
144 #[serde(rename = "da")]
145 Da,
146 #[serde(rename = "nl")]
147 Nl,
148 #[serde(rename = "en")]
149 En,
150 #[serde(rename = "et")]
151 Et,
152 #[serde(rename = "fo")]
153 Fo,
154 #[serde(rename = "fi")]
155 Fi,
156 #[serde(rename = "fr")]
157 Fr,
158 #[serde(rename = "gl")]
159 Gl,
160 #[serde(rename = "ka")]
161 Ka,
162 #[serde(rename = "de")]
163 De,
164 #[serde(rename = "el")]
165 El,
166 #[serde(rename = "gu")]
167 Gu,
168 #[serde(rename = "ht")]
169 Ht,
170 #[serde(rename = "ha")]
171 Ha,
172 #[serde(rename = "haw")]
173 Haw,
174 #[serde(rename = "he")]
175 He,
176 #[serde(rename = "hi")]
177 Hi,
178 #[serde(rename = "hu")]
179 Hu,
180 #[serde(rename = "is")]
181 Is,
182 #[serde(rename = "id")]
183 Id,
184 #[serde(rename = "it")]
185 It,
186 #[serde(rename = "ja")]
187 Ja,
188 #[serde(rename = "jv")]
189 Jv,
190 #[serde(rename = "kn")]
191 Kn,
192 #[serde(rename = "kk")]
193 Kk,
194 #[serde(rename = "km")]
195 Km,
196 #[serde(rename = "ko")]
197 Ko,
198 #[serde(rename = "lo")]
199 Lo,
200 #[serde(rename = "la")]
201 La,
202 #[serde(rename = "lv")]
203 Lv,
204 #[serde(rename = "ln")]
205 Ln,
206 #[serde(rename = "lt")]
207 Lt,
208 #[serde(rename = "lb")]
209 Lb,
210 #[serde(rename = "mk")]
211 Mk,
212 #[serde(rename = "mg")]
213 Mg,
214 #[serde(rename = "ms")]
215 Ms,
216 #[serde(rename = "ml")]
217 Ml,
218 #[serde(rename = "mt")]
219 Mt,
220 #[serde(rename = "mi")]
221 Mi,
222 #[serde(rename = "mr")]
223 Mr,
224 #[serde(rename = "mn")]
225 Mn,
226 #[serde(rename = "my")]
227 My,
228 #[serde(rename = "ne")]
229 Ne,
230 #[serde(rename = "no")]
231 No,
232 #[serde(rename = "nn")]
233 Nn,
234 #[serde(rename = "oc")]
235 Oc,
236 #[serde(rename = "ps")]
237 Ps,
238 #[serde(rename = "fa")]
239 Fa,
240 #[serde(rename = "pl")]
241 Pl,
242 #[serde(rename = "pt")]
243 Pt,
244 #[serde(rename = "pa")]
245 Pa,
246 #[serde(rename = "ro")]
247 Ro,
248 #[serde(rename = "ru")]
249 Ru,
250 #[serde(rename = "sa")]
251 Sa,
252 #[serde(rename = "sr")]
253 Sr,
254 #[serde(rename = "sn")]
255 Sn,
256 #[serde(rename = "sd")]
257 Sd,
258 #[serde(rename = "si")]
259 Si,
260 #[serde(rename = "sk")]
261 Sk,
262 #[serde(rename = "sl")]
263 Sl,
264 #[serde(rename = "so")]
265 So,
266 #[serde(rename = "es")]
267 Es,
268 #[serde(rename = "su")]
269 Su,
270 #[serde(rename = "sw")]
271 Sw,
272 #[serde(rename = "sv")]
273 Sv,
274 #[serde(rename = "tl")]
275 Tl,
276 #[serde(rename = "tg")]
277 Tg,
278 #[serde(rename = "ta")]
279 Ta,
280 #[serde(rename = "tt")]
281 Tt,
282 #[serde(rename = "te")]
283 Te,
284 #[serde(rename = "th")]
285 Th,
286 #[serde(rename = "bo")]
287 Bo,
288 #[serde(rename = "tr")]
289 Tr,
290 #[serde(rename = "tk")]
291 Tk,
292 #[serde(rename = "uk")]
293 Uk,
294 #[serde(rename = "ur")]
295 Ur,
296 #[serde(rename = "uz")]
297 Uz,
298 #[serde(rename = "vi")]
299 Vi,
300 #[serde(rename = "cy")]
301 Cy,
302 #[serde(rename = "yi")]
303 Yi,
304 #[serde(rename = "yo")]
305 Yo,
306}
307
308impl Default for LanguageTrue {
309 fn default() -> LanguageTrue {
310 Self::Af
311 }
312}
313#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
315pub enum LanguagesTrue {
316 #[serde(rename = "af")]
317 Af,
318 #[serde(rename = "sq")]
319 Sq,
320 #[serde(rename = "am")]
321 Am,
322 #[serde(rename = "ar")]
323 Ar,
324 #[serde(rename = "hy")]
325 Hy,
326 #[serde(rename = "as")]
327 As,
328 #[serde(rename = "az")]
329 Az,
330 #[serde(rename = "ba")]
331 Ba,
332 #[serde(rename = "eu")]
333 Eu,
334 #[serde(rename = "be")]
335 Be,
336 #[serde(rename = "bn")]
337 Bn,
338 #[serde(rename = "bs")]
339 Bs,
340 #[serde(rename = "br")]
341 Br,
342 #[serde(rename = "bg")]
343 Bg,
344 #[serde(rename = "ca")]
345 Ca,
346 #[serde(rename = "zh")]
347 Zh,
348 #[serde(rename = "hr")]
349 Hr,
350 #[serde(rename = "cs")]
351 Cs,
352 #[serde(rename = "da")]
353 Da,
354 #[serde(rename = "nl")]
355 Nl,
356 #[serde(rename = "en")]
357 En,
358 #[serde(rename = "et")]
359 Et,
360 #[serde(rename = "fo")]
361 Fo,
362 #[serde(rename = "fi")]
363 Fi,
364 #[serde(rename = "fr")]
365 Fr,
366 #[serde(rename = "gl")]
367 Gl,
368 #[serde(rename = "ka")]
369 Ka,
370 #[serde(rename = "de")]
371 De,
372 #[serde(rename = "el")]
373 El,
374 #[serde(rename = "gu")]
375 Gu,
376 #[serde(rename = "ht")]
377 Ht,
378 #[serde(rename = "ha")]
379 Ha,
380 #[serde(rename = "haw")]
381 Haw,
382 #[serde(rename = "he")]
383 He,
384 #[serde(rename = "hi")]
385 Hi,
386 #[serde(rename = "hu")]
387 Hu,
388 #[serde(rename = "is")]
389 Is,
390 #[serde(rename = "id")]
391 Id,
392 #[serde(rename = "it")]
393 It,
394 #[serde(rename = "ja")]
395 Ja,
396 #[serde(rename = "jv")]
397 Jv,
398 #[serde(rename = "kn")]
399 Kn,
400 #[serde(rename = "kk")]
401 Kk,
402 #[serde(rename = "km")]
403 Km,
404 #[serde(rename = "ko")]
405 Ko,
406 #[serde(rename = "lo")]
407 Lo,
408 #[serde(rename = "la")]
409 La,
410 #[serde(rename = "lv")]
411 Lv,
412 #[serde(rename = "ln")]
413 Ln,
414 #[serde(rename = "lt")]
415 Lt,
416 #[serde(rename = "lb")]
417 Lb,
418 #[serde(rename = "mk")]
419 Mk,
420 #[serde(rename = "mg")]
421 Mg,
422 #[serde(rename = "ms")]
423 Ms,
424 #[serde(rename = "ml")]
425 Ml,
426 #[serde(rename = "mt")]
427 Mt,
428 #[serde(rename = "mi")]
429 Mi,
430 #[serde(rename = "mr")]
431 Mr,
432 #[serde(rename = "mn")]
433 Mn,
434 #[serde(rename = "my")]
435 My,
436 #[serde(rename = "ne")]
437 Ne,
438 #[serde(rename = "no")]
439 No,
440 #[serde(rename = "nn")]
441 Nn,
442 #[serde(rename = "oc")]
443 Oc,
444 #[serde(rename = "ps")]
445 Ps,
446 #[serde(rename = "fa")]
447 Fa,
448 #[serde(rename = "pl")]
449 Pl,
450 #[serde(rename = "pt")]
451 Pt,
452 #[serde(rename = "pa")]
453 Pa,
454 #[serde(rename = "ro")]
455 Ro,
456 #[serde(rename = "ru")]
457 Ru,
458 #[serde(rename = "sa")]
459 Sa,
460 #[serde(rename = "sr")]
461 Sr,
462 #[serde(rename = "sn")]
463 Sn,
464 #[serde(rename = "sd")]
465 Sd,
466 #[serde(rename = "si")]
467 Si,
468 #[serde(rename = "sk")]
469 Sk,
470 #[serde(rename = "sl")]
471 Sl,
472 #[serde(rename = "so")]
473 So,
474 #[serde(rename = "es")]
475 Es,
476 #[serde(rename = "su")]
477 Su,
478 #[serde(rename = "sw")]
479 Sw,
480 #[serde(rename = "sv")]
481 Sv,
482 #[serde(rename = "tl")]
483 Tl,
484 #[serde(rename = "tg")]
485 Tg,
486 #[serde(rename = "ta")]
487 Ta,
488 #[serde(rename = "tt")]
489 Tt,
490 #[serde(rename = "te")]
491 Te,
492 #[serde(rename = "th")]
493 Th,
494 #[serde(rename = "bo")]
495 Bo,
496 #[serde(rename = "tr")]
497 Tr,
498 #[serde(rename = "tk")]
499 Tk,
500 #[serde(rename = "uk")]
501 Uk,
502 #[serde(rename = "ur")]
503 Ur,
504 #[serde(rename = "uz")]
505 Uz,
506 #[serde(rename = "vi")]
507 Vi,
508 #[serde(rename = "cy")]
509 Cy,
510 #[serde(rename = "yi")]
511 Yi,
512 #[serde(rename = "yo")]
513 Yo,
514}
515
516impl Default for LanguagesTrue {
517 fn default() -> LanguagesTrue {
518 Self::Af
519 }
520}