parler/
parler.rs

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}