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