vapi_client/models/
talkscriber_transcriber.rs

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