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.

Model nameModel IDLanguages
Scribe V2 Realtime
elevenlabs/scribe_v2_realtime
enen-USen-GBen-AUen-CAen-INen-NZeses-ESes-MXes-ARes-COes-CLes-PEes-VEes-ECes-GTes-CUes-BOes-DOes-HNes-PYes-SVes-NIes-CRes-PAes-UYes-PRfrfr-FRfr-CAfr-BEfr-CHdede-DEde-ATde-CHitit-ITit-CHptpt-BRpt-PTplpl-PLruru-RUjaja-JPzhzh-CNzh-TWzh-HKkoko-KRarar-SAar-EGar-AEar-IQar-DZar-MAar-KWar-JOar-LBar-OMar-QAar-BHar-TNar-YEar-SYar-SDar-LYar-MRar-SOar-DJar-KMar-ERar-TDhihi-INtrtr-TRnlnl-NLnl-BEsvsv-SEidid-IDcscs-CZroro-ROhuhu-HUfifi-FIdada-DKnono-NOthth-THvivi-VNukuk-UAelel-GRhehe-ILmsms-MYsksk-SKhrhr-HRbgbg-BGsrsr-RSslsl-SIetet-EElvlv-LVltlt-LTisis-ISgaga-IEmtmt-MTcycy-GB

LiveKit Inference

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

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_detection, etc.
)

Parameters

modelstringRequired

The model to use for the STT.

languagestringOptional

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_detection, etc.
)
import { AgentSession } from '@livekit/agents';
session = new AgentSession({
stt: "elevenlabs/scribe_v2_realtime:en",
// ... tts, stt, vad, turn_detection, 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.