Free Live CaptionAbout
LanguageEnglish

ElevenLabs Scribe v3 and Live: Real-Time Captions, Speaker and Noise Handling

I break down ElevenLabs Scribe v3 and Scribe v3 Live across 150ms real-time captions, speaker diarization, turn prediction, API pricing, and WebSocket setup.

Summary

  • ElevenLabs split its release into Scribe v3 for recorded files (27% lower word error rate across 102 languages) and Scribe v3 Live for 150 ms real-time.
  • Scribe v3 Live adds real-time speaker diarization (3.1% DER), context-aware turn prediction so mid-sentence pauses do not cut speakers off.
  • Switching via the official SDK will silently drop turn prediction, multilingual mode.
  • API billing as of 2026-11-11 runs $0.20/hour for batch and $0.22/hour for live streaming, billing silence at full price unless you gate silent audio locally.

When ElevenLabs announced Scribe v3 and Scribe v3 Live on November 10, 2026, it split its speech-to-text architecture into two separate models designed for messy, real-world audio rather than clean studio reads. Scribe v3 handles asynchronous batch transcription for recorded audio and video files, while Scribe v3 Live handles real-time streaming at a median latency of 150 ms for live captions, meeting notes, and voice agents.

If you have used Scribe v2 or Scribe v2 Realtime, the upgrade targets the three places where automated transcripts usually fall apart: noisy multi-person rooms where speakers talk over each other, callers who pause mid-sentence while reading out numbers, and conversations that switch languages in the middle of a phrase. Across 102 languages on the FLEURS benchmark, Scribe v3 cuts the overall word error rate (WER) by 27% compared to Scribe v2—dropping from 16.94% down to 12.38%—and lowers speaker labeling errors by 17% on recordings with three or more people. Meanwhile, Scribe v3 Live brings speaker diarization to real-time streaming for the first time, cuts semantic word error rate by 43% over Scribe v2 Realtime, and uses conversational context to tell the difference between a brief hesitation and the end of a turn.

Below, I break down how the new turn prediction and speaker tracking actually work in practice, how Scribe v3 Live compares to Soniox STT v6 and Voxtral 3, the hidden SDK limitation you will hit when upgrading, and how the per-hour billing handles silence.

On this page

What Changed in Scribe v3 and Scribe v3 Live

Most speech-to-text benchmarks rely on single-speaker clips recorded in quiet rooms. When I test live captioning tools on real calls or crowded conference tables, errors rarely come from common dictionary words. They happen when two people interrupt each other, when street noise masks a name, or when a speaker slows down to read an address and the transcription engine chops the sentence in half.

Context-Aware Turn Prediction Instead of Silence Timers

In Scribe v2 Realtime and most competing streaming APIs, endpoint detection relies on a simple Voice Activity Detection (VAD) silence timer. You set a millisecond threshold for silence, and when the speaker stops making noise for that long, the model commits the sentence. That forces a frustrating trade-off. If you set a short threshold to keep live captions snappy, the system cuts people off whenever they pause mid-sentence to think or read out a credit card number. If you set a long threshold, captions lag behind the room and voice agents feel sluggish.

Scribe v3 Live replaces the raw silence timer with context-aware turn prediction (commit_strategy="turn_prediction"). Instead of only measuring decibels and milliseconds of quiet, the model evaluates the words and acoustic cadence of the ongoing sentence alongside the audio stream. If someone says, "My postcode is four, five..." and pauses for a second to check a piece of paper, Scribe v3 Live recognizes that the phrase is grammatically and acoustically incomplete and holds the turn open. When Dutch energy provider Eneco tested Scribe v3 Live on live customer support calls ahead of release, first-try recognition jumped by 40% on Dutch postcodes and 15% on house numbers simply because the stream stopped severing numbers mid-utterance.

Real-Time and Multi-Speaker Diarization

Getting the words right does not help much in a meeting transcript if the software assigns an action item to the wrong person. In batch mode, Scribe v3 supports up to 32 speakers in a single recording (diarize: true) and reduces diarization errors by 12% overall and 17% on recordings with three or more speakers compared to Scribe v2. If your recording hardware captures separate tracks per participant, you can also enable use_multi_channel=true to process up to 5 audio channels at once and map each channel directly to its own speaker ID without relying on acoustic clustering.

The bigger shift is in Scribe v3 Live. Previously, if you wanted speaker labels from ElevenLabs, you had to wait for a batch job to finish after the call ended. Scribe v3 Live runs diarization inside the 150 ms live stream. To keep speaker identification from slowing down the text display, the WebSocket stream sends a provisional speaker_id inside each partial transcript chunk so your caption window updates immediately. Once a sentence is committed, the API sends a confirmed, speaker-labeled event right after it. On ElevenLabs' 16-language real-world dataset of meetings and agent calls, Scribe v3 Live scored a 3.1% diarization error rate on English audio, beating other tested real-time models by 39% (which landed between 5.9% and 7.3%).

Mid-Sentence Language Switching and 10,000-Word Keyterm Libraries

For multilingual users, Scribe v3 Live adds a dedicated multilang_mode=true parameter. In older streaming setups, switching from Hindi to English or Spanish to English in the middle of a sentence either produced garbled phonetic approximations or required locking a primary language upfront. With multilingual mode active, Scribe v3 Live detects code-switching inside a single sentence and writes each language in its native script as the person speaks. For recorded files, Scribe v3 lets you pass secondary_language_codes (such as ["en", "hi"]) to prime the model for mixed-language audio.

Across non-English languages, the accuracy gains in v3 are weighted heavily toward languages that usually struggle in live captioning. In batch mode on FLEURS, Scribe v3 reduced word errors by 42% in German, 35% in Spanish, 34% in Swahili, 29% in Tamil, 28% in Thai, and 23% in English. In real-time streaming, Scribe v3 Live cut semantic word error rates by 77% in Greek, 54% in Danish, 45% in Croatian, and 36% in Hindi. On specialized English benchmarks, batch WER dropped from 5.99% to 3.91% on accented earnings calls (Earnings-22) and from 2.13% to 1.71% on European Parliament speeches (VoxPopuli).

To keep company jargon, clinical drug names, and product SKUs from being autocorrected into everyday words, the two models use different vocabulary tools:

  • Keyterm Prompting: Available in both models, allowing you to pass up to 1,000 specific terms (up to 50 characters each) in Scribe v3 batch requests, or up to 50 terms (up to 20 characters each) in Scribe v3 Live.
  • Keyterm Library: Exclusive to Scribe v3 Live, this lets you upload a dictionary of up to 10,000 terms (and up to 100,000 in enterprise configurations). Instead of stuffing all 10,000 words into the active prompt window and slowing down inference, Scribe v3 Live only checks the library when it hears an acoustic match that sounds close to an entry.
  • Formatting and Redaction Controls: Both models let you force numbers into digits or spelled-out words (numbers_format="digits" or "words"), pass plain-English transcript editing rules (such as "write every date as YYYY-MM-DD"), tag non-speech audio events like laughter or footsteps, and detect or redact 65 types of sensitive PII entities.

Scribe v3 and v3 Live vs. Scribe v2, Soniox STT v6, and Voxtral 3

Choosing between Scribe v3 Live and other transcription engines comes down to how your audio is routed and whether your data is allowed to leave your machine.

Scribe v3 vs. Scribe v2 (and ElevenLabs App Video Captions)

Last week, I covered ElevenLabs App Video Captions, which brought word-level subtitle timing, automatic speaker color coding, and bilingual translation tracks to the iOS and Android apps as well as Studio 4.0. At the time of that rollout, the video captioning pipeline relied on Scribe v2.

As of November 10, 2026, Scribe v3 and Scribe v3 Live are the default models inside the ElevenLabs mobile app, Studio, and ElevenAgents. If you are a video creator burning subtitles into MP4 clips on your phone, the visual workflow in the app stays the same, but you automatically get Scribe v3's 27% lower word error rate and cleaner speaker separation when three or more people overlap. Where the API diverges from the mobile app is control: the mobile app focuses on visual styling and bilingual subtitle exports, while the Scribe v3 API exposes entity redaction, multichannel track mapping, and the 10,000-term keyterm library for live meetings and automated workflows.

Scribe v3 Live vs. Soniox STT v6

On ElevenLabs' Speech to Text page, Scribe v3 Live posts a lower multilingual semantic word error rate than every major cloud streaming competitor tested across their shared language sets:

  • vs. Gemini 3.5 Transcribe Live (75 languages): 4.8% on Scribe v3 Live vs. 8.3% on Gemini
  • vs. GPT-Live-Transcribe (57 languages): 3.9% on Scribe v3 Live vs. 6.7% on GPT
  • vs. Deepgram Nova-3 (53 languages): 3.6% on Scribe v3 Live vs. 12.5% on Deepgram
  • vs. AssemblyAI Universal-3.6 Pro Realtime (31 languages): 3.6% on Scribe v3 Live vs. 5.5% on AssemblyAI
  • vs. Grok Voice Transcribe 2.0 (25 languages): 2.3% on Scribe v3 Live vs. 4.7% on Grok

However, raw WER numbers do not tell you what happens when you run a live meeting or voice agent on a laptop without headphones. When I tested Soniox STT v6, its biggest practical advantage was built-in Agent Voice Echo Cancellation (AEC) paired with 60+ language code-switching. If an AI voice agent or a remote meeting participant speaks through your open laptop speakers, Soniox strips that output signal out of your microphone feed so the model does not transcribe its own echo.

Scribe v3 Live has stronger multi-speaker diarization in crowded rooms and context-aware turn prediction, plus broader coverage across 90+ languages. But Scribe v3 Live does not include server-side echo cancellation for local speaker bleed. If you run Scribe v3 Live in a speakerphone setup without hardware or browser-level AEC enabled, the model will hear the speaker output, treat it as another person in the room, and label it as a separate speaker in your transcript.

Scribe v3 vs. Voxtral 3

For medical, legal, and enterprise teams, ElevenLabs runs Scribe v3 and v3 Live in the US by default, offers isolated data residency environments in the EU, India, and Singapore, supports Zero Retention Mode (which deletes audio and text immediately after the request completes), and provides HIPAA Business Associate Agreements alongside SOC 2, ISO 27001, and PCI DSS Level 1 compliance.

Even with Zero Retention Mode, Scribe v3 is still a cloud API. If you need to transcribe sensitive meetings or interviews on a laptop with Wi-Fi turned off and zero external API calls, look at my comparison of Voxtral 3 vs. Nemotron 3.5 Transcribe. Mistral's Voxtral 3 runs locally on your own GPU across 50+ languages with no backend server required. Use Voxtral 3 when strict local execution and zero per-hour billing are your top priorities; use Scribe v3 Live when you need 150 ms streaming captions, live speaker labels, and turn prediction without dedicating local VRAM to speech recognition.

Feature / Metric ElevenLabs Scribe v3 (Batch) ElevenLabs Scribe v3 Live Soniox STT v6 Voxtral 3
Primary Use Case Recorded audio & video files Real-time captions, meetings & voice agents Real-time voice agents & speakerphone calls Offline / local multi-language transcription
Streaming Latency Asynchronous (4x parallel chunking over 8 min) 150 ms median latency Sub-200 ms WebSocket streaming Batch-oriented (streaming depends on local GPU)
Speaker Diarization Up to 32 speakers (-17% error on 3+ speakers) Real-time diarization (3.1% English DER) Real-time speaker labels & adaptation Acoustic speaker clustering
Pauses, Interruptions & Echo Word-level timestamps & dynamic audio tags Context turn prediction (turn_prediction) Built-in Agent Voice Echo Cancellation (AEC) Punctuation & attention-based segmentation
Languages & Code-Switching 90+ languages (secondary_language_codes) 90+ languages (multilang_mode=true mid-sentence) 60+ languages (native code-switching) 50+ languages
Pricing & Deployment $0.20/hr API (Cloud, EU/IN/SG residency) $0.22/hr API (Cloud, Zero Retention available) Commercial per-minute API (Cloud / Private) Open-weight local execution (or token API)

How to Enable Scribe v3 and Scribe v3 Live (And the SDK Trap)

Depending on whether you want quick subtitles for a recorded video or a live streaming caption feed, you can access the v3 models through three paths.

1. ElevenLabs Web Studio and Mobile App

If you use the ElevenLabs iOS or Android app, you do not need to toggle a hidden setting—both Scribe v3 and Scribe v3 Live are already active as the default transcription models. Any voice note you record or video you import for captions uses the v3 engine automatically.

On desktop, sign in to the ElevenLabs Speech to Text workspace inside ElevenCreative. Click Upload file and drop in an MP3, WAV, M4A, FLAC, MP4, MOV, AVI, or WebM file. Once Scribe v3 finishes processing, the editor displays color-coded speaker labels, word-level timestamps, and non-speech audio tags, allowing you to export the transcript directly as an SRT, VTT, DOCX, or TXT file. If you are building conversational bots in ElevenAgents, open your agent's Speech-to-Text / ASR settings panel and select Scribe v3 Live from the model dropdown. For healthcare teams, ElevenLabs also provides a medical-tuned variant of Scribe v3 Live inside ElevenAgents alongside scribe_v2_medical in the API.

2. Batch REST API Setup (scribe_v3)

If you already have a script or app calling the ElevenLabs Speech to Text API, upgrading recorded audio transcription is a drop-in change. Send your POST request to https://api.elevenlabs.io/v1/speech-to-text and swap model_id from "scribe_v2" to "scribe_v3".

The batch endpoint accepts single files up to 5 GB and up to 15 hours in duration (if you enable use_multi_channel=true, the combined duration across all channels is capped at 15 hours). Whenever you upload a file longer than 8 minutes (480 seconds), ElevenLabs automatically splits the audio into up to 4 parallel segments behind the scenes using the formula Concurrency = min(4, round_up(audio_duration_secs / 480)) so multi-hour meeting recordings finish in a fraction of the time.

3. Real-Time WebSocket Setup (scribe_v3_live) and the Official SDK Pitfall

Here is the trap that catches developers upgrading to Scribe v3 Live. In the launch announcement, ElevenLabs shows a clean JavaScript snippet using @elevenlabs/elevenlabs-js:

import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();
const connection = await elevenlabs.speechToText.realtime.connect({
  modelId: "scribe_v3_live",
  commitStrategy: "turn_prediction",
});

However, if you check the migration notes in the official ElevenLabs Models documentation, ElevenLabs explicitly warns that the official SDKs do not support turn prediction, multilingual mode, or the keyterm library yet. Furthermore, the commit_strategy parameter defaults to "manual" if it is not recognized or explicitly set.

If you rely on the current Python or JavaScript SDK wrappers and pass turn_prediction or multilang_mode, those features will not activate. To actually get context-aware turn prediction, mid-sentence language switching, and the 10,000-word keyterm library today, you must bypass the SDK helper method and open a direct WebSocket connection to:

wss://api.elevenlabs.io/v1/speech-to-text/realtime?model_id=scribe_v3_live

On that direct WebSocket connection, explicitly pass commit_strategy="turn_prediction", diarize=true, and multilang_mode=true in your query or initialization payload.

Pricing, Plan Limits, and the Silence Metering Rule

ElevenLabs splits Scribe v3 billing into two completely different systems depending on whether you transcribe files inside the web UI or through the API.

Web UI Subscription Tiers

Inside the browser dashboard at elevenlabs.io, Scribe v3 usage is bundled into your monthly plan alongside voice generation credits, with a 3 GB maximum file size and support for up to 32 speaker labels:

  • Free ($0/month, 10k credits): Limited trial access to Scribe v3 in the UI; API usage billed separately.
  • Starter ($6/month, $1 first month, 30k credits): Includes 1 hour and 31 minutes of Scribe v3 UI transcription per month and up to 12 concurrent transcriptions.
  • Creator ($22/month, $11 first month, 121k credits): Includes 6 hours and 7 minutes per month and up to 20 concurrent transcriptions.
  • Pro ($99/month, 600k credits): Includes 30 hours and 18 minutes per month and up to 40 concurrent transcriptions.

API Pricing and Add-On Fees

When you call scribe_v3 or scribe_v3_live over the API, ElevenLabs does not deduct character credits from your monthly subscription pool. Instead, the Speech to Text API bills directly in USD per second of audio, calculated at an hourly rate:

  • Scribe v3 (Batch API): $0.20 per hour of audio (~$3.33 per 1,000 minutes). Turning on Keyterm Prompting adds +$0.05/hour, and enabling natural-language Transcript Editing adds +$0.07/hour.
  • Scribe v3 Live (Realtime WebSocket API): $0.22 per hour of streamed audio (~$3.67 per 1,000 minutes). Turning on Keyterm Prompting adds +$0.08/hour, attaching a Keyterm Library adds +$0.08/hour, and enabling Transcript Editing adds +$0.12/hour. If you turn on all three add-ons simultaneously in a live stream, your effective rate rises from $0.22/hour to $0.50/hour.

Watch Out for the Silence Metering Rule

Before you leave a Scribe v3 Live WebSocket connection open for an all-day webinar or upload unedited lecture recordings, read the billing rule in the ElevenLabs Speech to Text documentation: silence counts toward your billed duration with no discount.

Both batch and real-time endpoints meter every single second of audio you transmit over the wire, including long pauses, muted microphones, and intermissions. If you keep a scribe_v3_live WebSocket open during a two-hour meeting where nobody speaks for 45 minutes, you still pay the full hourly rate for those 45 silent minutes. To keep your API bill down in live captioning apps, run a lightweight local silence detector on the client device to stop sending audio frames when the room has been completely silent for more than a few seconds, while letting Scribe v3 Live's turn_prediction handle the natural sub-second pauses while someone is actively talking.

Sources and checks