Skip to main content

ElevenLabs STT

How to use ElevenLabs STT with LiveKit Agents.

Use in Agent Builder

Create a new agent in your browser using this model

Overview

ElevenLabs speech-to-text is available in LiveKit Agents through LiveKit Inference and the ElevenLabs plugin. Pricing for LiveKit Inference is available on the pricing page.

LiveKit Inference

Use LiveKit Inference to access ElevenLabs STT without a separate ElevenLabs API key.

Model nameModel IDLanguages
Scribe v2 Realtime
elevenlabs/scribe_v2_realtime
afaframamhararaasasmazazjbebelbgbulbnbenbsbosmymyacacatcscesnynyacycymdadandedeuelellenengesspaetestfafasfffulfifinfrfragagleglglglglugkakatgugujhahauhehebhihinhrhrvhuhunhyhyeidindigiboisislititajajpnjvjavkkkazkmkhmknkankokorkukurkykirlbltzlnlinlolaoltlitlvlavmimrimkmkdmlmalmnmonmrmarmsmsamtmltnenepnlnldnonorocociororipapanplpolpspusptporroronrurussrsrpsdsndskslkslslvsnsnasosomsvsweswswatatamteteltgtgkththatrturukukrururduzuzbviviewowolxhxhozhzhozuzulastcebfilkealuonsoumbyue

Usage

To use ElevenLabs, use the STT class from the inference module:

from livekit.agents import AgentSession, inference
session = AgentSession(
stt=inference.STT(
model="elevenlabs/scribe_v2_realtime",
language="en"
),
# ... tts, stt, vad, turn_handling, etc.
)

Parameters

modelstringRequired

The model to use for the STT.

languageLanguageCodeOptional

Language code for the transcription.

extra_kwargsdictOptional

Additional parameters to pass to the ElevenLabs STT API. For available parameters, see provider's documentation.

Multilingual transcription

ElevenLabs Scribe 2 Realtime supports multilingual transcription for over 90 languages with automatic language detection.

String descriptors

As a shortcut, you can also pass a model descriptor string directly to the stt argument in your AgentSession:

from livekit.agents import AgentSession
session = AgentSession(
stt="elevenlabs/scribe_v2_realtime:en",
# ... tts, stt, vad, turn_handling, etc.
)
import { AgentSession } from '@livekit/agents';
session = new AgentSession({
stt: "elevenlabs/scribe_v2_realtime:en",
// ... tts, stt, vad, turnHandling, etc.
});

Plugin

Use the ElevenLabs plugin to connect directly to ElevenLabs' STT API with your own API key.

Available in
Python

Installation

Install the plugin from PyPI:

uv add "livekit-agents[elevenlabs]~=1.4"

Authentication

The ElevenLabs plugin requires an ElevenLabs API key.

Set ELEVEN_API_KEY in your .env file.

Usage

Use ElevenLabs STT in an AgentSession or as a standalone transcription service. For example, you can use this STT in the Voice AI quickstart.

from livekit.plugins import elevenlabs
session = AgentSession(
stt=elevenlabs.STT(
model="scribe_v2_realtime",
),
# ... llm, tts, etc.
)

Parameters

This section describes some of the available parameters. See the plugin reference links in the Additional resources section for more details.

modelstringOptionalDefault: scribe_v2_realtime

The ElevenLabs model to use for speech recognition.

Additional resources

The following resources provide more information about using ElevenLabs with LiveKit Agents.