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