1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FallbackCartesiaTranscriber {
16 #[serde(rename = "provider")]
17 pub provider: ProviderTrue,
18 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
19 pub model: Option<ModelTrue>,
20 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
21 pub language: Option<LanguageTrue>,
22}
23
24impl FallbackCartesiaTranscriber {
25 pub fn new(provider: ProviderTrue) -> FallbackCartesiaTranscriber {
26 FallbackCartesiaTranscriber {
27 provider,
28 model: None,
29 language: None,
30 }
31 }
32}
33#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
35pub enum ProviderTrue {
36 #[serde(rename = "cartesia")]
37 Cartesia,
38}
39
40impl Default for ProviderTrue {
41 fn default() -> ProviderTrue {
42 Self::Cartesia
43 }
44}
45#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
47pub enum ModelTrue {
48 #[serde(rename = "ink-whisper")]
49 InkWhisper,
50}
51
52impl Default for ModelTrue {
53 fn default() -> ModelTrue {
54 Self::InkWhisper
55 }
56}
57#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
59pub enum LanguageTrue {
60 #[serde(rename = "aa")]
61 Aa,
62 #[serde(rename = "ab")]
63 Ab,
64 #[serde(rename = "ae")]
65 Ae,
66 #[serde(rename = "af")]
67 Af,
68 #[serde(rename = "ak")]
69 Ak,
70 #[serde(rename = "am")]
71 Am,
72 #[serde(rename = "an")]
73 An,
74 #[serde(rename = "ar")]
75 Ar,
76 #[serde(rename = "as")]
77 As,
78 #[serde(rename = "av")]
79 Av,
80 #[serde(rename = "ay")]
81 Ay,
82 #[serde(rename = "az")]
83 Az,
84 #[serde(rename = "ba")]
85 Ba,
86 #[serde(rename = "be")]
87 Be,
88 #[serde(rename = "bg")]
89 Bg,
90 #[serde(rename = "bh")]
91 Bh,
92 #[serde(rename = "bi")]
93 Bi,
94 #[serde(rename = "bm")]
95 Bm,
96 #[serde(rename = "bn")]
97 Bn,
98 #[serde(rename = "bo")]
99 Bo,
100 #[serde(rename = "br")]
101 Br,
102 #[serde(rename = "bs")]
103 Bs,
104 #[serde(rename = "ca")]
105 Ca,
106 #[serde(rename = "ce")]
107 Ce,
108 #[serde(rename = "ch")]
109 Ch,
110 #[serde(rename = "co")]
111 Co,
112 #[serde(rename = "cr")]
113 Cr,
114 #[serde(rename = "cs")]
115 Cs,
116 #[serde(rename = "cu")]
117 Cu,
118 #[serde(rename = "cv")]
119 Cv,
120 #[serde(rename = "cy")]
121 Cy,
122 #[serde(rename = "da")]
123 Da,
124 #[serde(rename = "de")]
125 De,
126 #[serde(rename = "dv")]
127 Dv,
128 #[serde(rename = "dz")]
129 Dz,
130 #[serde(rename = "ee")]
131 Ee,
132 #[serde(rename = "el")]
133 El,
134 #[serde(rename = "en")]
135 En,
136 #[serde(rename = "eo")]
137 Eo,
138 #[serde(rename = "es")]
139 Es,
140 #[serde(rename = "et")]
141 Et,
142 #[serde(rename = "eu")]
143 Eu,
144 #[serde(rename = "fa")]
145 Fa,
146 #[serde(rename = "ff")]
147 Ff,
148 #[serde(rename = "fi")]
149 Fi,
150 #[serde(rename = "fj")]
151 Fj,
152 #[serde(rename = "fo")]
153 Fo,
154 #[serde(rename = "fr")]
155 Fr,
156 #[serde(rename = "fy")]
157 Fy,
158 #[serde(rename = "ga")]
159 Ga,
160 #[serde(rename = "gd")]
161 Gd,
162 #[serde(rename = "gl")]
163 Gl,
164 #[serde(rename = "gn")]
165 Gn,
166 #[serde(rename = "gu")]
167 Gu,
168 #[serde(rename = "gv")]
169 Gv,
170 #[serde(rename = "ha")]
171 Ha,
172 #[serde(rename = "he")]
173 He,
174 #[serde(rename = "hi")]
175 Hi,
176 #[serde(rename = "ho")]
177 Ho,
178 #[serde(rename = "hr")]
179 Hr,
180 #[serde(rename = "ht")]
181 Ht,
182 #[serde(rename = "hu")]
183 Hu,
184 #[serde(rename = "hy")]
185 Hy,
186 #[serde(rename = "hz")]
187 Hz,
188 #[serde(rename = "ia")]
189 Ia,
190 #[serde(rename = "id")]
191 Id,
192 #[serde(rename = "ie")]
193 Ie,
194 #[serde(rename = "ig")]
195 Ig,
196 #[serde(rename = "ii")]
197 Ii,
198 #[serde(rename = "ik")]
199 Ik,
200 #[serde(rename = "io")]
201 Io,
202 #[serde(rename = "is")]
203 Is,
204 #[serde(rename = "it")]
205 It,
206 #[serde(rename = "iu")]
207 Iu,
208 #[serde(rename = "ja")]
209 Ja,
210 #[serde(rename = "jv")]
211 Jv,
212 #[serde(rename = "ka")]
213 Ka,
214 #[serde(rename = "kg")]
215 Kg,
216 #[serde(rename = "ki")]
217 Ki,
218 #[serde(rename = "kj")]
219 Kj,
220 #[serde(rename = "kk")]
221 Kk,
222 #[serde(rename = "kl")]
223 Kl,
224 #[serde(rename = "km")]
225 Km,
226 #[serde(rename = "kn")]
227 Kn,
228 #[serde(rename = "ko")]
229 Ko,
230 #[serde(rename = "kr")]
231 Kr,
232 #[serde(rename = "ks")]
233 Ks,
234 #[serde(rename = "ku")]
235 Ku,
236 #[serde(rename = "kv")]
237 Kv,
238 #[serde(rename = "kw")]
239 Kw,
240 #[serde(rename = "ky")]
241 Ky,
242 #[serde(rename = "la")]
243 La,
244 #[serde(rename = "lb")]
245 Lb,
246 #[serde(rename = "lg")]
247 Lg,
248 #[serde(rename = "li")]
249 Li,
250 #[serde(rename = "ln")]
251 Ln,
252 #[serde(rename = "lo")]
253 Lo,
254 #[serde(rename = "lt")]
255 Lt,
256 #[serde(rename = "lu")]
257 Lu,
258 #[serde(rename = "lv")]
259 Lv,
260 #[serde(rename = "mg")]
261 Mg,
262 #[serde(rename = "mh")]
263 Mh,
264 #[serde(rename = "mi")]
265 Mi,
266 #[serde(rename = "mk")]
267 Mk,
268 #[serde(rename = "ml")]
269 Ml,
270 #[serde(rename = "mn")]
271 Mn,
272 #[serde(rename = "mr")]
273 Mr,
274 #[serde(rename = "ms")]
275 Ms,
276 #[serde(rename = "mt")]
277 Mt,
278 #[serde(rename = "my")]
279 My,
280 #[serde(rename = "na")]
281 Na,
282 #[serde(rename = "nb")]
283 Nb,
284 #[serde(rename = "nd")]
285 Nd,
286 #[serde(rename = "ne")]
287 Ne,
288 #[serde(rename = "ng")]
289 Ng,
290 #[serde(rename = "nl")]
291 Nl,
292 #[serde(rename = "nn")]
293 Nn,
294 #[serde(rename = "no")]
295 No,
296 #[serde(rename = "nr")]
297 Nr,
298 #[serde(rename = "nv")]
299 Nv,
300 #[serde(rename = "ny")]
301 Ny,
302 #[serde(rename = "oc")]
303 Oc,
304 #[serde(rename = "oj")]
305 Oj,
306 #[serde(rename = "om")]
307 Om,
308 #[serde(rename = "or")]
309 Or,
310 #[serde(rename = "os")]
311 Os,
312 #[serde(rename = "pa")]
313 Pa,
314 #[serde(rename = "pi")]
315 Pi,
316 #[serde(rename = "pl")]
317 Pl,
318 #[serde(rename = "ps")]
319 Ps,
320 #[serde(rename = "pt")]
321 Pt,
322 #[serde(rename = "qu")]
323 Qu,
324 #[serde(rename = "rm")]
325 Rm,
326 #[serde(rename = "rn")]
327 Rn,
328 #[serde(rename = "ro")]
329 Ro,
330 #[serde(rename = "ru")]
331 Ru,
332 #[serde(rename = "rw")]
333 Rw,
334 #[serde(rename = "sa")]
335 Sa,
336 #[serde(rename = "sc")]
337 Sc,
338 #[serde(rename = "sd")]
339 Sd,
340 #[serde(rename = "se")]
341 Se,
342 #[serde(rename = "sg")]
343 Sg,
344 #[serde(rename = "si")]
345 Si,
346 #[serde(rename = "sk")]
347 Sk,
348 #[serde(rename = "sl")]
349 Sl,
350 #[serde(rename = "sm")]
351 Sm,
352 #[serde(rename = "sn")]
353 Sn,
354 #[serde(rename = "so")]
355 So,
356 #[serde(rename = "sq")]
357 Sq,
358 #[serde(rename = "sr")]
359 Sr,
360 #[serde(rename = "ss")]
361 Ss,
362 #[serde(rename = "st")]
363 St,
364 #[serde(rename = "su")]
365 Su,
366 #[serde(rename = "sv")]
367 Sv,
368 #[serde(rename = "sw")]
369 Sw,
370 #[serde(rename = "ta")]
371 Ta,
372 #[serde(rename = "te")]
373 Te,
374 #[serde(rename = "tg")]
375 Tg,
376 #[serde(rename = "th")]
377 Th,
378 #[serde(rename = "ti")]
379 Ti,
380 #[serde(rename = "tk")]
381 Tk,
382 #[serde(rename = "tl")]
383 Tl,
384 #[serde(rename = "tn")]
385 Tn,
386 #[serde(rename = "to")]
387 To,
388 #[serde(rename = "tr")]
389 Tr,
390 #[serde(rename = "ts")]
391 Ts,
392 #[serde(rename = "tt")]
393 Tt,
394 #[serde(rename = "tw")]
395 Tw,
396 #[serde(rename = "ty")]
397 Ty,
398 #[serde(rename = "ug")]
399 Ug,
400 #[serde(rename = "uk")]
401 Uk,
402 #[serde(rename = "ur")]
403 Ur,
404 #[serde(rename = "uz")]
405 Uz,
406 #[serde(rename = "ve")]
407 Ve,
408 #[serde(rename = "vi")]
409 Vi,
410 #[serde(rename = "vo")]
411 Vo,
412 #[serde(rename = "wa")]
413 Wa,
414 #[serde(rename = "wo")]
415 Wo,
416 #[serde(rename = "xh")]
417 Xh,
418 #[serde(rename = "yi")]
419 Yi,
420 #[serde(rename = "yue")]
421 Yue,
422 #[serde(rename = "yo")]
423 Yo,
424 #[serde(rename = "za")]
425 Za,
426 #[serde(rename = "zh")]
427 Zh,
428 #[serde(rename = "zu")]
429 Zu,
430}
431
432impl Default for LanguageTrue {
433 fn default() -> LanguageTrue {
434 Self::Aa
435 }
436}