vapi_client/models/
rime_ai_voice.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct RimeAiVoice {
16 #[serde(rename = "provider")]
18 pub provider: Provider,
19 #[serde(rename = "voiceId")]
20 pub voice_id: models::RimeAiVoiceVoiceId,
21 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
23 pub model: Option<Model>,
24 #[serde(rename = "speed", skip_serializing_if = "Option::is_none")]
26 pub speed: Option<f64>,
27 #[serde(rename = "pauseBetweenBrackets", skip_serializing_if = "Option::is_none")]
29 pub pause_between_brackets: Option<bool>,
30 #[serde(rename = "phonemizeBetweenBrackets", skip_serializing_if = "Option::is_none")]
32 pub phonemize_between_brackets: Option<bool>,
33 #[serde(rename = "reduceLatency", skip_serializing_if = "Option::is_none")]
35 pub reduce_latency: Option<bool>,
36 #[serde(rename = "inlineSpeedAlpha", skip_serializing_if = "Option::is_none")]
38 pub inline_speed_alpha: Option<String>,
39 #[serde(rename = "chunkPlan", skip_serializing_if = "Option::is_none")]
41 pub chunk_plan: Option<models::ChunkPlan>,
42 #[serde(rename = "fallbackPlan", skip_serializing_if = "Option::is_none")]
44 pub fallback_plan: Option<models::FallbackPlan>,
45}
46
47impl RimeAiVoice {
48 pub fn new(provider: Provider, voice_id: models::RimeAiVoiceVoiceId) -> RimeAiVoice {
49 RimeAiVoice {
50 provider,
51 voice_id,
52 model: None,
53 speed: None,
54 pause_between_brackets: None,
55 phonemize_between_brackets: None,
56 reduce_latency: None,
57 inline_speed_alpha: None,
58 chunk_plan: None,
59 fallback_plan: None,
60 }
61 }
62}
63#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
65pub enum Provider {
66 #[serde(rename = "rime-ai")]
67 RimeAi,
68}
69
70impl Default for Provider {
71 fn default() -> Provider {
72 Self::RimeAi
73 }
74}
75#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
77pub enum Model {
78 #[serde(rename = "v1")]
79 V1,
80 #[serde(rename = "mist")]
81 Mist,
82 #[serde(rename = "mistv2")]
83 Mistv2,
84}
85
86impl Default for Model {
87 fn default() -> Model {
88 Self::V1
89 }
90}
91