PARAS MADAN
All writing

Latest in AI

Scribe v3 Live Migration: Speaker Labels, Language Switching and API Checks

Changing the model ID is straightforward, but live transcripts need a different approach to speaker identity and multilingual input.

ElevenLabs released Scribe v3 and Scribe v3 Live on November 10. The recorded-audio model targets transcription accuracy, while Live adds real-time speaker labeling and better handling of conversational pauses. For developers moving an existing transcription product, the important question is what must change beyond the model name.

The launch announcement describes both models as available through ElevenAPI, with Live also available in ElevenAgents. This is a documentation-based migration guide, not a report of firsthand testing.

Choose the recorded or real-time model first

Use scribe_v3 for recorded audio and scribe_v3_live for streaming. The model reference describes the batch upgrade as a model-ID replacement with existing request parameters preserved. Live retains the real-time WebSocket endpoint, so an existing streaming integration does not need a new transport simply to select the model.

Start with that narrow change. Keep the old configuration available, run the same audio through both versions and compare outputs before enabling additional features. Otherwise, a regression could come from the model, language settings or application event handling, and you will have changed all three at once.

For recorded audio, v3 supports up to 32 speakers and a keyterm list of up to 1,000 entries. Those limits make it worth testing on meetings with specialist vocabulary, but they do not establish that your product names will always be recognized correctly.

Handle speaker labels as revisable data

The diarization guide requires diarize=true with model_id=scribe_v3_live. It is off by default. Other models reject the option, and combining it with filter_background_audio also fails.

Partial speaker labels are provisional. Each committed transcript is followed by a diarized_transcript event with the same segment_index; use that index to join them. A speakers_merged event can later combine identities, so apply merges to earlier stored words as well. An unresolved speaker can remain null.

Consider an illustrative meeting where one person is initially labeled speaker_1, then merged into speaker_0. If your interface changes only the newest sentence, the transcript still shows two people where the model now recognizes one. Store speaker identity separately from the rendered transcript, and make historical labels updateable. Keep unresolved labels visibly unresolved rather than inventing a name.

This also affects summaries. An action item attributed to the wrong speaker can be more damaging than a misspelled word. Delay identity-dependent exports until you have processed the relevant labeling events, and test whether later corrections reach every downstream view.

Language switching needs a separate test

According to the language-options guide, multilang_mode=true follows language switches, including within a sentence. It transcribes speech in its original language and script; it does not translate it. The documentation currently says official SDKs do not support this option yet, so it requires a direct WebSocket connection.

The trade-off matters in noisy environments: background speech in another language may enter the transcript, and short phrases are more error-prone. A clean bilingual demo will miss that failure mode. Include background conversation and brief borrowed phrases in your evaluation, then decide whether the added flexibility helps your actual users.

Judge the migration by downstream mistakes

ElevenLabs reports 27% fewer word errors for batch v3 versus v2 across 102 languages in its evaluation. Those are vendor results. The launch also distinguishes clean single-speaker benchmark audio from its internal meeting and call dataset, which was not yet released with the announcement.

For a useful acceptance test, choose recordings you have permission to process and label the errors your product cannot tolerate: names, amounts, dates, speaker assignments and interrupted numbers. Compare those errors alongside latency and the final cost visible in your account. Do not infer v3 pricing from an older v2 price card.

A migration is worth shipping when it reduces corrections in the workflow you sell. A better aggregate transcription score helps, but a meeting assistant still fails if it confidently assigns the right sentence to the wrong person.

I’m Paras. I work at the intersection of AI, engineering and distribution.

I help technical teams explain APIs, product changes and engineering trade-offs in content developers can actually use.

Book a 30-minute call