use clap::Args;
#[derive(Args)]
pub struct TextToSpeechArgs {
#[arg(value_name = "TEXT")]
pub text: Option<String>,
#[arg(short = 'i', long, value_name = "FILE")]
pub file: Option<String>,
#[arg(long, default_value = "Brian")]
pub voice: String,
#[arg(short, long, default_value = "eleven_multilingual_v2")]
pub model: String,
#[arg(short, long, value_name = "OUTPUT")]
pub output: Option<String>,
#[arg(long)]
pub play: bool,
#[arg(long, value_name = "DEVICE")]
pub output_device: Option<String>,
#[arg(long)]
pub list_output_devices: bool,
#[arg(long, value_name = "0.0-1.0")]
pub stability: Option<f32>,
#[arg(long, value_name = "0.0-1.0")]
pub similarity_boost: Option<f32>,
#[arg(long, value_name = "0.0-1.0")]
pub style: Option<f32>,
#[arg(long)]
pub speaker_boost: bool,
#[arg(long, value_name = "CODE")]
pub language: Option<String>,
#[arg(long, value_name = "INT")]
pub seed: Option<u32>,
}
#[derive(Args)]
pub struct TtsTimestampsArgs {
#[arg(value_name = "TEXT")]
pub text: Option<String>,
#[arg(short = 'i', long, value_name = "FILE")]
pub file: Option<String>,
#[arg(long, default_value = "Brian")]
pub voice: String,
#[arg(long, default_value = "eleven_multilingual_v2")]
pub model: String,
#[arg(long, value_name = "OUTPUT")]
pub output: Option<String>,
#[arg(long, default_value = "mp3_44100_128")]
pub output_format: String,
#[arg(long, value_name = "FILE")]
pub subtitles: Option<String>,
#[arg(long)]
pub enable_logging: Option<bool>,
#[arg(long, value_name = "0-4")]
pub latency: Option<u8>,
}
#[derive(Args)]
pub struct TtsStreamArgs {
#[arg(value_name = "TEXT")]
pub text: String,
#[arg(long, default_value = "Brian")]
pub voice: String,
#[arg(long, default_value = "eleven_multilingual_v2")]
pub model: String,
#[arg(long, value_name = "OUTPUT")]
pub output: Option<String>,
#[arg(long)]
pub play: bool,
#[arg(long, value_name = "DEVICE")]
pub output_device: Option<String>,
#[arg(long)]
pub list_output_devices: bool,
#[arg(long, value_name = "0-4")]
pub latency: Option<u8>,
#[arg(long, default_value = "mp3_44100_128")]
pub output_format: String,
#[arg(long, value_name = "FLOAT")]
pub stability: Option<f32>,
#[arg(long, value_name = "FLOAT")]
pub similarity_boost: Option<f32>,
}