1use gradio::{Client, ClientOptions, PredictionInput};
2
3#[tokio::main]
4async fn main() {
5 if std::env::args().len() < 2 {
6 println!("Please provide the content as an argument");
7 std::process::exit(1);
8 }
9 let args: Vec<String> = std::env::args().collect();
10 let content = &args[1];
11 let description = if args.len() > 2 {
12 &args[2]
13 } else {
14 "Talia speaks high quality audio."
15 };
16
17 let client = Client::new("parler-tts/parler-tts-expresso", ClientOptions::default())
18 .await
19 .unwrap();
20
21 let output = client
22 .predict(
23 "/gen_tts",
24 vec![
25 PredictionInput::from_value(content),
26 PredictionInput::from_value(description),
27 ],
28 )
29 .await
30 .unwrap();
31 println!(
32 "Generated audio: {}",
33 output[0].clone().as_file().unwrap().url.unwrap()
34 );
35}