vapi_client/models/
azure_speech_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 AzureSpeechTranscriber {
19    /// This is the transcription provider that will be used.
20    #[serde(rename = "provider")]
21    pub provider: Provider,
22    /// This is the language that will be set for the transcription. The list of languages Azure supports can be found here: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=stt
23    #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
24    pub language: Option<Language>,
25}
26
27impl AzureSpeechTranscriber {
28    pub fn new(provider: Provider) -> AzureSpeechTranscriber {
29        AzureSpeechTranscriber {
30            provider,
31            language: None,
32        }
33    }
34}
35/// This is the transcription provider that will be used.
36#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
37pub enum Provider {
38    #[serde(rename = "azure")]
39    Azure,
40}
41
42impl Default for Provider {
43    fn default() -> Provider {
44        Self::Azure
45    }
46}
47/// This is the language that will be set for the transcription. The list of languages Azure supports can be found here: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=stt
48#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
49pub enum Language {
50    #[serde(rename = "af-ZA")]
51    AfZa,
52    #[serde(rename = "am-ET")]
53    AmEt,
54    #[serde(rename = "ar-AE")]
55    ArAe,
56    #[serde(rename = "ar-BH")]
57    ArBh,
58    #[serde(rename = "ar-DZ")]
59    ArDz,
60    #[serde(rename = "ar-EG")]
61    ArEg,
62    #[serde(rename = "ar-IL")]
63    ArIl,
64    #[serde(rename = "ar-IQ")]
65    ArIq,
66    #[serde(rename = "ar-JO")]
67    ArJo,
68    #[serde(rename = "ar-KW")]
69    ArKw,
70    #[serde(rename = "ar-LB")]
71    ArLb,
72    #[serde(rename = "ar-LY")]
73    ArLy,
74    #[serde(rename = "ar-MA")]
75    ArMa,
76    #[serde(rename = "ar-OM")]
77    ArOm,
78    #[serde(rename = "ar-PS")]
79    ArPs,
80    #[serde(rename = "ar-QA")]
81    ArQa,
82    #[serde(rename = "ar-SA")]
83    ArSa,
84    #[serde(rename = "ar-SY")]
85    ArSy,
86    #[serde(rename = "ar-TN")]
87    ArTn,
88    #[serde(rename = "ar-YE")]
89    ArYe,
90    #[serde(rename = "az-AZ")]
91    AzAz,
92    #[serde(rename = "bg-BG")]
93    BgBg,
94    #[serde(rename = "bn-IN")]
95    BnIn,
96    #[serde(rename = "bs-BA")]
97    BsBa,
98    #[serde(rename = "ca-ES")]
99    CaEs,
100    #[serde(rename = "cs-CZ")]
101    CsCz,
102    #[serde(rename = "cy-GB")]
103    CyGb,
104    #[serde(rename = "da-DK")]
105    DaDk,
106    #[serde(rename = "de-AT")]
107    DeAt,
108    #[serde(rename = "de-CH")]
109    DeCh,
110    #[serde(rename = "de-DE")]
111    DeDe,
112    #[serde(rename = "el-GR")]
113    ElGr,
114    #[serde(rename = "en-AU")]
115    EnAu,
116    #[serde(rename = "en-CA")]
117    EnCa,
118    #[serde(rename = "en-GB")]
119    EnGb,
120    #[serde(rename = "en-GH")]
121    EnGh,
122    #[serde(rename = "en-HK")]
123    EnHk,
124    #[serde(rename = "en-IE")]
125    EnIe,
126    #[serde(rename = "en-IN")]
127    EnIn,
128    #[serde(rename = "en-KE")]
129    EnKe,
130    #[serde(rename = "en-NG")]
131    EnNg,
132    #[serde(rename = "en-NZ")]
133    EnNz,
134    #[serde(rename = "en-PH")]
135    EnPh,
136    #[serde(rename = "en-SG")]
137    EnSg,
138    #[serde(rename = "en-TZ")]
139    EnTz,
140    #[serde(rename = "en-US")]
141    EnUs,
142    #[serde(rename = "en-ZA")]
143    EnZa,
144    #[serde(rename = "es-AR")]
145    EsAr,
146    #[serde(rename = "es-BO")]
147    EsBo,
148    #[serde(rename = "es-CL")]
149    EsCl,
150    #[serde(rename = "es-CO")]
151    EsCo,
152    #[serde(rename = "es-CR")]
153    EsCr,
154    #[serde(rename = "es-CU")]
155    EsCu,
156    #[serde(rename = "es-DO")]
157    EsDo,
158    #[serde(rename = "es-EC")]
159    EsEc,
160    #[serde(rename = "es-ES")]
161    EsEs,
162    #[serde(rename = "es-GQ")]
163    EsGq,
164    #[serde(rename = "es-GT")]
165    EsGt,
166    #[serde(rename = "es-HN")]
167    EsHn,
168    #[serde(rename = "es-MX")]
169    EsMx,
170    #[serde(rename = "es-NI")]
171    EsNi,
172    #[serde(rename = "es-PA")]
173    EsPa,
174    #[serde(rename = "es-PE")]
175    EsPe,
176    #[serde(rename = "es-PR")]
177    EsPr,
178    #[serde(rename = "es-PY")]
179    EsPy,
180    #[serde(rename = "es-SV")]
181    EsSv,
182    #[serde(rename = "es-US")]
183    EsUs,
184    #[serde(rename = "es-UY")]
185    EsUy,
186    #[serde(rename = "es-VE")]
187    EsVe,
188    #[serde(rename = "et-EE")]
189    EtEe,
190    #[serde(rename = "eu-ES")]
191    EuEs,
192    #[serde(rename = "fa-IR")]
193    FaIr,
194    #[serde(rename = "fi-FI")]
195    FiFi,
196    #[serde(rename = "fil-PH")]
197    FilPh,
198    #[serde(rename = "fr-BE")]
199    FrBe,
200    #[serde(rename = "fr-CA")]
201    FrCa,
202    #[serde(rename = "fr-CH")]
203    FrCh,
204    #[serde(rename = "fr-FR")]
205    FrFr,
206    #[serde(rename = "ga-IE")]
207    GaIe,
208    #[serde(rename = "gl-ES")]
209    GlEs,
210    #[serde(rename = "gu-IN")]
211    GuIn,
212    #[serde(rename = "he-IL")]
213    HeIl,
214    #[serde(rename = "hi-IN")]
215    HiIn,
216    #[serde(rename = "hr-HR")]
217    HrHr,
218    #[serde(rename = "hu-HU")]
219    HuHu,
220    #[serde(rename = "hy-AM")]
221    HyAm,
222    #[serde(rename = "id-ID")]
223    IdId,
224    #[serde(rename = "is-IS")]
225    IsIs,
226    #[serde(rename = "it-CH")]
227    ItCh,
228    #[serde(rename = "it-IT")]
229    ItIt,
230    #[serde(rename = "ja-JP")]
231    JaJp,
232    #[serde(rename = "jv-ID")]
233    JvId,
234    #[serde(rename = "ka-GE")]
235    KaGe,
236    #[serde(rename = "kk-KZ")]
237    KkKz,
238    #[serde(rename = "km-KH")]
239    KmKh,
240    #[serde(rename = "kn-IN")]
241    KnIn,
242    #[serde(rename = "ko-KR")]
243    KoKr,
244    #[serde(rename = "lo-LA")]
245    LoLa,
246    #[serde(rename = "lt-LT")]
247    LtLt,
248    #[serde(rename = "lv-LV")]
249    LvLv,
250    #[serde(rename = "mk-MK")]
251    MkMk,
252    #[serde(rename = "ml-IN")]
253    MlIn,
254    #[serde(rename = "mn-MN")]
255    MnMn,
256    #[serde(rename = "mr-IN")]
257    MrIn,
258    #[serde(rename = "ms-MY")]
259    MsMy,
260    #[serde(rename = "mt-MT")]
261    MtMt,
262    #[serde(rename = "my-MM")]
263    MyMm,
264    #[serde(rename = "nb-NO")]
265    NbNo,
266    #[serde(rename = "ne-NP")]
267    NeNp,
268    #[serde(rename = "nl-BE")]
269    NlBe,
270    #[serde(rename = "nl-NL")]
271    NlNl,
272    #[serde(rename = "pa-IN")]
273    PaIn,
274    #[serde(rename = "pl-PL")]
275    PlPl,
276    #[serde(rename = "ps-AF")]
277    PsAf,
278    #[serde(rename = "pt-BR")]
279    PtBr,
280    #[serde(rename = "pt-PT")]
281    PtPt,
282    #[serde(rename = "ro-RO")]
283    RoRo,
284    #[serde(rename = "ru-RU")]
285    RuRu,
286    #[serde(rename = "si-LK")]
287    SiLk,
288    #[serde(rename = "sk-SK")]
289    SkSk,
290    #[serde(rename = "sl-SI")]
291    SlSi,
292    #[serde(rename = "so-SO")]
293    SoSo,
294    #[serde(rename = "sq-AL")]
295    SqAl,
296    #[serde(rename = "sr-RS")]
297    SrRs,
298    #[serde(rename = "sv-SE")]
299    SvSe,
300    #[serde(rename = "sw-KE")]
301    SwKe,
302    #[serde(rename = "sw-TZ")]
303    SwTz,
304    #[serde(rename = "ta-IN")]
305    TaIn,
306    #[serde(rename = "te-IN")]
307    TeIn,
308    #[serde(rename = "th-TH")]
309    ThTh,
310    #[serde(rename = "tr-TR")]
311    TrTr,
312    #[serde(rename = "uk-UA")]
313    UkUa,
314    #[serde(rename = "ur-IN")]
315    UrIn,
316    #[serde(rename = "uz-UZ")]
317    UzUz,
318    #[serde(rename = "vi-VN")]
319    ViVn,
320    #[serde(rename = "wuu-CN")]
321    WuuCn,
322    #[serde(rename = "yue-CN")]
323    YueCn,
324    #[serde(rename = "zh-CN")]
325    ZhCn,
326    #[serde(rename = "zh-CN-shandong")]
327    ZhCnShandong,
328    #[serde(rename = "zh-CN-sichuan")]
329    ZhCnSichuan,
330    #[serde(rename = "zh-HK")]
331    ZhHk,
332    #[serde(rename = "zh-TW")]
333    ZhTw,
334    #[serde(rename = "zu-ZA")]
335    ZuZa,
336}
337
338impl Default for Language {
339    fn default() -> Language {
340        Self::AfZa
341    }
342}