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: Provider,
19    #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
20    pub model: Option<models::GladiaTranscriberModel>,
21    #[serde(rename = "languageBehaviour", skip_serializing_if = "Option::is_none")]
22    pub language_behaviour: Option<models::GladiaTranscriberLanguageBehaviour>,
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<Language>,
26    /// 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.
27    #[serde(rename = "transcriptionHint", skip_serializing_if = "Option::is_none")]
28    pub transcription_hint: Option<String>,
29    /// 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.
30    #[serde(rename = "prosody", skip_serializing_if = "Option::is_none")]
31    pub prosody: Option<bool>,
32    /// If true, audio will be pre-processed to improve accuracy but latency will increase. Default value is false.
33    #[serde(rename = "audioEnhancer", skip_serializing_if = "Option::is_none")]
34    pub audio_enhancer: Option<bool>,
35    /// Transcripts below this confidence threshold will be discarded.  @default 0.4
36    #[serde(rename = "confidenceThreshold", skip_serializing_if = "Option::is_none")]
37    pub confidence_threshold: Option<f64>,
38}
39
40impl FallbackGladiaTranscriber {
41    pub fn new(provider: Provider) -> FallbackGladiaTranscriber {
42        FallbackGladiaTranscriber {
43            provider,
44            model: None,
45            language_behaviour: None,
46            language: None,
47            transcription_hint: None,
48            prosody: None,
49            audio_enhancer: None,
50            confidence_threshold: None,
51        }
52    }
53}
54/// This is the transcription provider that will be used.
55#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
56pub enum Provider {
57    #[serde(rename = "gladia")]
58    Gladia,
59}
60
61impl Default for Provider {
62    fn default() -> Provider {
63        Self::Gladia
64    }
65}
66/// Defines the language to use for the transcription. Required when languageBehaviour is 'manual'.
67#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
68pub enum Language {
69    #[serde(rename = "af")]
70    Af,
71    #[serde(rename = "sq")]
72    Sq,
73    #[serde(rename = "am")]
74    Am,
75    #[serde(rename = "ar")]
76    Ar,
77    #[serde(rename = "hy")]
78    Hy,
79    #[serde(rename = "as")]
80    As,
81    #[serde(rename = "az")]
82    Az,
83    #[serde(rename = "ba")]
84    Ba,
85    #[serde(rename = "eu")]
86    Eu,
87    #[serde(rename = "be")]
88    Be,
89    #[serde(rename = "bn")]
90    Bn,
91    #[serde(rename = "bs")]
92    Bs,
93    #[serde(rename = "br")]
94    Br,
95    #[serde(rename = "bg")]
96    Bg,
97    #[serde(rename = "ca")]
98    Ca,
99    #[serde(rename = "zh")]
100    Zh,
101    #[serde(rename = "hr")]
102    Hr,
103    #[serde(rename = "cs")]
104    Cs,
105    #[serde(rename = "da")]
106    Da,
107    #[serde(rename = "nl")]
108    Nl,
109    #[serde(rename = "en")]
110    En,
111    #[serde(rename = "et")]
112    Et,
113    #[serde(rename = "fo")]
114    Fo,
115    #[serde(rename = "fi")]
116    Fi,
117    #[serde(rename = "fr")]
118    Fr,
119    #[serde(rename = "gl")]
120    Gl,
121    #[serde(rename = "ka")]
122    Ka,
123    #[serde(rename = "de")]
124    De,
125    #[serde(rename = "el")]
126    El,
127    #[serde(rename = "gu")]
128    Gu,
129    #[serde(rename = "ht")]
130    Ht,
131    #[serde(rename = "ha")]
132    Ha,
133    #[serde(rename = "haw")]
134    Haw,
135    #[serde(rename = "he")]
136    He,
137    #[serde(rename = "hi")]
138    Hi,
139    #[serde(rename = "hu")]
140    Hu,
141    #[serde(rename = "is")]
142    Is,
143    #[serde(rename = "id")]
144    Id,
145    #[serde(rename = "it")]
146    It,
147    #[serde(rename = "ja")]
148    Ja,
149    #[serde(rename = "jv")]
150    Jv,
151    #[serde(rename = "kn")]
152    Kn,
153    #[serde(rename = "kk")]
154    Kk,
155    #[serde(rename = "km")]
156    Km,
157    #[serde(rename = "ko")]
158    Ko,
159    #[serde(rename = "lo")]
160    Lo,
161    #[serde(rename = "la")]
162    La,
163    #[serde(rename = "lv")]
164    Lv,
165    #[serde(rename = "ln")]
166    Ln,
167    #[serde(rename = "lt")]
168    Lt,
169    #[serde(rename = "lb")]
170    Lb,
171    #[serde(rename = "mk")]
172    Mk,
173    #[serde(rename = "mg")]
174    Mg,
175    #[serde(rename = "ms")]
176    Ms,
177    #[serde(rename = "ml")]
178    Ml,
179    #[serde(rename = "mt")]
180    Mt,
181    #[serde(rename = "mi")]
182    Mi,
183    #[serde(rename = "mr")]
184    Mr,
185    #[serde(rename = "mn")]
186    Mn,
187    #[serde(rename = "my")]
188    My,
189    #[serde(rename = "ne")]
190    Ne,
191    #[serde(rename = "no")]
192    No,
193    #[serde(rename = "nn")]
194    Nn,
195    #[serde(rename = "oc")]
196    Oc,
197    #[serde(rename = "ps")]
198    Ps,
199    #[serde(rename = "fa")]
200    Fa,
201    #[serde(rename = "pl")]
202    Pl,
203    #[serde(rename = "pt")]
204    Pt,
205    #[serde(rename = "pa")]
206    Pa,
207    #[serde(rename = "ro")]
208    Ro,
209    #[serde(rename = "ru")]
210    Ru,
211    #[serde(rename = "sa")]
212    Sa,
213    #[serde(rename = "sr")]
214    Sr,
215    #[serde(rename = "sn")]
216    Sn,
217    #[serde(rename = "sd")]
218    Sd,
219    #[serde(rename = "si")]
220    Si,
221    #[serde(rename = "sk")]
222    Sk,
223    #[serde(rename = "sl")]
224    Sl,
225    #[serde(rename = "so")]
226    So,
227    #[serde(rename = "es")]
228    Es,
229    #[serde(rename = "su")]
230    Su,
231    #[serde(rename = "sw")]
232    Sw,
233    #[serde(rename = "sv")]
234    Sv,
235    #[serde(rename = "tl")]
236    Tl,
237    #[serde(rename = "tg")]
238    Tg,
239    #[serde(rename = "ta")]
240    Ta,
241    #[serde(rename = "tt")]
242    Tt,
243    #[serde(rename = "te")]
244    Te,
245    #[serde(rename = "th")]
246    Th,
247    #[serde(rename = "bo")]
248    Bo,
249    #[serde(rename = "tr")]
250    Tr,
251    #[serde(rename = "tk")]
252    Tk,
253    #[serde(rename = "uk")]
254    Uk,
255    #[serde(rename = "ur")]
256    Ur,
257    #[serde(rename = "uz")]
258    Uz,
259    #[serde(rename = "vi")]
260    Vi,
261    #[serde(rename = "cy")]
262    Cy,
263    #[serde(rename = "yi")]
264    Yi,
265    #[serde(rename = "yo")]
266    Yo,
267}
268
269impl Default for Language {
270    fn default() -> Language {
271        Self::Af
272    }
273}
274