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