vapi_client/models/
create_assistant_dto_voice.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/// CreateAssistantDtoVoice : These are the options for the assistant's voice.
18/// These are the options for the assistant's voice.
19#[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/// This is the voice provider that will be used.
42#[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/// Smallest AI voice model to use. Defaults to 'lightning' when not specified.
54#[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/// The language to use for the speech.
66#[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/// An emotion to be applied to the speech.
150#[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}