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