vapi_client/models/
cartesia_voice.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CartesiaVoice {
16 #[serde(rename = "cachingEnabled", skip_serializing_if = "Option::is_none")]
18 pub caching_enabled: Option<bool>,
19 #[serde(rename = "provider")]
21 pub provider: ProviderTrue,
22 #[serde(rename = "voiceId")]
24 pub voice_id: String,
25 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
27 pub model: Option<ModelTrue>,
28 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
30 pub language: Option<LanguageTrue>,
31 #[serde(
33 rename = "experimentalControls",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub experimental_controls: Option<models::CartesiaExperimentalControls>,
37 #[serde(rename = "chunkPlan", skip_serializing_if = "Option::is_none")]
39 pub chunk_plan: Option<models::ChunkPlan>,
40 #[serde(rename = "fallbackPlan", skip_serializing_if = "Option::is_none")]
42 pub fallback_plan: Option<models::FallbackPlan>,
43}
44
45impl CartesiaVoice {
46 pub fn new(provider: ProviderTrue, voice_id: String) -> CartesiaVoice {
47 CartesiaVoice {
48 caching_enabled: None,
49 provider,
50 voice_id,
51 model: None,
52 language: None,
53 experimental_controls: None,
54 chunk_plan: None,
55 fallback_plan: None,
56 }
57 }
58}
59#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
61pub enum ProviderTrue {
62 #[serde(rename = "cartesia")]
63 Cartesia,
64}
65
66impl Default for ProviderTrue {
67 fn default() -> ProviderTrue {
68 Self::Cartesia
69 }
70}
71#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
73pub enum ModelTrue {
74 #[serde(rename = "sonic-2")]
75 Sonic2,
76 #[serde(rename = "sonic-english")]
77 SonicEnglish,
78 #[serde(rename = "sonic-multilingual")]
79 SonicMultilingual,
80 #[serde(rename = "sonic-preview")]
81 SonicPreview,
82 #[serde(rename = "sonic")]
83 Sonic,
84}
85
86impl Default for ModelTrue {
87 fn default() -> ModelTrue {
88 Self::Sonic2
89 }
90}
91#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
93pub enum LanguageTrue {
94 #[serde(rename = "en")]
95 En,
96 #[serde(rename = "de")]
97 De,
98 #[serde(rename = "es")]
99 Es,
100 #[serde(rename = "fr")]
101 Fr,
102 #[serde(rename = "ja")]
103 Ja,
104 #[serde(rename = "pt")]
105 Pt,
106 #[serde(rename = "zh")]
107 Zh,
108 #[serde(rename = "hi")]
109 Hi,
110 #[serde(rename = "it")]
111 It,
112 #[serde(rename = "ko")]
113 Ko,
114 #[serde(rename = "nl")]
115 Nl,
116 #[serde(rename = "pl")]
117 Pl,
118 #[serde(rename = "ru")]
119 Ru,
120 #[serde(rename = "sv")]
121 Sv,
122 #[serde(rename = "tr")]
123 Tr,
124}
125
126impl Default for LanguageTrue {
127 fn default() -> LanguageTrue {
128 Self::En
129 }
130}