8 unstable releases (3 breaking)

new 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

#265 in Audio

Download history 1/week @ 2024-10-26 131/week @ 2024-11-02 31/week @ 2024-11-09 25/week @ 2024-11-16 5/week @ 2024-11-23 41/week @ 2024-11-30 83/week @ 2024-12-07 27/week @ 2024-12-14 6/week @ 2024-12-21 5/week @ 2024-12-28 11/week @ 2025-01-04 10/week @ 2025-01-11 58/week @ 2025-01-18 5/week @ 2025-01-25 197/week @ 2025-02-01

272 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
~681K SLoC