2个版本
0.1.1 | 2023年7月6日 |
---|---|
0.1.0 | 2023年7月6日 |
#863 in 音频
14KB
173 行
elevenlabs-api
一个用于Elevenlabs API的非常简单的Rust库,没有复杂的异步操作和冗余依赖。灵感来源于openai-api。
API
查看官方 API参考。
API | 支持 |
---|---|
文本到语音 | ✔️ |
文本到语音流 | ❌ |
模型 | ❌ |
声音 | ❌ |
样本 | ❌ |
历史 | ❌ |
用户 | ❌ |
用法
使用Cargo.toml文件安装库。
将API密钥导出到环境变量中
export ELEVENLABS_API_KEY=...
然后在Rust代码中使用该crate
// import the dependencies
use elevenlabs_api::{
tts::{TtsApi, TtsBody},
*,
};
// Load API key from environment ELEVENLABS_API_KEY.
// You can also hadcode through `Auth::new(<your_api_key>)`, but it is not recommended.
let auth = Auth::from_env().unwrap();
let elevenlabs = Elevenlabs::new(auth, "https://api.elevenlabs.io/v1/");
// Create the tts body.
let tts_body = TtsBody {
model_id: None,
text: "Hello world".to_string(),
voice_settings: None,
};
// Generate the speech for the text by using the voice with id yoZ06aMxZJJ28mfd3POQ.
let tts_result = elevenlabs.tts(&tts_body, "yoZ06aMxZJJ28mfd3POQ");
let bytes = tts_result.unwrap();
// Do what you need with the bytes.
// The server responds with "audio/mpeg" so we can save as mp3.
std::fs::write("tts.mp3", bytes).unwrap();
查看示例文件夹。
依赖
~2.6–3.5MB
~98K SLoC