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