vapi_client/models/
fallback_deepgram_voice.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 FallbackDeepgramVoice {
16    /// This is the voice provider that will be used.
17    #[serde(rename = "provider")]
18    pub provider: Provider,
19    /// This is the provider-specific ID that will be used.
20    #[serde(rename = "voiceId")]
21    pub voice_id: VoiceId,
22    /// This is the model that will be used. Defaults to 'aura-2' when not specified.
23    #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
24    pub model: Option<Model>,
25    /// If set to true, this will add mip_opt_out=true as a query parameter of all API requests. See https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out  This will only be used if you are using your own Deepgram API key.  @default false
26    #[serde(rename = "mipOptOut", skip_serializing_if = "Option::is_none")]
27    pub mip_opt_out: Option<bool>,
28    /// This is the plan for chunking the model output before it is sent to the voice provider.
29    #[serde(rename = "chunkPlan", skip_serializing_if = "Option::is_none")]
30    pub chunk_plan: Option<models::ChunkPlan>,
31}
32
33impl FallbackDeepgramVoice {
34    pub fn new(provider: Provider, voice_id: VoiceId) -> FallbackDeepgramVoice {
35        FallbackDeepgramVoice {
36            provider,
37            voice_id,
38            model: None,
39            mip_opt_out: None,
40            chunk_plan: None,
41        }
42    }
43}
44/// This is the voice provider that will be used.
45#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
46pub enum Provider {
47    #[serde(rename = "deepgram")]
48    Deepgram,
49}
50
51impl Default for Provider {
52    fn default() -> Provider {
53        Self::Deepgram
54    }
55}
56/// This is the provider-specific ID that will be used.
57#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum VoiceId {
59    #[serde(rename = "asteria")]
60    Asteria,
61    #[serde(rename = "luna")]
62    Luna,
63    #[serde(rename = "stella")]
64    Stella,
65    #[serde(rename = "athena")]
66    Athena,
67    #[serde(rename = "hera")]
68    Hera,
69    #[serde(rename = "orion")]
70    Orion,
71    #[serde(rename = "arcas")]
72    Arcas,
73    #[serde(rename = "perseus")]
74    Perseus,
75    #[serde(rename = "angus")]
76    Angus,
77    #[serde(rename = "orpheus")]
78    Orpheus,
79    #[serde(rename = "helios")]
80    Helios,
81    #[serde(rename = "zeus")]
82    Zeus,
83    #[serde(rename = "thalia")]
84    Thalia,
85    #[serde(rename = "andromeda")]
86    Andromeda,
87    #[serde(rename = "helena")]
88    Helena,
89    #[serde(rename = "apollo")]
90    Apollo,
91    #[serde(rename = "arcas-2")]
92    Arcas2,
93    #[serde(rename = "aries")]
94    Aries,
95    #[serde(rename = "amalthea")]
96    Amalthea,
97    #[serde(rename = "andromeda-2")]
98    Andromeda2,
99    #[serde(rename = "apollo-2")]
100    Apollo2,
101    #[serde(rename = "arcas-3")]
102    Arcas3,
103    #[serde(rename = "aries-2")]
104    Aries2,
105    #[serde(rename = "asteria-2")]
106    Asteria2,
107    #[serde(rename = "athena-2")]
108    Athena2,
109    #[serde(rename = "atlas")]
110    Atlas,
111    #[serde(rename = "aurora")]
112    Aurora,
113    #[serde(rename = "callista")]
114    Callista,
115    #[serde(rename = "cora")]
116    Cora,
117    #[serde(rename = "cordelia")]
118    Cordelia,
119    #[serde(rename = "delia")]
120    Delia,
121    #[serde(rename = "draco")]
122    Draco,
123    #[serde(rename = "electra")]
124    Electra,
125    #[serde(rename = "harmonia")]
126    Harmonia,
127    #[serde(rename = "helena-2")]
128    Helena2,
129    #[serde(rename = "hera-2")]
130    Hera2,
131    #[serde(rename = "hermes")]
132    Hermes,
133    #[serde(rename = "hyperion")]
134    Hyperion,
135    #[serde(rename = "iris")]
136    Iris,
137    #[serde(rename = "janus")]
138    Janus,
139    #[serde(rename = "juno")]
140    Juno,
141    #[serde(rename = "jupiter")]
142    Jupiter,
143    #[serde(rename = "luna-2")]
144    Luna2,
145    #[serde(rename = "mars")]
146    Mars,
147    #[serde(rename = "minerva")]
148    Minerva,
149    #[serde(rename = "neptune")]
150    Neptune,
151    #[serde(rename = "odysseus")]
152    Odysseus,
153    #[serde(rename = "ophelia")]
154    Ophelia,
155    #[serde(rename = "orion-2")]
156    Orion2,
157    #[serde(rename = "orpheus-2")]
158    Orpheus2,
159    #[serde(rename = "pandora")]
160    Pandora,
161    #[serde(rename = "phoebe")]
162    Phoebe,
163    #[serde(rename = "pluto")]
164    Pluto,
165    #[serde(rename = "saturn")]
166    Saturn,
167    #[serde(rename = "selene")]
168    Selene,
169    #[serde(rename = "thalia-2")]
170    Thalia2,
171    #[serde(rename = "theia")]
172    Theia,
173    #[serde(rename = "vesta")]
174    Vesta,
175    #[serde(rename = "zeus-2")]
176    Zeus2,
177}
178
179impl Default for VoiceId {
180    fn default() -> VoiceId {
181        Self::Asteria
182    }
183}
184/// This is the model that will be used. Defaults to 'aura-2' when not specified.
185#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
186pub enum Model {
187    #[serde(rename = "aura")]
188    Aura,
189    #[serde(rename = "aura-2")]
190    Aura2,
191}
192
193impl Default for Model {
194    fn default() -> Model {
195        Self::Aura
196    }
197}
198