vapi_client/models/
gladia_transcriber.rs

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