---
title: "ElevenLabs | Micdrop"
description: "ElevenLabs implementation for @micdrop/server."
url: "https://micdrop.dev/docs/ai-integration/provided-integrations/elevenlabs"
---

*   [Getting Started](/docs/getting-started)
*   [Client (Browser)](/docs/client)
    
    *   [Installation](/docs/client/installation)
    *   [React Hooks](/docs/client/react-hooks)
    *   [Start/Stop Call](/docs/client/start-stop-call)
    *   [Pause/Resume Call](/docs/client/pause-resume-call)
    *   [Mute/Unmute Call](/docs/client/mute-unmute-call)
    *   [Call State](/docs/client/call-state)
    *   [Display Conversation Messages](/docs/client/display-conversation-messages)
    *   [Handling Tool Calls](/docs/client/handling-tool-calls)
    *   [Device Management](/docs/client/devices-management)
    *   [Voice Activity Detection (VAD)](/docs/client/vad)
    *   [Error Handling](/docs/client/error-handling)
    *   Utility Classes
        
        *   [Mic](/docs/client/utility-classes/mic)
        *   [MicdropClient](/docs/client/utility-classes/micdrop-client)
        *   [MicRecorder](/docs/client/utility-classes/mic-recorder)
        *   [Speaker](/docs/client/utility-classes/speaker)
        
    
*   [Server (Node.js)](/docs/server)
    
    *   [Installation](/docs/server/installation)
    *   [With Fastify](/docs/server/with-fastify)
    *   [With NestJS](/docs/server/with-nestjs)
    *   [Auth and Parameters](/docs/server/auth-and-parameters)
    *   [First Message](/docs/server/first-message)
    *   [Save Messages](/docs/server/save-messages)
    *   [Resume a Conversation](/docs/server/resume-conversation)
    *   [Recording Audio](/docs/server/recording-audio)
    *   [Error Handling](/docs/server/error-handling)
    *   [Tools](/docs/server/tools)
    *   [Extract Value from Answer](/docs/server/extract)
    *   [Auto End Call](/docs/server/auto-end-call)
    *   [Semantic Turn Detection](/docs/server/semantic-turn-detection)
    *   [Noise Filtering](/docs/server/noise-filtering)
    *   [Micdrop Protocol](/docs/server/protocol)
    
*   [AI Integrations](/docs/ai-integration)
    
    *   Provided Integrations
        
        *   [AI SDK](/docs/ai-integration/provided-integrations/ai-sdk)
        *   [Cartesia](/docs/ai-integration/provided-integrations/cartesia)
        *   [ElevenLabs](/docs/ai-integration/provided-integrations/elevenlabs)
        *   [Gladia](/docs/ai-integration/provided-integrations/gladia)
        *   [Gradium](/docs/ai-integration/provided-integrations/gradium)
        *   [Mistral](/docs/ai-integration/provided-integrations/mistral)
        *   [OpenAI](/docs/ai-integration/provided-integrations/openai)
        
    *   Custom Integrations
        
        *   [Agent (LLM)](/docs/ai-integration/custom-integrations/custom-agent)
        *   [Speech-to-Text (STT)](/docs/ai-integration/custom-integrations/custom-stt)
        *   [Text-to-Speech (TTS)](/docs/ai-integration/custom-integrations/custom-tts)
        
    *   Fallback Strategies
        
        *   [FallbackAgent](/docs/ai-integration/fallback-strategies/agent-fallback)
        *   [FallbackSTT](/docs/ai-integration/fallback-strategies/stt-fallback)
        *   [FallbackTTS](/docs/ai-integration/fallback-strategies/tts-fallback)
        
    *   [IA Vocale Souveraine 🇫🇷🇪🇺](/docs/ai-integration/sovereign-voice-ai)
    

[Micdrop](/) › [Documentation](/docs/getting-started)

# ElevenLabs

ElevenLabs implementation for [@micdrop/server](/docs/server).

This package provides high-quality real-time text-to-speech implementation using ElevenLabs’ streaming API.

## Installation

Terminal window

```
npm install @micdrop/elevenlabs
```

## ElevenLabs TTS (Text-to-Speech)

### Usage

```
import { ElevenLabsTTS } from '@micdrop/elevenlabs'import { MicdropServer } from '@micdrop/server'
const tts = new ElevenLabsTTS({  apiKey: process.env.ELEVENLABS_API_KEY || '',  voiceId: '21m00Tcm4TlvDq8ikWAM', // ElevenLabs voice ID  modelId: 'eleven_turbo_v2_5', // Optional: model to use  language: 'en', // Optional: language code  voiceSettings: {    stability: 0.5,    similarity_boost: 0.75,    style: 0.5,  },})
// Use with MicdropServernew MicdropServer(socket, {  tts,  // ... other options})
```

### Options

Option

Type

Default

Description

`apiKey`

`string`

Required

Your ElevenLabs API key

`voiceId`

`string`

Required

ElevenLabs voice ID

`modelId`

`'eleven_multilingual_v2' | 'eleven_turbo_v2_5' | 'eleven_flash_v2_5'`

`'eleven_turbo_v2_5'`

Model to use for speech synthesis

`language`

`string`

Optional

Language code (e.g., ‘en’, ‘fr’)

`outputFormat`

`TextToSpeechStreamRequestOutputFormat`

`'pcm_16000'`

Audio output format

`voiceSettings`

`VoiceSettings`

Optional

Voice customization settings

`connectionTimeout`

`number`

`5000`

Timeout in milliseconds for WebSocket connection

`retryDelay`

`number`

`1000`

Delay in milliseconds between reconnection attempts

`maxRetry`

`number`

`3`

Maximum number of reconnection attempts before failing

### Voice Settings

The `voiceSettings` option allows you to customize the voice characteristics:

```
const tts = new ElevenLabsTTS({  apiKey: 'your-api-key',  voiceId: 'your-voice-id',  voiceSettings: {    stability: 0.5, // 0.0 to 1.0 - Lower = more variable, Higher = more stable    similarity_boost: 0.75, // 0.0 to 1.0 - How closely to match the original voice    style: 0.5, // 0.0 to 1.0 - Exaggeration of the style    use_speaker_boost: true, // Boost the similarity to the speaker  },})
```

### Supported Models

Model

Description

Languages

Speed

`eleven_multilingual_v2`

High-quality multilingual model

29+ languages

Standard

`eleven_turbo_v2_5`

Fast, high-quality model optimized for speed

English

Fast

`eleven_flash_v2_5`

Ultra-fast model for real-time applications

English

Very Fast

### Supported Languages

ElevenLabs supports 29+ languages including:

Code

Language

Code

Language

Code

Language

`en`

English

`es`

Spanish

`fr`

French

`de`

German

`it`

Italian

`pt`

Portuguese

`pl`

Polish

`tr`

Turkish

`ru`

Russian

`nl`

Dutch

`cs`

Czech

`ar`

Arabic

`zh`

Chinese

`ja`

Japanese

`hu`

Hungarian

`ko`

Korean

`hi`

Hindi

`fi`

Finnish

## Getting Started

1.  Sign up for an [ElevenLabs account](https://elevenlabs.io) and get your API key
2.  Choose a voice from the ElevenLabs voice library or create a custom voice
3.  Install the package and configure with your credentials

```
import { ElevenLabsTTS } from '@micdrop/elevenlabs'
const tts = new ElevenLabsTTS({  apiKey: 'your-elevenlabs-api-key',  voiceId: 'your-voice-id', // Get this from ElevenLabs dashboard  modelId: 'eleven_turbo_v2_5', // Choose based on your needs  language: 'en',  voiceSettings: {    stability: 0.5,    similarity_boost: 0.75,  },})
// Use with MicdropServernew MicdropServer(socket, {  tts,  // ... other options})
```

### Finding Voice IDs

You can find voice IDs in several ways:

1.  **ElevenLabs Dashboard**: Browse voices in your ElevenLabs account
2.  **Voice Library**: Use the public voice library API

[Previous← Cartesia](/docs/ai-integration/provided-integrations/cartesia)[NextGladia →](/docs/ai-integration/provided-integrations/gladia)

On this page

*   [Installation](#installation)
*   [ElevenLabs TTS (Text-to-Speech)](#elevenlabs-tts-text-to-speech)
*   [Usage](#usage)
*   [Options](#options)
*   [Voice Settings](#voice-settings)
*   [Supported Models](#supported-models)
*   [Supported Languages](#supported-languages)
*   [Getting Started](#getting-started)
*   [Finding Voice IDs](#finding-voice-ids)
