#api #api-key #api-bindings #elevenlabs

elevenlabs-api

一个用于Elevenlabs API的非常简单的Rust库,没有复杂的异步操作和冗余依赖

2个版本

0.1.1 2023年7月6日
0.1.0 2023年7月6日

#863 in 音频

MIT 许可证

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