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 CreateAssistantDtoVoice {
22 AzureVoice(models::AzureVoice),
23 CartesiaVoice(models::CartesiaVoice),
24 CustomVoice(models::CustomVoice),
25 DeepgramVoice(models::DeepgramVoice),
26 ElevenLabsVoice(models::ElevenLabsVoice),
27 LmntVoice(models::LmntVoice),
28 NeetsVoice(models::NeetsVoice),
29 OpenAiVoice(models::OpenAiVoice),
30 PlayHtVoice(models::PlayHtVoice),
31 RimeAiVoice(models::RimeAiVoice),
32 SmallestAiVoice(models::SmallestAiVoice),
33 TavusVoice(models::TavusVoice),
34}
35
36impl Default for CreateAssistantDtoVoice {
37 fn default() -> Self {
38 Self::AzureVoice(Default::default())
39 }
40}
41#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
43pub enum Provider {
44 #[serde(rename = "tavus")]
45 Tavus,
46}
47
48impl Default for Provider {
49 fn default() -> Provider {
50 Self::Tavus
51 }
52}
53#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
55pub enum Model {
56 #[serde(rename = "lightning")]
57 Lightning,
58}
59
60impl Default for Model {
61 fn default() -> Model {
62 Self::Lightning
63 }
64}
65#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
67pub enum Language {
68 #[serde(rename = "afrikaans")]
69 Afrikaans,
70 #[serde(rename = "albanian")]
71 Albanian,
72 #[serde(rename = "amharic")]
73 Amharic,
74 #[serde(rename = "arabic")]
75 Arabic,
76 #[serde(rename = "bengali")]
77 Bengali,
78 #[serde(rename = "bulgarian")]
79 Bulgarian,
80 #[serde(rename = "catalan")]
81 Catalan,
82 #[serde(rename = "croatian")]
83 Croatian,
84 #[serde(rename = "czech")]
85 Czech,
86 #[serde(rename = "danish")]
87 Danish,
88 #[serde(rename = "dutch")]
89 Dutch,
90 #[serde(rename = "english")]
91 English,
92 #[serde(rename = "french")]
93 French,
94 #[serde(rename = "galician")]
95 Galician,
96 #[serde(rename = "german")]
97 German,
98 #[serde(rename = "greek")]
99 Greek,
100 #[serde(rename = "hebrew")]
101 Hebrew,
102 #[serde(rename = "hindi")]
103 Hindi,
104 #[serde(rename = "hungarian")]
105 Hungarian,
106 #[serde(rename = "indonesian")]
107 Indonesian,
108 #[serde(rename = "italian")]
109 Italian,
110 #[serde(rename = "japanese")]
111 Japanese,
112 #[serde(rename = "korean")]
113 Korean,
114 #[serde(rename = "malay")]
115 Malay,
116 #[serde(rename = "mandarin")]
117 Mandarin,
118 #[serde(rename = "polish")]
119 Polish,
120 #[serde(rename = "portuguese")]
121 Portuguese,
122 #[serde(rename = "russian")]
123 Russian,
124 #[serde(rename = "serbian")]
125 Serbian,
126 #[serde(rename = "spanish")]
127 Spanish,
128 #[serde(rename = "swedish")]
129 Swedish,
130 #[serde(rename = "tagalog")]
131 Tagalog,
132 #[serde(rename = "thai")]
133 Thai,
134 #[serde(rename = "turkish")]
135 Turkish,
136 #[serde(rename = "ukrainian")]
137 Ukrainian,
138 #[serde(rename = "urdu")]
139 Urdu,
140 #[serde(rename = "xhosa")]
141 Xhosa,
142}
143
144impl Default for Language {
145 fn default() -> Language {
146 Self::Afrikaans
147 }
148}
149#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
151pub enum Emotion {
152 #[serde(rename = "female_happy")]
153 FemaleHappy,
154 #[serde(rename = "female_sad")]
155 FemaleSad,
156 #[serde(rename = "female_angry")]
157 FemaleAngry,
158 #[serde(rename = "female_fearful")]
159 FemaleFearful,
160 #[serde(rename = "female_disgust")]
161 FemaleDisgust,
162 #[serde(rename = "female_surprised")]
163 FemaleSurprised,
164 #[serde(rename = "male_happy")]
165 MaleHappy,
166 #[serde(rename = "male_sad")]
167 MaleSad,
168 #[serde(rename = "male_angry")]
169 MaleAngry,
170 #[serde(rename = "male_fearful")]
171 MaleFearful,
172 #[serde(rename = "male_disgust")]
173 MaleDisgust,
174 #[serde(rename = "male_surprised")]
175 MaleSurprised,
176}
177
178impl Default for Emotion {
179 fn default() -> Emotion {
180 Self::FemaleHappy
181 }
182}