use zai_rs::model::voice_clone::{model::GlmTtsClone, response::VoiceCloneResponse, *};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
if std::env::var_os("RUST_LOG").is_some() {
let _ = tracing_subscriber::fmt()
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
.try_init();
}
let key = std::env::var("ZHIPU_API_KEY").expect("Please set ZHIPU_API_KEY env var");
let model = GlmTtsClone {};
let voice_name = "my_custom_voice_001";
let text = "你好,这是一段示例音频的文本内容,用于音色复刻参考。";
let input = "欢迎使用我们的音色复刻服务,这将生成与示例音频相同音色的语音。";
let file_id = "abcf4765-0d08-5cbd-8bd8-6867f76166cc";
let client = VoiceCloneRequest::new(model, key, voice_name, input, file_id)
.with_request_id("voice_clone_req_001")
.with_text(text);
let body: VoiceCloneResponse = client.send().await?;
tracing::trace!("{:#?}", body);
Ok(())
}