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