vapi_client/models/
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 GladiaTranscriber {
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    /// This is the plan for voice provider fallbacks in the event that the primary voice provider fails.
45    #[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/// This is the transcription provider that will be used.
66#[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///
78#[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///
94#[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/// Defines the language to use for the transcription. Required when languageBehaviour is 'manual'.
110#[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/// Defines the languages to use for the transcription. Required when languageBehaviour is 'manual'.
318#[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}