vapi_client/models/
hume_voice.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct HumeVoice {
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 = "model", skip_serializing_if = "Option::is_none")]
24 pub model: Option<ModelTrue>,
25 #[serde(rename = "voiceId")]
27 pub voice_id: String,
28 #[serde(rename = "isCustomHumeVoice", skip_serializing_if = "Option::is_none")]
30 pub is_custom_hume_voice: Option<bool>,
31 #[serde(rename = "chunkPlan", skip_serializing_if = "Option::is_none")]
33 pub chunk_plan: Option<models::ChunkPlan>,
34 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
36 pub description: Option<String>,
37 #[serde(rename = "fallbackPlan", skip_serializing_if = "Option::is_none")]
39 pub fallback_plan: Option<models::FallbackPlan>,
40}
41
42impl HumeVoice {
43 pub fn new(provider: ProviderTrue, voice_id: String) -> HumeVoice {
44 HumeVoice {
45 caching_enabled: None,
46 provider,
47 model: None,
48 voice_id,
49 is_custom_hume_voice: None,
50 chunk_plan: None,
51 description: None,
52 fallback_plan: None,
53 }
54 }
55}
56#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum ProviderTrue {
59 #[serde(rename = "hume")]
60 Hume,
61}
62
63impl Default for ProviderTrue {
64 fn default() -> ProviderTrue {
65 Self::Hume
66 }
67}
68#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
70pub enum ModelTrue {
71 #[serde(rename = "octave")]
72 Octave,
73}
74
75impl Default for ModelTrue {
76 fn default() -> ModelTrue {
77 Self::Octave
78 }
79}