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 name | Model ID | Languages |
|---|---|---|
| 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, inferencesession = AgentSession(stt=inference.STT(model="elevenlabs/scribe_v2_realtime",language="en"),# ... tts, stt, vad, turn_detection, etc.)
Parameters
stringRequiredThe model to use for the STT.
stringOptionalLanguage code for the transcription.
dictOptionalAdditional 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 AgentSessionsession = 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.
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 elevenlabssession = 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.
stringOptionalDefault: scribe_v2_realtimeThe ElevenLabs model to use for speech recognition.
Additional resources
The following resources provide more information about using ElevenLabs with LiveKit Agents.