Turning meeting audio into usable text sounds like a solved problem. However, dealing with audio quality issues, overlapping speakers, and vernacular specific to an industry or region complicates the process of turning speech into text. When teams need the transcript in real time, developers face the additional tradeoff of speed versus accuracy.
Transcription providers like Deepgram, AssemblyAI, and ElevenLabs have spent years building speech-to-text models tuned for different priorities. Some models optimize for speed, some for accuracy across accents and languages, some for the analysis you can layer on top of a transcript. The right model and provider depend on your use case: a live sales-coaching tool has very different requirements than a legal tool that keeps records of the depositions for after the event.
In this guide, we'll walk through:
- Six of the most popular transcription providers
- How to use Recall.ai's unified transcription API to swap providers with a one-line config change
- How to toggle between low-latency and high-accuracy modes using Recall.ai's built-in transcription engine
- The difference between real-time and near-real-time transcription
Real-time transcription API providers
Picking a transcription API usually comes down to a handful of tradeoffs: latency, language coverage, accuracy on the audio you care about, and how much analysis you want bundled in versus building yourself. Here's a brief overview of six of the most popular transcription providers.
ElevenLabs
ElevenLabs started with a focus on AI voice generation and voice cloning. They decided to extend their audio expertise to handle voice to text as well using their Scribe speech-to-text models. Their newest model, Scrive v2 Realtime, is a transcription service focused on quick processing speeds of around 150 milliseconds.
Configuring real-time transcription with ElevenLabs
//@title ElevenLabs Recall Config
"recording_config": {
"transcript": {
"provider": {
"elevenlabs_streaming": {
"model_id": "scribe_v2_realtime"
}
}
}
}
Because ElevenLabs' transcription models share infrastructure with its voice generation stack, they lean heavily on structured output: word-level timestamps, speaker diarization, and non-speech event tagging like laughter show up out of the box. These tools are helpful when working with video and audio from meetings that require accurate subtitles, captions and searchable transcripts.
On the real-time side, users find Scribe v2 Realtime is a good fit for use cases with voice agents and live meeting transcription, where sub-200ms turnaround matters more than exhaustive post-processing. You can also use ElevenLabs to generate speech sent in meetings using Recall.ai’s Output Media .
Deepgram
Deepgram offers a streaming API built to deliver transcripts in under a second which has also made them an attractive service for users looking to build voice-agent platforms. They offer users speech-to-text, text-to-speech and orchestration in a single API simplifying the developer experience.
Configuring real-time transcription with Deepgram
//@title Deepgram Recall Config
"recording_config": {
"transcript": {
"provider": {
"deepgram_streaming": {
"model": "nova-3"
}
}
}
}
Applications like AI voice agents, live customer support, browser-based voice interfaces and real-time agent-assist tools rely on snappy, live responses and Deepgram promises that.
AssemblyAI
AssemblyAI began as a transcription API, but has expanded their services to become a speech AI platform. They offer developers both raw transcriptions and audio intelligence including: sentiment analysis, entity recognition, and summarization. They’ve even built an LLM layer called LeMUR to allow users to ask questions about the transcript.
Configuring real-time transcription with AssemblyAI
//@title AssemblyAI Recall Config
"recording_config": {
"transcript": {
"provider": {
"assembly_ai_v3_streaming": {}
}
}
}
AssemblyAIs bundling of sentiment analysis and summarization is a major selling point. Teams building call-center analytics or meeting-intelligence products often start with AssemblyAI specifically because they need to know how the conversation felt and what the follow-up items were, without stitching together a separate NLP pipeline.
Developers on forums like Reddit and G2 frequently make mention of AssemblyAI’s ability to build meeting, interview, and video transcription workflows including transcribing large batches of non-English interviews for research without a lot of custom tooling.
AWS Transcribe
AWS Transcribe is AWS’s managed speech-to-text service which benefits from the larger AWS ecosystem built around it. For teams already running on AWS, Transcribe plugs directly into the sentiment and entity extraction tool (Comprehend), contact-center workflows (Connect), and custom processing (Lambda). All of this is available within your existing billing and IAM setup.
Configuring real-time transcription with AWS Transcribe
//@title AWS Transcribe Recall Config
"recording_config": {
"transcript": {
"provider": {
"aws_transcribe_streaming": {
"language_code": "en-US"
}
}
}
}
AWS Transcribe is therefore simple if you have existing AWS infrastructure. Amazon Transcribe Call Analytics handles both real-time and post-call scoring including sentiment, call drivers, categories, and summaries as part of AWS's broader Contact Center Intelligence offering.
Rev
Rev began as a human based transcription service before creating their AI product. Rev AI leverages their existing base of human-verified transcripts to provide transcriptions. Rev maintains their human transcription services for some more sensitive tasks like legal proceedings which require near-perfect accuracy and legal-based format outputs.
Configuring real-time transcription with Rev
//@title Rev Recall Config
"recording_config": {
"transcript": {
"provider": {
"rev_streaming": {
"language": "en"
}
}
}
}
Rev’s highlighted use cases include those in legal, journalism, and consulting.
Speechmatics
Speechmatics, a UK-based speech recognition company focuses on locale based audio. They recognize and handle heavy accents, regional dialects, background noise and multilingual conversations where speakers switch languages mid-sentence.
They offer users low or no language preconfigurations when working with their models. Speechmatics supports multilingual speech recognition as described in our piece on codeswitching. Their models do not require you to specify a language to start.
Configuring real-time transcription with Speechmatics
//@title Speechmatics Recall Config
"recording_config": {
"transcript": {
"provider": {
"speechmatics_streaming": {
"language": "en"
}
}
}
}
Speechmatics is frequently the recommendation in developer communities specifically for accented and multilingual audio, where English-first models tend to degrade fastest.
Recall.ai's unified transcription API for live transcription
Reading through six providers above, you've probably noticed they're genuinely different products. Each provider has different auth schemes, config shapes, and response formats. Testing all of them to find the right fit for your product means integrating six APIs before you've learned anything about which one actually performs best on your audio resulting in spending substantial engineering time before you can make an educated decision. But using Recall.ai you caan abstract away much of the differences in how you call each.
Once developers integrate with Recall.ai, switching transcription providers becomes a one-to-two-line config change.
curl --request POST \
--url https://RECALL_REGION.recall.ai/api/v1/bot/ \
--header "Authorization: RECALL_API_KEY" \
--header "accept: application/json" \
--header "content-type: application/json" \
--data '
{
"meeting_url": "MEETING_URL",
"recording_config": {
// Place any provider config block from the section here to specify your
// transcription provider
"realtime_endpoints": [
{
"url": "REAL_TIME_TRANSCRIPT_WEBHOOK_ENDPOINT",
"type": "webhook",
"events": ["transcript.data"]
}
]
}
}
'
To use third-party providers with Recall.ai, simply add your credentials (ElevenLabs, Deepgram, whichever you're testing) to your Recall.ai account. From there Recall can authenticate to that provider on your behalf. The rest of your code, from how you create bots to how you receive transcript events, doesn't change at all when you swap providers.
How can I use Recall.ai's built-in real-time transcription?
Recall.ai also offers its own native transcription provider that provides transcription live or after the call. Like most providers on this list, developers using Recall.ai transcription must decide if they want to prioritize latency or accuracy. Recall.ai handles this preference with two explicit modes.
Low latency
Low-latency mode is built for one thing: speed. Transcript segments typically arrive in less than 1-3 seconds of an utterance being finalized. This is fast enough to power live captions and real-time coaching prompts used to keep up with live conversations.
If your audio is reliably English and speed is the priority, this is the straightforward choice.
curl -X POST https://us-west-2.recall.ai/api/v1/bot/ \
-H "Authorization: Token $RECALLAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"meeting_url": "https://meet.google.com/xxx-xxxx-xxx",
"recording_config": {
"transcript": {
"provider": {
"recallai_streaming": {
// Set mode to prioritize_low_latency
"mode": "prioritize_low_latency",
"language_code": "en"
}
}
},
}
}'
High accuracy
High-accuracy mode trades that speed for configurability and precision. It supports four flags:
language_code(supports automatic language detection)key_termsfor prioritizing domain-specific vocabulary like product namesspellingfor custom corrections on proper nounfilter_profanityfor cleaning up output.
On real-time endpoints, high-accuracy transcript events are typically delayed 3-10 minutes, but users still receive the transcript during the call.
curl -X POST https://us-west-2.recall.ai/api/v1/bot/ \
-H "Authorization: Token $RECALLAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"meeting_url": "https://meet.google.com/xxx-xxxx-xxx",
"recording_config": {
"transcript": {
"provider": {
"recallai_streaming": {
// Set mode to prioritize accuracy for your transcriptions
"mode": "prioritize_accuracy",
"language_code": "en"
}
}
},
}
}'
What's the difference between real-time and near-real-time transcription?
These terms get used loosely, so it's worth being precise, especially since the provider and mode you pick above directly determines which bucket you're in.
Real-time transcription delivers transcript data continuously while the call is still happening. You get segments as they're spoken, not a finished document at the end.
Near-real-time transcription delivers the full transcript as a single response, generated after the call ends. Near-real-time exists in the category of asynchronous transcription, but is low latency. Teams can expect to receive a transcript anywhere from a few seconds to a few minutes after the meeting has ended, depending on the provider and mode.
Developers should pick real-time when feedback has to happen inside the conversation. Use cases include live captions for accessibility, real-time translation, sales-call coaching, or an agent-assist tool surfacing talking points while the end-user is still in the meeting. The cost is added complexity because you are building against a stream of real time responses instead of handling a single response at the end of the meeting. Depending on transcription provider/mode there can also be an accuracy tradeoff for that speed.
Near-real-time wins when the value only exists after the complete conversation is available. Common use cases include meeting summaries, action items, updating CRMs, and compliance archives. These workflows need the entire conversation before they can generate maximally useful outputs, so the extra minutes of processing is a tradeoff teams are happy to make, accuracy is generally higher because the transcription model has the context of the entire conversation, and the integration is simpler (one webhook, one response).
Getting started with Recall.ai’s unified transcription provider API
Choosing a transcription provider is something you validate by actually testing providers against your audio, use case, and latency requirements. The faster you can run that test, the faster you can validate and ship your product.
That speed to market and flexibility to change both your mind and your transcription provider is what Recall.ai's unified transcription API is built for. Integrate once, and test ElevenLabs, Deepgram, AssemblyAI, AWS Transcribe, Rev, Speechmatics, or Recall.ai transcription by changing a couple of lines, not rebuilding your integration for each one.
If you have questions about meeting recording, async or real-time transcription, multilingual workflows, or choosing a transcription provider, feel free to chat with us about your use case. You can also sign up for a free Recall.ai account and use Recall.ai’s unified API to test transcription providers.
.avif)