8 unstable releases (3 breaking)

0.4.1 Feb 6, 2025
0.4.0 Feb 6, 2025
0.3.2 Nov 3, 2024
0.3.1 Jul 11, 2024
0.1.1 Aug 8, 2023

#272 in Audio

Download history 110/week @ 2024-10-30 49/week @ 2024-11-06 15/week @ 2024-11-13 18/week @ 2024-11-20 6/week @ 2024-11-27 86/week @ 2024-12-04 47/week @ 2024-12-11 17/week @ 2024-12-18 3/week @ 2024-12-25 9/week @ 2025-01-01 14/week @ 2025-01-08 13/week @ 2025-01-15 52/week @ 2025-01-22 262/week @ 2025-02-05

328 downloads per month
Used in 2 crates

MIT license

300KB
6.5K SLoC

An unofficial lib crate for ElevenLabs

Text-to-Speech

 use elevenlabs_rs::{ElevenLabsClient, Result, DefaultVoice, Model};
 use elevenlabs_rs::endpoints::genai::tts::{TextToSpeech, TextToSpeechBody};
 use elevenlabs_rs::utils::play;

 #[tokio::main]
 async fn main() -> Result<()> {
     let client = ElevenLabsClient::from_env()?;

     let txt = "Hello! 你好! Hola! नमस्ते! Bonjour! \
         こんにちは! مرحبا! 안녕하세요! Ciao! Cześć! Привіт! வணக்கம்!";

     let body = TextToSpeechBody::new(txt)
        .with_model_id(Model::ElevenMultilingualV2);

     let endpoint = TextToSpeech::new(DefaultVoice::Brian, body);

     let speech = client.hit(endpoint).await?;

     play(speech)?;

     Ok(())
 }

lib.rs:

An unofficial lib crate for ElevenLabs.

ElevenLabs' website

ElevenLabs' API reference

Example

Text to Speech

use elevenlabs_rs::{ElevenLabsClient, Result, DefaultVoice, Model};
use elevenlabs_rs::endpoints::genai::tts::{TextToSpeech, TextToSpeechBody};
use elevenlabs_rs::utils::play;

#[tokio::main]
async fn main() -> Result<()> {
    let client = ElevenLabsClient::from_env()?;

    let txt = "Hello! 你好! Hola! नमस्ते! Bonjour! \
        こんにちは! مرحبا! 안녕하세요! Ciao! Cześć! Привіт! வணக்கம்!";

    let body = TextToSpeechBody::new(txt)
       .with_model_id(Model::ElevenMultilingualV2);

    let endpoint = TextToSpeech::new(DefaultVoice::Brian, body);

    let speech = client.hit(endpoint).await?;

    play(speech)?;

    Ok(())
}

Dependencies

~8–42MB
~682K SLoC