green-match-33925
03/09/2026, 7:19 AMtall-airline-16756
03/09/2026, 7:20 AMtall-airline-16756
03/09/2026, 7:20 AMelevenlabs/scribe_v2_realtime) with a LiveKit voice agent: 1) LiveKit Inference (no external API key needed) and 2) the ElevenLabs plugin (uses your ElevenLabs API key). Which one you pick depends on whether you want LiveKit to host the inference or call ElevenLabs directly.
If you want me to show a full voice-agent example (with TTS, VAD, or LLM integration), tell me which language (Python or Node.js) and whether you prefer LiveKit Inference or the ElevenLabs plugin.
Option 1 — LiveKit Inference (recommended for simplicity)
• No ElevenLabs API key required; LiveKit hosts the model.
• Quick Python example:
from livekit.agents import AgentSession, inference
session = AgentSession(
stt=inference.STT(
model="elevenlabs/scribe_v2_realtime",
language="en" # optional: set language code or omit for auto-detect
),
# add tts=..., llm=..., vad=... as needed
)
• Quick Node.js / TypeScript example:
import { AgentSession } from '@livekit/agents';
const session = new AgentSession({
stt: "elevenlabs/scribe_v2_realtime:en", // optional ":<lang>"
// add tts, llm, vad, etc.
});
Option 2 — ElevenLabs plugin (use your own ElevenLabs API key)
• Use this if you need direct ElevenLabs features or want to supply your own API key.
• Install the plugin (Python example):
uv add "livekit-agents[elevenlabs]~=1.4"
• Set your API key in your environment:
ELEVEN_API_KEY=your_api_key_here
• Python example using the plugin:
from livekit.plugins import elevenlabs
from livekit.agents import AgentSession
session = AgentSession(
stt=elevenlabs.STT(
model="scribe_v2_realtime"
# extra_kwargs={...} can pass model-specific options
),
# add tts, llm, vad...
)
Notes and tips
• Model name: use elevenlabs/scribe_v2_realtime or scribe_v2_realtime (plugin) — not “Scrive.”
• Language: you can optionally pass a language code (e.g., en) or rely on automatic language detection.
• With the plugin, you can pass additional model-specific options via extra_kwargs to access ElevenLabs realtime STT features.
• LiveKit Inference pricing applies when using hosted inference.
If you want, I can:
• Provide a full working voice-agent example (Python or Node.js) that includes microphone capture, VAD, and streaming audio to STT and TTS; or
• Show how to pass extra_kwargs to enable specific ElevenLabs realtime options; or
• Help tune latency / chunk sizes for real-time transcription.
Which language and option should I show a complete example for?
Sources: ElevenLabs STT | LiveKit Documentationgreen-match-33925
03/09/2026, 7:22 AMtall-airline-16756
03/09/2026, 7:22 AM