Comprehensive guide for migrating to Deepgram from other transcription providers (AWS Transcribe, Google Cloud STT, Azure Speech, OpenAI Whisper, Rev.ai, AssemblyAI) using an adapter pattern with parallel running and gradual traffic shifting.
Audit current usage (hours/month, features), map features to Deepgram equivalents, and estimate costs.
Create a TranscriptionAdapter interface with transcribe() and transcribeFile() methods, then implement both the legacy adapter and DeepgramAdapter.
Create a MigrationRouter that routes traffic by percentage (0-100%) between providers, with optional parallel comparison mode.
Run both providers simultaneously, compare results using Jaccard similarity, and verify accuracy meets >= 90% threshold.
Shift traffic incrementally: 5% -> 25% (monitor 1 week) -> 50% (monitor 1 week) -> 100%.
Complete migration, decommission old provider, update documentation.
| Issue | Cause | Resolution |
|---|---|---|
| Low similarity scores | Feature mismatch | Check feature mapping, adjust options |
| Deepgram latency higher | Cold start or model | Pre-warm connections, verify model selection |
| Missing features | Incomplete mapping | Use Deepgram keywords for custom vocabulary |
| Rollback needed | Quality regression | Call emergencyRollback() to set percentage to 0% |
LanguageCode: en-US -> language: "en" (ISO 639-1)ShowSpeakerLabels: true -> diarize: true
VocabularyName: custom -> keywords: ["term:1.5"]
ContentRedaction -> redact: ["pci", "ssn"]
Pre-migration, validation phase, rollout phase (5% -> 25% -> 50% -> 100%), post-migration cleanup.
See detailed implementation for advanced patterns.