vapi_client/models/
fallback_gladia_transcriber.rs

1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FallbackGladiaTranscriber {
16    /// This is the transcription provider that will be used.
17    #[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    /// Defines the language to use for the transcription. Required when languageBehaviour is 'manual'.
24    #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
25    pub language: Option<LanguageTrue>,
26    /// Defines the languages to use for the transcription. Required when languageBehaviour is 'manual'.
27    #[serde(rename = "languages", skip_serializing_if = "Option::is_none")]
28    pub languages: Option<LanguagesTrue>,
29    /// Provides a custom vocabulary to the model to improve accuracy of transcribing context specific words, technical terms, names, etc. If empty, this argument is ignored. ⚠️ Warning ⚠️: Please be aware that the transcription_hint field has a character limit of 600. If you provide a transcription_hint longer than 600 characters, it will be automatically truncated to meet this limit.
30    #[serde(rename = "transcriptionHint", skip_serializing_if = "Option::is_none")]
31    pub transcription_hint: Option<String>,
32    /// If prosody is true, you will get a transcription that can contain prosodies i.e. (laugh) (giggles) (malefic laugh) (toss) (music)… Default value is false.
33    #[serde(rename = "prosody", skip_serializing_if = "Option::is_none")]
34    pub prosody: Option<bool>,
35    /// If true, audio will be pre-processed to improve accuracy but latency will increase. Default value is false.
36    #[serde(rename = "audioEnhancer", skip_serializing_if = "Option::is_none")]
37    pub audio_enhancer: Option<bool>,
38    /// Transcripts below this confidence threshold will be discarded.  @default 0.4
39    #[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/// This is the transcription provider that will be used.
62#[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///
74#[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///
90#[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/// Defines the language to use for the transcription. Required when languageBehaviour is 'manual'.
106#[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/// Defines the languages to use for the transcription. Required when languageBehaviour is 'manual'.
314#[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}