Transcription errors do not stay in the transcript. They corrupt every downstream system that depends on accurate conversation data: CRM entries inherit misspelled names, LLM summaries miss negations, coaching scores penalize the wrong speaker. Aircall cut transcription processing time by 95% and scaled to over one million calls per week, results that required architectural planning, not an API key swap alone.
We assume you have already decided to switch. This guide covers the how: audio compatibility, feature parity, accuracy validation, and a four-stage phased cutover designed to move your infrastructure without a single minute of user-visible downtime.
Why teams switch STT providers
Diagnosing real-world transcription errors
Most STT failures are not catastrophic but quiet. A provider that handles clean read-speech well on a benchmark may degrade substantially on noisy, accented, or multi-speaker audio from real calls, and the degradation does not surface in dashboards. It surfaces weeks later in support tickets about wrong names in CRM records or action items attributed to the wrong speaker.
For contact center teams, the audio conditions are the problem: compressed telephony audio at 8kHz, overlapping speakers, non-native accents, and code-switching between languages mid-call. Generic benchmarks miss these conditions entirely. Our blind STT comparison across six models shows the gap between clean benchmark performance and production reality.
For European business audio, Solaria-3 ranks #1 across English, French, German, Spanish, and Italian on real customer recordings, ahead of AssemblyAI, ElevenLabs, Deepgram, Mistral, and Speechmatics.
Eliminating hidden usage fees
Base STT rates are a poor predictor of your actual invoice. Deepgram's diarization adds $0.12 per hour on top of the base rate, with additional Audio Intelligence fees applying for sentiment and NER. AssemblyAI charges an additional $0.02 per hour for speaker separation, with sentiment analysis adding $0.02/hr and Entity Detection (NER) adding $0.08/hr on top, as detailed in our AssemblyAI vs Deepgram pricing comparison.
We include diarization, translation, sentiment analysis, and NER in the base per-hour rate on Starter and Growth plans, with no add-ons and no line items to model separately. Starter runs at $0.61/hr for async transcription and Growth plans start as low as $0.20/hr.
Infrastructure partner, not application competitor
Some providers now build application-layer products that compete directly with the teams using their API. Deepgram's Voice Agent API and AssemblyAI's LeMUR layer both position those providers in the same product category as their API customers. We have publicly committed to remaining a pure-play audio infrastructure provider and do not build meeting assistants or CCaaS applications.
Bridging language and code-switching gaps
On language coverage, code-switching support separates providers at the architecture level. When a speaker moves between English and French mid-call, most APIs fail silently or return garbled output. Solaria-1 handles true mid-conversation language detection automatically without requiring pre-specification of the switch point. The differentiator is not configuration burden, as several providers now offer automatic detection, but accuracy under the conditions that break most models: compressed telephony audio, overlapping speakers, non-native accents, and rapid switches between languages mid-sentence. That is where production WER gaps between providers are largest, and the benchmark conditions that expose them are worth running on your own call recordings.
Assess your STT stack for migration gaps
Before writing any integration code, run this assessment against your current setup.
Migration readiness self-assessment:
- Downstream systems: Audit every system that reads transcript output: LLM pipelines, CRM webhooks, coaching scorecards, subtitle generators, and search indexes.
- Feature inventory: Document which features you use today: diarization, translation, sentiment, NER, PII redaction, and custom vocabulary.
- Diarization workflow: Confirm your speaker attribution workflow uses batch processing, since diarization requires the complete audio signal for accurate speaker clustering.
- Audio specifications: Document your current codec, sample rate, channel count, and maximum file duration.
- Data residency: Map your compliance requirements to EU cluster, US cluster, or on-premises deployment.
- Training policy: Verify in writing whether your current provider uses your audio to retrain models by default, and document the answer for your legal team.
- Custom vocabulary: Export all custom entries, brand names, product terms, and domain jargon currently configured.
- Error patterns: Pull one month of API error logs to identify failure modes before they become migration blockers.
Audit your current audio pipeline
Architectural coupling is the primary migration risk. If your application calls the STT provider directly from your core service, swapping providers requires touching every endpoint in that service. If you have routed audio through an orchestration layer such as Pipecat or LiveKit, the provider swap becomes a configuration change rather than a code rewrite. We provide native integrations with LiveKit, Twilio, Recall, Pipecat, Vapi, MeetingBaaS, Vonage, and Telnyx so decoupled architectures can route to our API without major refactoring.
Map active speech features for parity
Map every feature you currently use to verify parity. Key areas to check:
- Diarization: Powered by pyannoteAI's Precision-2 model and available in async workflows only. Our speaker diarization documentation covers the full configuration. Meeting recordings introduce a distinct validation requirement: while contact center audio is typically 2-speaker, meeting assistant audio regularly spans 3–15 participants with overlapping speech, crosstalk, and muted-then-unmuted transitions. Run your diarization parity test on multi-participant recordings from your actual meeting platform, not just 2-speaker samples, before committing to cutover.
- Sentiment analysis: This is text-based sentiment inference derived from the transcript, not acoustic emotion detection from raw audio waveforms. If your downstream system expects acoustic tone analysis, that is a separate capability that STT APIs do not provide.
- PII redaction: This feature is optional and must be explicitly configured. It does not activate by default, so never assume transcript outputs are anonymized unless your API call includes the redaction parameter.
- Audio-to-LLM outputs: Summaries, action items, and entity extraction run as a structured pipeline after transcription. Route outputs to your own LLM or use our integrated options per the Audio-to-LLM documentation.
Map API endpoints and SDK calls
Our migration guides from Deepgram and AssemblyAI map specific endpoint differences for the two most common migration paths. For teams moving from self-hosted setups, our documentation covers the Python and JavaScript SDKs in detail. Multiple customers report sub-24-hour integration to production.
Audit privacy and residency mandates
This is the section most product leaders skip and legal teams later flag. On Growth and Enterprise plans, we never use customer audio for model training and no opt-out negotiation is required. On the Starter plan, data can be used for training by default. That distinction matters for GDPR compliance and should appear in your vendor selection documentation.
We hold our compliance certifications (SOC 2 Type II, ISO 27001, HIPAA, GDPR, and PCI), a Data Processing Agreement, and EU-west cluster deployment for EU-based teams. For organizations requiring on-premises or air-gapped hosting, that option is available on Enterprise.
Map audio specifications for switching
Audio format compatibility and resampling overhead
We accept a wide range of audio formats including WAV, M4A, FLAC, and AAC, with full codec, sample rate, and file-size specifications documented in our supported formats reference. Files up to 135 minutes and 1000MB are supported per async request.
If your current pipeline resamples audio on egress to match provider requirements, check whether you can remove that step after switching, since unnecessary resampling adds latency and can degrade audio quality before it reaches the model.
Matching API modes to your use case
Async transcription is our core strength: approximately 60 seconds of processing per hour of audio, with full-context accuracy, diarization, and multilingual handling. This is the right mode for meeting assistants, note-takers, post-call analytics, and any workflow where the audio exists before the transcript is needed.
Real-time transcription runs on Solaria-1 with approximately 300ms final transcript latency and partials under 103ms, fitting live captions, voice agents, and live-assist workflows. Solaria-3 is async only. If your product serves European business audio and you are evaluating real-time, use Solaria-1 for the live stream and post-process with Solaria-3 for the final high-accuracy record.
Maintain product stability during migration
Syncing custom vocabulary and spelling rules
Custom vocabulary is the most commonly missed migration step. If your current provider has learned your product names, brand terminology, or domain jargon, those entries do not transfer automatically. Compile your full custom vocabulary list before cutover and re-register every entry through our configuration. Our documentation covers custom vocabulary format and API parameters. Custom spelling rules for proper nouns and acronyms should be tested specifically on your highest-volume audio before traffic is shifted.
Mapping response data to your schema
The JSON response from our API contains the full transcript with word-level timestamps, speaker labels, sentiment scores, detected entities, and translation in a single payload. Map each field to your existing database schema before switching any production traffic:
- Timestamp format: We return word-level timestamps per the format documented in our API reference. If your schema stores sentence-level timestamps, build the aggregation logic in the adapter layer.
- Speaker labels: We identify speakers as
"speaker": 0, "speaker": 1, etc., per the convention documented in our speaker diarization documentation. If your schema expects named speakers, handle the mapping in your application layer. - Confidence scores: We include word-level confidence values in every response. If your downstream systems use confidence thresholds for quality gating, verify the value range matches your current provider.
Managing timestamp drift in migration
Timestamp drift is the gap between word-level timestamps returned by the STT provider and the actual audio position. Even small drift values, a few hundred milliseconds, cause visible subtitle misalignment and incorrect highlight markers in meeting assistant apps. Validate timestamp accuracy by running identical audio through both providers and comparing word-level onset times against a reference alignment before ramping any production traffic. For meeting assistant products specifically, test beyond subtitle alignment: chapter markers, searchable transcript highlights, and action item timestamps all anchor to word-level onset values, and a drift of even 200–400ms causes misaligned bookmarks and incorrect highlight positioning in the recording playback UI.
"Preferred vendor for speech-to-text speed & accuracy" - Verified user on G2
Run custom audio tests to verify accuracy
Define your golden benchmark dataset
Build a representative test set from your own production recordings: audio files covering your distribution of speakers, languages, accents, noise levels, and call durations. Human-annotate the ground truth transcripts on this set before running any provider comparison. For European contact center teams, include a representative sample of financial calls, agent-customer conversations with background noise, and any code-switching scenarios from your real call volume. For meeting assistant and note-taker products, include recordings that reflect your actual meeting-length distribution (short 15-minute syncs, 60-minute all-hands calls, and any asynchronous video notes) with speaker counts ranging from 2 to 15 participants, and audio sourced from your actual capture platform (Zoom, Google Meet, or Teams), since platform codec compression introduces encoding artifacts that affect WER differently than telephony audio.
Measure word error rate (WER)
Run your golden dataset through both your current provider and the candidate replacement. Calculate word error rate for each file: the sum of insertions, deletions, and substitutions divided by the total words in the reference transcript. Aggregate by language, noise level, and speaker count to identify where the performance delta is largest.
Solaria-3 reaches 6.4% WER on Earnings22 financial call audio, the only model under 7% on that dataset. Do not make a cutover decision based on aggregate WER alone. Claap, a video meeting note-taker serving multilingual teams, transcribes one hour of meeting video in under 60 seconds across 99+ languages, after switching from a US-centric incumbent.
Benchmark diarization error rate (DER)
Diarization error rate measures the percentage of audio time incorrectly attributed to the wrong speaker. Test speaker attribution accuracy on your multi-speaker recordings using ground truth speaker labels. Our async benchmark shows 3x lower DER on conversational speech compared to alternatives.
For European contact center audio, Solaria-3 is the stronger choice across English, French, German, Spanish, and Italian. Solaria-1 covers 100+ supported languages.
Execute a phased cutover
Four-stage phased cutover
- Offline validation: Run your golden benchmark dataset through our API and your current provider simultaneously. Compare outputs file by file. Do not proceed to live traffic until the accuracy delta on your domain-specific audio meets your acceptance threshold. This stage requires no production changes.
- Shadow live streams: Route a copy of live audio to our API while keeping your current provider in production. Implement a tee split at ingestion: duplicate the audio stream, send one copy to each provider, and log outputs with identical request IDs. Use your current provider's output for production and ours for logging and comparison.
- Controlled ramp: Shift production traffic incrementally: 10%, then 25%, 50%, then 100% over one to two weeks depending on call volume. Monitor error rates, latency, and downstream system behavior at each threshold before advancing.
- Final cutover: At 100% traffic on our API, run your full post-migration QA checklist before decommissioning the old integration. Verify webhook delivery, entity extraction accuracy on a sample of recent calls, and timestamp alignment in any synchronized-display features. The live API reference covers webhook configuration for async completion events so your downstream LLM pipelines trigger reliably without polling.
Establishing your migration safety net
Implement a circuit breaker pattern that routes requests to our API as primary, monitors response latency and error rate, and falls back to the legacy provider if either threshold is breached.
Scale your STT spend with confidence
All-in per-hour cost comparison by provider
The table below compares all-in per-hour costs across volume tiers. Add-on rates for Deepgram (diarization $0.12/hr extra, additional Audio Intelligence fees for sentiment and NER) and AssemblyAI Universal-2 (diarization $0.02/hr extra, sentiment $0.02/hr extra, NER $0.08/hr extra. Note that AssemblyAI's current recommended model, Universal-3 Pro, is priced higher) are sourced from published pricing per our AssemblyAI vs Deepgram comparison. Verify current rates directly against each provider's pricing page before finalizing your model.
| Provider |
Base async rate |
With diarization |
With diarization + sentiment + NER |
Notes |
| Gladia Starter |
$0.61/hr |
$0.61/hr |
$0.61/hr |
All features included, no add-ons |
| Gladia Growth |
$0.20/hr |
$0.20/hr |
$0.20/hr |
All features included, no add-ons |
| Deepgram (Nova-3) |
$0.46/hr |
$0.58/hr |
Additional Audio Intelligence fees |
Diarization $0.12/hr extra, additional Audio Intelligence fees for sentiment and NER |
| AssemblyAI (Universal-2) |
$0.15/hr |
$0.17/hr |
$0.27/hr |
Diarization $0.02/hr extra, sentiment $0.02/hr extra, NER $0.08/hr extra. AssemblyAI's current recommended model (Universal-3 Pro) is priced higher. |
On Growth, you pay the same $0.20/hr whether you use diarization, translation, sentiment, or all three simultaneously. That predictability matters when you are building three cost scenarios in a spreadsheet before committing to a vendor at scale.
The hidden cost of self-hosting
Teams moving off self-hosted setups carry an additional DevOps cost not visible in per-hour billing. Self-hosted STT infrastructure requires ongoing infrastructure provisioning, model update cycles, scaling management, and incident response, engineering capacity that comes directly out of your product roadmap. Contact center teams that moved to managed STT describe redirecting that engineering overhead back to product work.
Steps to minimize downtime during migration
Managing the transition window
Schedule Stage 3 traffic ramping and Stage 4 final cutover during your lowest-traffic windows. For many meeting assistant products, this is typically early Sunday morning. For global CCaaS platforms, identify the lowest-overlap window across your primary geographic markets. During the shadow and ramp phases, maintain both API credentials in your secret manager with distinct environment variable names, since rate limits and concurrent session limits apply per API key. Our infrastructure scales to thousands of parallel sessions without pre-provisioning. A financial services customer currently runs 800 concurrent sessions through our API without capacity forecasting overhead.
Preventing post-migration errors
Automate monitoring for these failure modes after cutover:
- Empty transcripts: Alert if your empty transcript rate exceeds your pre-migration baseline, which indicates extended silence or that the maximum audio duration was reached.
- Webhook delivery failures: Monitor your webhook endpoint for missed completion events and implement an idempotency check to prevent duplicate downstream triggers if a webhook is retried.
- Latency regressions: Track p95 transcript delivery time against your pre-migration baseline for both async and real-time workflows.
- Entity extraction drift: Spot-check named entity extraction against your custom vocabulary list daily for the first two weeks post-migration.
Our engineers are available on Slack during your migration window if you encounter failure modes not covered in the documentation. Direct engineering access, not a ticket queue, is what makes sub-24-hour integration timelines realistic for most teams.
Start with €50 in free credit and have your integration in production in less than a day. Test our models on your own multilingual audio to see how we handle language detection, accent-heavy speech, and code-switching.
FAQs
Do your models retrain on customer audio?
On Growth and Enterprise plans, your data is never used to train models, with GDPR and SOC 2 Type II compliance built in as the default and no opt-out required. On the Starter plan, data can be used for training by default.
Is speaker diarization available in real-time?
No. Speaker diarization is async-only, powered by pyannoteAI's Precision-2 model, because accurate speaker clustering requires the complete audio signal. For real-time workflows, speaker attribution should be handled in post-processing for higher accuracy.
What is the latency for real-time transcription?
Real-time transcription runs on Solaria-1 with a final transcript latency of approximately 300ms and partial transcripts under 103ms. Solaria-3 is async only and does not support real-time streaming.
Are there extra fees for translation or sentiment analysis?
No. Diarization, translation, sentiment, and NER are all included in the base per-hour rate on Starter and Growth plans, with no add-on line items.
Which model fits European contact center audio?
Use Solaria-3 for European business and contact center audio across English, French, German, Spanish, and Italian. Use Solaria-1 for full language breadth, code-switching across 100+ languages, real-time streaming, or clean read-speech audio. The two models are complementary and you can run both depending on the workflow.
What audio formats and file size limits apply?
We accept WAV, M4A, FLAC, AAC, and most common formats. Files up to 135 minutes and 1000MB are supported per async request. Full specifications are in our supported formats documentation.
Key terms glossary
Word error rate (WER): The standard metric for transcription accuracy, calculated by dividing the sum of insertions, deletions, and substitutions by the total words in the reference transcript. Lower is better.
Diarization error rate (DER): The metric for speaker diarization performance, measuring the percentage of audio time attributed to the wrong speaker.
Code-switching: The practice of alternating between two or more languages within a single conversation. Solaria-1 supports automatic mid-conversation language detection without pre-specification of the switch point.
Acoustic emotion detection: Analysis of vocal characteristics such as pitch and tone in the raw audio waveform. This is distinct from the text-based sentiment inference we provide, which analyzes the transcript text, not the audio signal.
Circuit breaker pattern: An architectural failover pattern that monitors primary API error rate and latency, automatically routing traffic to a fallback provider when thresholds are breached, then retrying the primary after a recovery window.
CCaaS (Contact Center as a Service): Cloud-based software that handles customer interactions across voice, chat, and other channels. Platforms in this category rely on accurate transcription to power analytics, coaching, and CRM integration.
CRM (Customer Relationship Management): Software that stores customer data, interaction history, and sales pipeline information. Transcription errors propagate directly into CRM entries, corrupting downstream reporting and customer records.
LLM (Large Language Model): AI models like GPT-4 or Claude that generate summaries, extract insights, and answer questions based on text input. LLM outputs are ceiling-bounded by transcript accuracy.
NER (Named Entity Recognition): The process of identifying and extracting specific data types such as names, phone numbers, account numbers, and product names from transcripts.
PII (Personally Identifiable Information): Data that can identify an individual, such as names, addresses, phone numbers, or email addresses. PII redaction must be explicitly configured and is not enabled by default.