Insights & Use Cases
July 8, 2026

Real-time vs batch transcription: What's the difference?

When building Voice AI applications, you'll face a fundamental choice between real-time and batch transcription—two distinct approaches that serve different needs. Learn the difference.

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

Real-time vs batch transcription: What's the difference?

Real-time (streaming) transcription converts speech to text as audio streams in, delivering results in milliseconds so your app can react mid-conversation. Batch (async) transcription processes a complete recording after the fact, using the full audio for the highest possible accuracy and the deepest speech understanding. Real-time optimizes for latency; batch optimizes for accuracy and features. That's the whole tradeoff in one sentence—and if you build Voice AI applications, it's a choice you'll make constantly.

Here's the quick answer if you're deciding right now: use real-time transcription when a delayed transcript is useless (voice agents, live captions, in-call coaching), and use batch transcription when the transcript is consumed after the audio is recorded (post-call analytics, media libraries, legal and medical records). Many teams run both. This guide covers how each method works, how they're priced, the accuracy question everyone asks, and a decision framework for picking one—or combining them.

Real-time vs batch transcription at a glance

Both paths at AssemblyAI run on the same flagship model family, Universal-3.5 Pro, so you're not trading down on the model when you pick a mode—you're picking a delivery mechanism. Here's how the two compare across the dimensions that actually drive the decision.

Dimension Real-time (streaming) Batch (async / pre-recorded)
AssemblyAI model Universal-3.5 Pro Realtime (model id universal-3-5-pro) Universal-3.5 Pro async (model id universal-3-5-pro)
Latency End-of-turn detection lands ~300ms; text returned in milliseconds Seconds to minutes, depending on file length and load
Accuracy Pooled WER 6.99% on real agent conversations (Pipecat open STT benchmark)—market-leading for streaming Highest available; full bidirectional context resolves ambiguity, plus best-in-class diarization
Context Rolling conversation memory (on by default) plus agent_context Full recording analyzed at once, with contextual prompting
Pricing $0.45/hr base, billed on session/WebSocket connection time $0.21/hr, billed on audio duration
Diarization Real-time diarization with end-of-stream re-clustering (~0.5s after the call), up to 10 speakers Most accurate speaker diarization yet, optimized for cpWER (30.17 avg, beats ElevenLabs Scribe v2 and Deepgram Nova-3)
Languages 18 languages with mid-sentence code-switching 18 languages with native code-switching (7.69% avg normalized WER)
Infrastructure Persistent WebSocket connections and streaming state management Stateless REST APIs with webhook callbacks
Best for Voice agents, live captions, live coaching, real-time collaboration Call analytics, media and podcast archives, legal and medical documentation, research

What is real-time transcription?

Real-time transcription—also called streaming transcription—is the instant conversion of live audio into text as speech occurs, delivering results within milliseconds rather than waiting for a recording to finish. The system processes audio in continuous chunks over a persistent connection, returning partial results that firm up into final transcriptions as each segment completes. Because it works without access to future audio, it has historically traded some accuracy for speed—though, as you'll see below, modern streaming models have largely closed that gap.

You'll encounter real-time transcription in voice assistants, live captions during video calls, and meeting platforms that show notes as participants speak. The system analyzes audio in tiny chunks—usually lasting just a fraction of a second—and returns text immediately.

Modern real-time systems have evolved dramatically from early voice recognition technology. Where older systems required careful pronunciation and struggled with natural speech, current AI models handle conversational patterns, multiple speakers, and even interruptions. Universal-3.5 Pro Realtime, for example, carries rolling conversation memory on by default and accepts agent_context—the agent's own question—so it hears the reply through the right lens.

Key capabilities include:

  • WebSocket streaming: Persistent connections for instant audio and text transmission
  • Voice Activity Detection: Automatic identification of when speech starts and stops
  • Speaker separation: Diarization in real time, with end-of-stream re-clustering to sharpen speaker labels once the call ends
  • Progressive refinement: Partial results that improve as more context arrives
  • Context carryover: Rolling memory across the conversation, plus agent_context for voice agents

The technology has become essential for accessibility, enabling deaf and hard-of-hearing individuals to participate in live events.

What is batch transcription?

Batch transcription—also called async or pre-recorded transcription—processes complete audio files after recording, analyzing entire conversations before generating a final transcript. The system waits until you upload a finished recording, then takes anywhere from seconds to a few minutes to produce results with full context.

The workflow is straightforward: submit your audio file or a URL via a REST API call, wait for processing, then receive a complete transcript—typically delivered by a webhook. The system analyzes your entire recording with full context, making multiple passes to refine understanding.

Batch processing excels at handling challenging audio that trips up real-time systems. It distinguishes between similar-sounding words by understanding complete sentence structure, accurately identifies speakers even during interruptions, and applies advanced formatting like proper punctuation. If someone says "there" early in a sentence, batch processing can determine whether they meant "there," "their," or "they're" by analyzing what comes afterward—the streaming model never sees that future audio.

Benefits include:

  • Maximum accuracy: Full bidirectional context for optimal word recognition
  • Best-in-class diarization: Universal-3.5 Pro's joint transcript-and-speaker model, optimized for cpWER
  • Advanced Speech Understanding: Summaries, entity detection, and topic detection over the full transcript
  • Contextual prompting: Prime the model with domain context—in an internal healthcare test, prior-visit notes cut missed medical terms by 31%
  • Cost efficiency: Lower per-hour cost ($0.21/hr) for high-volume, asynchronous workloads

Real-time vs batch transcription: key differences

Real-time transcription processes audio as it streams in, returning text within milliseconds. It optimizes for speed and interactivity, with rolling context standing in for the full recording it can't yet see.

Batch transcription processes a complete audio file after recording and returns a single final transcript. It optimizes for accuracy using full bidirectional context, and it unlocks the deepest speech understanding features.

The differences extend beyond timing. Each approach makes a fundamental trade-off: real-time systems make immediate decisions with incomplete information, while batch systems analyze the entire conversation before committing to any interpretation.

Technical requirements differ significantly too. Real-time transcription needs persistent WebSocket connections and streaming infrastructure to handle concurrent sessions. Batch transcription uses simple request-response patterns that work with standard REST APIs.

Aspect Real-time transcription Batch transcription
Processing Continuous streaming Complete file analysis
Speed Under 1 second Seconds to minutes
Accuracy Market-leading for streaming (6.99% WER) Highest available
Context Rolling memory + agent_context Full bidirectional context
Use cases Live interactions Recorded content archives
Setup Streaming infrastructure Simple file upload
Revisions Non-final to final text Single final output

The choice often comes down to user expectations. If people interact with your system live, they expect immediate responses even if occasionally imperfect. If they're reviewing content later, they prefer maximum accuracy regardless of processing time.

Does real-time transcription sacrifice accuracy for speed?

Much less than the old conventional wisdom suggests. The idea that streaming means noticeably worse transcripts came from an earlier generation of models—modern streaming models have closed most of the gap. On the Pipecat open STT benchmark, which measures real agent conversations, Universal-3.5 Pro Realtime posts a pooled word error rate of 6.99%. For context, that's ahead of ElevenLabs Scribe v2 (9.76%), Google Chirp3 (9.04%), and Deepgram Flux (15.58%) on the same test.

Two things make this possible. First, rolling conversation memory gives the streaming model context from everything said earlier in the call, even though it can't see the future. Second, agent_context—passing the agent's question so the model interprets the reply through that lens—cut WER by 10.2% across 20,000 voice-agent files in AssemblyAI's testing, with even larger gains on fabrications, hallucinations, and place and name entities. One team pairing agent context with prompting drove their production utterance error rate from 26% down to 9%.

That said, batch transcription still wins on the hardest audio. When you have heavy background noise, thick accents, or heavily overlapping speech, full-recording context lets the batch model resolve ambiguities that streaming can't. So the honest framing isn't "real-time is worse"—it's "real-time is now excellent, and batch is still the ceiling for the toughest recordings." For most live use cases, streaming accuracy is more than good enough, and the sub-second responsiveness is worth far more than the last fraction of a percentage point.

How is streaming vs batch priced?

The two modes are priced on different meters, which matters when you're modeling costs at scale. Batch transcription with Universal-3.5 Pro is $0.21/hr, billed on the duration of the audio you submit—a 30-minute file costs the same whether it processes in 20 seconds or two minutes. Real-time transcription with Universal-3.5 Pro Realtime is $0.45/hr base, billed on session (WebSocket connection) time—so you pay for the length of the live connection, not just the speech within it.

A few practical implications:

  • Batch bills on audio duration. Predictable and volume-friendly for archives, call libraries, and media backlogs.
  • Streaming bills on connection time. Keep sessions tight—open the socket when audio starts and close it when the interaction ends to avoid paying for idle connection time.
  • Realtime add-ons are optional. Diarization with revision (+$0.12/hr), prompting (+$0.05/hr), and voice isolation (+$0.10/hr) are only charged if you enable them. Context features (rolling memory, agent_context) and keyterm prompting are included in the base rate.
  • No concurrency tax. Streaming offers unlimited concurrency with no rate limits, so you don't pay extra to scale up live sessions.

If you're building a full voice agent rather than just wiring up STT, the Voice Agent API bundles speech-to-text, LLM reasoning, and text-to-speech into a single flat $4.50/hr—built on Universal-3.5 Pro Realtime. Check current numbers on the pricing page before you finalize a budget.

How does real-time transcription work?

Real-time transcription follows a continuous pipeline that starts the moment audio enters your microphone or streaming platform. The system captures raw audio, converts it to digital format, and immediately begins processing without waiting for silence or conversation breaks.

Audio streams through persistent connections—think of them as always-open channels between your device and the transcription service. The most common protocol is WebSockets, which allows simultaneous audio upload and text download.

The speech recognition model processes each audio segment while maintaining memory of previous segments. This streaming approach means the model makes predictions with incomplete information, occasionally updating its output as new audio provides clearer context.

Streaming protocols and audio processing

WebSocket connections form the backbone of real-time transcription, providing full-duplex communication that handles audio going up and text coming down simultaneously. Your audio gets divided into chunks lasting 100-250 milliseconds—small enough for low delay but large enough to capture meaningful speech patterns.

Each chunk passes through Voice Activity Detection to separate actual speech from silence or background noise. This preprocessing step prevents the system from trying to transcribe air conditioning hums or keyboard clicks.

Real-time noise reduction runs continuously, filtering ambient sounds before the speech recognition model processes the audio. With voice_focus, Universal-3.5 Pro Realtime can isolate the primary speaker—near_field for headsets and phones, far_field for rooms, kiosks, and drive-thrus—which is crucial for accuracy in challenging environments.

The system maintains audio buffers to handle network variations. If your internet connection stutters momentarily, the buffer prevents gaps in transcription while the connection stabilizes.

Latency and accuracy considerations

Latency in real-time transcription comes from multiple sources that each add milliseconds to total delay, with some industry guides reporting typical latencies between 200-500 milliseconds. Network transmission typically adds 50-200ms depending on your distance from the processing servers.

Universal-3.5 Pro Realtime offers three modes—min_latency, balanced (default), and max_accuracy—so you can tune the speed/accuracy dial per use case. Its end-of-turn detection reads tonality, pacing, and rhythm to decide when a speaker has finished, landing around 300ms.

Component Typical delay Impact
Network transmission 50-200ms Usually unnoticeable
Speech processing 100-300ms Noticeable in voice agents
Audio buffering 100-250ms Improves stability
Text formatting 50-100ms Minor impact
Total end-to-end 300-850ms Acceptable for most uses

Modern streaming models achieve accuracy that approaches batch transcription on clear audio. Challenging conditions like heavy accents or significant background noise can still reduce accuracy, since the system lacks future context to resolve ambiguous phrases—but rolling memory and context features narrow that gap considerably.

How does batch transcription work?

Batch transcription relies on standard REST APIs and asynchronous processing—no persistent connections required. Here's what happens from file submission to final transcript:

  1. File submission: You upload an audio or video file directly, or provide a publicly accessible URL via REST API call.
  2. Audio normalization: The system converts your file into a standardized format optimized for the speech recognition model—applying advanced noise reduction and audio leveling without real-time constraints.
  3. Full-context transcription: The model processes the entire file at once, using bidirectional context to resolve ambiguous words and phrases. This is why batch models like Universal-3.5 Pro achieve higher accuracy than streaming models on challenging audio.
  4. Speech understanding: With the full transcript available, additional models run speaker diarization, generate summaries, detect entities, and apply proper punctuation and casing.
  5. Webhook delivery: The completed transcript is returned as a JSON response, typically triggered by a webhook callback your application listens for.

The core advantage of batch processing is bidirectional context: the model analyzes the entire audio file at once, so when it encounters an ambiguous word, it looks at both what came before and what follows to determine the correct transcription. This is why batch models like Universal-3.5 Pro achieve higher accuracy than streaming models, particularly with complex terminology or heavy accents. Batch is also where Universal-3.5 Pro's most accurate diarization yet lives—a joint transcript-and-speaker model optimized for cpWER (30.17 average, ahead of ElevenLabs Scribe v2 at 35.26 and Deepgram Nova-3 English at 37.92). The streaming model never has access to future audio; the batch model always does.

Processing stage Real-time approach Batch approach
Audio input WebSocket stream REST API file upload or URL
Preprocessing Lightweight, real-time filtering Intensive noise reduction and normalization
Context analysis Rolling memory of past audio Full bidirectional context
Speech understanding Limited features available Full suite: diarization, summaries, entities
Output delivery Progressive streaming results Single complete response via webhook

Infrastructure and scaling considerations

Your choice between real-time and batch transcription fundamentally shapes your backend infrastructure. Scaling these two approaches requires entirely different engineering strategies.

Scaling real-time infrastructure

Real-time transcription requires maintaining persistent WebSocket connections. If you're building voice agents or live captioning tools, your infrastructure must handle concurrent, long-lived connections without dropping audio packets.

This means implementing robust connection management, handling network jitter, and managing state across distributed systems. Load balancing WebSockets is inherently more complex than balancing standard HTTP requests because connections are stateful. If a server goes down, the client must immediately reconnect and re-establish the audio stream.

For voice agents, you also need to orchestrate the full pipeline—speech recognition, LLM reasoning, and voice generation—while keeping end-to-end latency around one second. AssemblyAI's Voice Agent API replaces that multi-provider complexity with a single WebSocket connection: one API, one bill, one set of logs, built on Universal-3.5 Pro Realtime for industry-leading speech accuracy and low latency. It's invisible infrastructure—your users feel like you built the whole thing yourself.

Scaling batch infrastructure

Batch transcription infrastructure is comparatively straightforward. It relies on stateless REST APIs and asynchronous webhooks. When you need to process thousands of hours of audio, you simply submit the files and wait for a webhook callback when the processing is complete.

Scaling batch workloads is primarily about managing concurrency limits and handling webhook payloads—not dropped packets or microsecond latency. Your architecture focuses on reliable file storage, database updates upon webhook receipt, and retry logic for failed uploads. That simplicity makes batch transcription highly resilient for high-volume, asynchronous processing.

When to use real-time vs batch transcription

The right choice comes down to one core question: do your users need a response during the conversation, or is the transcript consumed after the audio is recorded?

  • Choose real-time transcription when your application requires immediate feedback—voice agents, live captions, or in-call coaching tools where a delayed transcript is useless.
  • Choose batch transcription when your application processes completed recordings—post-call analytics, media transcription, legal documentation, or research where accuracy and speaker labels outweigh speed.
  • Consider a hybrid approach when you need both: real-time for live interaction, batch for the archival record.

Which is better for voice agents vs call analytics?

Voice agents need real-time; call analytics need batch. A voice agent has to hear the caller and respond within about a second, so streaming with Universal-3.5 Pro Realtime is the only option that fits—and agent_context plus rolling memory give it the accuracy to act on what it hears. Call analytics, by contrast, runs after the call is over: you want the most accurate transcript, clean speaker labels via cpWER-optimized diarization, and full conversation intelligence features, none of which depend on speed. Many contact center stacks do both: stream live for the agent-assist experience, then batch-process the recording for QA, compliance, and analytics.

Real-time transcription use cases

Voice agents and conversational AI require sub-second response times to maintain natural conversation flow. When you're building customer service bots or interactive voice systems, real-time transcription enables the immediate understanding necessary for contextual responses.

The slight accuracy trade-off becomes acceptable because users can clarify misunderstandings through continued conversation. A voice agent that responds quickly but occasionally mishears a word provides a better experience than one that's perfectly accurate but slow.

Live captioning for accessibility serves audiences during video calls, broadcasts, and live events. Immediate caption display—even if occasionally imperfect—provides far more value than delayed but perfect transcriptions.

Modern streaming models achieve sufficient accuracy for viewers to follow conversations naturally. The key is getting captions on screen fast enough to match speech rhythm.

Real-time collaboration transforms how teams work together. Meeting participants see transcribed notes appear instantly, can search previous discussion points during conversations, and receive AI-generated action items before meetings end.

Sales teams particularly benefit from real-time transcription for live coaching, with managers providing guidance during customer calls based on conversation flow. This use case highlights a major trend, as a 2025 industry survey found that over 80% of respondents predict real-time capabilities will be the most transformative in conversation intelligence.

Batch transcription use cases

Content creation and archival benefits from batch transcription's superior accuracy. Podcast producers, video creators, and media companies need precise transcripts for SEO, accessibility compliance, and content repurposing.

The extra processing time becomes irrelevant since transcripts are prepared before publication. Accuracy matters more than speed for content that will be searched, quoted, and redistributed.

Legal and medical documentation demands the highest possible accuracy, since errors can carry real consequences. For this reason, as an industry guide confirms, most ambient AI scribes use batch transcription to prioritize accuracy, which is essential when medical jargon is involved. Court reporters, medical transcriptionists, and compliance officers rely on batch processing to ensure every word gets captured correctly. For teams handling protected health information, AssemblyAI is considered a business associate under HIPAA and offers a Business Associate Addendum (BAA), available to sign without a sales call.

Research and analysis applications process interview recordings, focus groups, and qualitative research data. Researchers need accurate transcripts they can code, analyze, and cite in publications.

Batch transcription's ability to generate formatted documents with timestamps and speaker labels streamlines research workflows. The system can identify themes, extract quotes, and organize content automatically.

Choose the right transcription approach for your application

Start by evaluating your core requirements. If users need immediate responses or real-time feedback, streaming transcription becomes essential regardless of other factors.

For processing recorded content later, batch transcription's accuracy advantages usually outweigh longer processing times. The decision framework becomes clearer when you consider user expectations and technical constraints.

Decision criteria:

  • Need results under 2 seconds: Choose real-time transcription
  • Require maximum accuracy and diarization: Choose batch transcription
  • Users interact live: Choose real-time transcription
  • Processing recorded content: Choose batch transcription
  • High volume, cost-sensitive: Batch bills on audio duration at $0.21/hr; streaming bills on connection time at $0.45/hr

Consider hybrid approaches for complex applications. Many platforms use real-time transcription during live sessions for immediate functionality, then run batch transcription afterward for archival accuracy.

This combination provides an optimal user experience—instant interactivity plus maximum accuracy for permanent records. You get the best of both worlds without forcing users to choose between speed and quality.

Because both modes at AssemblyAI use the same universal-3-5-pro model id and consistent interfaces, you can implement both with similar code structures—making it easy to pick the right method for each use case without learning two different systems.

Final words

Here's the through-line the tradeoff table doesn't quite capture: the real-time vs batch decision used to be a decision about accuracy, and it isn't anymore. With streaming WER now at 6.99% on real conversations, the choice has quietly shifted to being about when you need the answer and which features you need alongside it—latency and live interaction on one side, deep speaker diarization and full-file speech understanding on the other. That reframing matters, because it frees you to pick the mode that fits the moment instead of defaulting to batch just to feel safe about quality.

AssemblyAI provides both approaches through a unified API. For real-time use cases, Universal-3.5 Pro Realtime delivers sub-second responses and market-leading streaming accuracy. For batch, Universal-3.5 Pro offers state-of-the-art accuracy and the best diarization yet by analyzing full-file context—across 18 languages with native code-switching. Try AssemblyAI free and test both modes against your own audio.

Test Both Modes on Your Own Audio

Universal-3.5 Pro Realtime delivers sub-second responses and market-leading streaming accuracy; Universal-3.5 Pro async offers state-of-the-art accuracy and the best diarization yet. Try AssemblyAI free and run both against your audio.

Try AssemblyAI free

Frequently asked questions

What's the difference between real-time and batch transcription?

Real-time (streaming) transcription converts audio to text as it streams in, delivering results in milliseconds so your app can react during the conversation. Batch (async) transcription processes a complete recording after the fact, using the full audio for the highest accuracy and the deepest speech understanding features like diarization and summaries. In short: real-time optimizes for latency, batch optimizes for accuracy and features. At AssemblyAI, both run on the same Universal-3.5 Pro model family, so the difference is delivery mechanism, not model quality.

When should I use streaming vs batch?

Use streaming when a delayed transcript is useless—voice agents, live captions, and in-call coaching all need a response during the conversation. Use batch when the transcript is consumed after the audio is recorded—post-call analytics, media and podcast archives, legal and medical documentation, and research. If you need both a live experience and an accurate permanent record, run a hybrid: stream during the session, then batch-process the recording afterward.

Does real-time transcription sacrifice accuracy for speed?

Far less than it used to. Universal-3.5 Pro Realtime posts a pooled word error rate of 6.99% on real agent conversations (Pipecat open STT benchmark), ahead of ElevenLabs Scribe v2 (9.76%), Google Chirp3 (9.04%), and Deepgram Flux (15.58%). Rolling conversation memory and agent_context—which cut WER by 10.2% across 20,000 voice-agent files—let modern streaming models close most of the gap. Batch still wins on the hardest audio (heavy noise, thick accents, heavy overlap) because it sees the full recording, but for most live use cases streaming accuracy is more than sufficient.

Can you transcribe pre-recorded audio faster than real time?

Yes. Batch transcription of a pre-recorded file typically finishes far faster than the audio's duration—seconds to a few minutes for most files, since the model processes the whole recording at once rather than waiting for it to play back. That's different from real-time transcription, which is bounded by the pace of live speech. So for a recorded 60-minute call, batch is usually the fastest way to get a complete, accurate transcript; real-time only makes sense when the audio is still happening live.

How is streaming vs batch priced?

They're billed on different meters. Batch transcription with Universal-3.5 Pro is $0.21/hr, billed on audio duration—you pay for the length of the file. Real-time transcription with Universal-3.5 Pro Realtime is $0.45/hr base, billed on session (WebSocket connection) time—you pay for how long the live connection stays open. Realtime add-ons like diarization with revision (+$0.12/hr), prompting (+$0.05/hr), and voice isolation (+$0.10/hr) are optional. Check the pricing page for current numbers before budgeting.

Which is better for voice agents vs call analytics?

Voice agents need real-time; call analytics need batch. A voice agent must hear and respond within about a second, so streaming with Universal-3.5 Pro Realtime is the fit—and agent_context plus rolling memory give it the accuracy to act on what it hears. Call analytics runs after the call, so batch delivers the most accurate transcript, cpWER-optimized speaker diarization, and full conversation intelligence. Many contact center stacks do both: stream live for agent assist, then batch-process the recording for QA and analytics.

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
Speech-to-Text