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