Insights & Use Cases
August 19, 2026

Universal-3.5 Pro for pre-recorded audio: code-switching and contextual prompting in action

Two capabilities from the Universal-3.5 Pro async release, shown on real audio: native code-switching across 18 languages, and a one-line prompt that fixes words other models mishear.

Kelsey Foster
Growth
Reviewed by
No items found.
Table of contents

We recently brought Universal-3.5 Pro to real-time. Now it's here for pre-recorded audio too — and for meeting note-takers, post-call analysis, and any transcription workflow, that means the most accurate transcription we offer across accents, English, and every language we now support out of the box. For the full launch details, see the Universal-3.5 Pro async announcement. This post focuses on two capabilities the demo shows off best: native code-switching and contextual prompting.

Native code-switching, no configuration

Universal-3.5 Pro code-switches natively — it transcribes every word in the language it was actually spoken, mid-sentence, with no flags to set and no separate language pass. The demo runs three quick examples, each transcribed in under about ten seconds:

  • English and French. A single utterance that slides between the two languages comes back with both mixed correctly in the transcript.
  • Hindi and English. One turn that starts in Hindi and ends in English is transcribed with each half in its own language, matching the speaker's code-switching exactly.
  • English and Mandarin. Accented English seamlessly mixed with Mandarin — down to correctly identifying a single Mandarin character dropped into an English sentence.

That's what makes truly global transcription products possible: you don't have to know, or declare, which language a speaker will use. Universal-3.5 Pro handles 18 languages with native code-switching built into the model, not stitched on afterward. Here's a standard pre-recorded request — omit speech_models to always run the latest Universal Pro model, or pin it explicitly:

{
  "audio_url": "<recording url>",
  "speech_models": ["universal-3-5-pro"]
}
Hear Code-Switching On Your Own Audio

Upload a multilingual clip — no language flags, no separate detection pass — and see each word come back in the language it was actually spoken.

Try playground

Contextual prompting: steer the transcript with plain language

The second capability is where accuracy on hard audio really jumps. The demo plays a clip a general model would butcher — a League of Legends player saying "In solo queue, I ban Azir." Very hard to make out, and without any prompt the model transcribes it as "In solo queue, I better leave." Close phonetically, completely wrong semantically.

Then the demo adds a prompt — literally, "This is about League of Legends. League of Legends roles." Transcribe again, and the model now returns "In solo queue, I ban Azir" correctly, because it has the context that Azir is a champion and "ban" is a common phrase in the game.

{
  "audio_url": "<recording url>",
  "speech_models": ["universal-3-5-pro"],
  "prompt": "This is about League of Legends. League of Legends roles and champions."
}

Contextual prompting is far more powerful with this model, and you don't have to be instructional about formatting or punctuation — the model infers that out of the box. What the prompt does is steer the model toward the entities, names, and hard-to-pronounce words that speech-to-text models generally struggle with. That's exactly what makes or breaks critical post-processing: meeting summaries, robust notes, and any downstream workflow that depends on getting the names right.

Try It On Your Own Hard Audio

Give Universal-3.5 Pro a clip full of names, jargon, or product terms plus a one-line prompt, and watch the entities other models miss resolve correctly.

Sign up free

What you get on the pre-recorded API

Universal-3.5 Pro is the recommended default for pre-recorded audio at $0.21/hr. Alongside code-switching and contextual prompting, it ships the most accurate speaker diarization AssemblyAI has released — the model jointly produces the transcript and the speaker changes, capturing short turns and overlapped speech. For healthcare audio, add Medical Mode with a single domain parameter. And for summaries or structured extraction on top of a transcript, hand it to LLM Gateway.

Meeting note-takers, post-call analytics, and transcription pipelines are the use cases this release is built for. Teams like Granola, Fireflies, and Dovetail already build recorded-audio workflows on AssemblyAI — Universal-3.5 Pro is the accuracy floor for the next ones.

Build On The Accuracy Floor

Universal-3.5 Pro is the recommended default for pre-recorded audio at $0.21/hr, with diarization, Medical Mode, and LLM Gateway on the same key. Start free.

Sign up free

Frequently asked questions

What is Universal-3.5 Pro?

It's AssemblyAI's flagship speech-to-text model, now available for pre-recorded (async) audio at $0.21/hr. It's built for real-world audio, with three defining capabilities: native code-switching across 18 languages, the most accurate speaker diarization AssemblyAI has shipped, and contextual prompting.

What is native code-switching?

Code-switching is when a speaker mixes languages within a conversation or even a single sentence. Universal-3.5 Pro transcribes each word in the language it was spoken — English/French, Hindi/English, English/Mandarin — with no configuration and no separate language-detection pass.

How does contextual prompting improve accuracy?

You pass a short natural-language prompt describing the audio (for example, a topic or a set of domain names), and the model uses it to resolve entities, names, and hard-to-pronounce terms it would otherwise miss. In the demo, a prompt turned a misheard "I better leave" into the correct "I ban Azir."

Which languages does Universal-3.5 Pro support?

18 languages with native code-switching: English, Spanish, French, German, Italian, Portuguese, Arabic, Danish, Dutch, Finnish, Hebrew, Hindi, Japanese, Mandarin, Norwegian, Swedish, Turkish, and Vietnamese.

How do I use Universal-3.5 Pro for pre-recorded audio?

Set "speech_models": ["universal-3-5-pro"] in your transcription request, or omit speech_models to always run the latest Universal Pro model. Add a prompt for contextual steering, and layer on features like diarization or Medical Mode as needed.

Title goes here

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Button Text
Universal-3.5 Pro Realtime