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