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