async_dashscope/operation/audio/tts/
param.rs1use derive_builder::Builder;
2use serde::{Deserialize, Serialize};
3
4use crate::operation::{common::Parameters, request::RequestTrait};
5
6#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
7pub struct TextToSpeechParam {
8 #[builder(setter(into))]
9 pub model: String,
10 pub input: Input,
11 #[serde(skip_serializing_if = "Option::is_none")]
12 #[builder(setter(into, strip_option))]
13 #[builder(default=None)]
14 pub stream: Option<bool>,
15 #[serde(skip_serializing_if = "Option::is_none")]
17 #[builder(setter(into, strip_option))]
18 #[builder(default=None)]
19 pub parameters: Option<Parameters>,
20}
21
22#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
23pub struct Input {
24 #[builder(setter(into))]
25 text: String,
26 #[builder(setter(into))]
28 voice: String,
29
30 #[builder(setter(into))]
45 language_type:Option<String>,
46}
47
48impl RequestTrait for TextToSpeechParam {
49 fn model(&self) -> &str {
50 &self.model
51 }
52
53 fn parameters(&self) -> Option<&Parameters> {
54 None
55 }
56
57 type P = Parameters;
58}