1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TalkscriberTranscriber {
16 #[serde(rename = "provider")]
18 pub provider: ProviderTrue,
19 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
21 pub model: Option<ModelTrue>,
22 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
24 pub language: Option<LanguageTrue>,
25 #[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#[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#[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#[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}