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
31impl RequestTrait for TextToSpeechParam {
32 fn model(&self) -> &str {
33 &self.model
34 }
35
36 fn parameters(&self) -> Option<&Parameters> {
37 None
38 }
39}