Third-Party Transcription
Use one of Recall's AI transcription partners to generate meeting transcripts
In addition to Recall's own transcription, Recall also integrates with several AI transcription partners as a solution for producing transcripts, as well as meeting intelligence such as summarization and sentiment analysis.
There are two options for transcription when using one of our AI transcription partners:
- Real-time transcription : Transcript is generated in real-time.
- Async Transcription: Transcript is generated after the call has completed.
Both methods have pros and cons, and which you choose will ultimately depend on your use case.
If you don't have a need for receiving transcripts in real-time, we recommend starting with asynchronous transcription, as it's generally more accurate and cost effective.
Support Matrix
| Transcription Provider | Async Transcription (all) | Realtime Transcription (Bots) | Realtime Transcription (Desktop SDK) |
|---|---|---|---|
| Assembly AI | ✅ | ✅ | ✅ |
| Deepgram | ✅ | ✅ | ✅ |
| Gladia | ✅ | ✅ | ✅ |
| AWS Transcribe | ❌ | ✅ | ❌ |
| Rev | ✅ | ✅ | ❌ |
| Speechmatics | ✅ | ✅ | ❌ |
Important: Concurrency considerationsWhen going to production, make sure that your account with your 3rd party transcription provider is configured with high enough concurrency limit to support your anticipated load.
Certain transcription providers require that you reach out to increase your concurrency limit, and we highly recommend checking this prior to running production workloads.
Third-Party Transcription Providers
To use a given transcription provider, you can add an API key for the provider in the Recall dashboard using their corresponding dashboard link.
| Provider | Provider Information | Regions |
|---|---|---|
| Assembly AI | AssemblyAI Pricing | api.assemblyai.com |
| AWS Transcribe | AWS Transcribe Pricing | Any supported AWS region |
| Deepgram | Deepgram Pricing | Hosted or self-hosted (docs) |
| Rev | Rev Pricing | api.rev.ai |
| Speechmatics | Speechmatics Pricing | eu2.rt.speechmatics.com |
Once your credentials are set, you're ready to create your first Real-Time or Async transcript.
AWS Transcribe
Policies
We typically recommend developers add the default AmazonTranscribeFullAccess policy to your AWS IAM User. For a minimal config, ensure that you have the transcribe:StartStreamTranscription and transcribe:StartStreamTranscriptionWebSocket actions allowed
Below is a minimal policy to have this working
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowRealtimeStreaming", // Name here is arbitrary
"Effect": "Allow",
"Action": [
"transcribe:StartStreamTranscription",
"transcribe:StartStreamTranscriptionWebSocket"
],
"Resource": "*"
}
]
}
Example Request
To successfully make a request using AWS Transcribe, you must specify either:
language_code(e.g en-US) OR- Set
language_identificationto true AND specifylanguage_options(e.g en-US, fr-FR, es-US, de-DE, it-IT).
Here's an example request body:
{
"recording_config": {
"transcript": {
"provider": {
"aws_transcribe_streaming": {
"language_code": "en-US"
}
}
}
}
}
How to get custom fields from your transcription provider in real-time
If you want to extract a specific field from your transcription provider that is not exposed through real-time transcription events, then you can listen for the raw provider transcription events by adding the transcript.provider_data event to your realtime_endpoints config:
{
// ... other create bot configs
"recording_config": {
// ... other recording config fields
"realtime_endpoints": [
{
"type": "websocket" | "webhook",
"events": [
"transcript.provider_data" // <--- this event!
],
"url": "YOUR_WEBHOOK_OR_WEBSOCKET_URL"
}
]
}
}
The response format varies by provider.
FAQ
Unable to get temporary credentials for assembly_ai_streaming or assembly_ai_v3_streaming
assembly_ai_streaming or assembly_ai_v3_streamingA few issues could be causing this:
- You are trying to use a deprecated model
assembly_ai_streaming- Assembly AI has restricted access to their deprecated model so new users will not be able to access it. Instead, use theassembly_ai_v3_streaming - You are trying to use
assembly_ai_v3_streamingin the EU - Assembly AI's Streaming STT model isn't supported in the EU at this time so you will need to switch to a different model supported in the EU or use a different transcription provider
Which transcription providers process data in the EU?
This is different from provider to provder:
- Assembly - currently only available for async transcription and LeMUR
- Deepgram - currently in early access beta
Please reach out to [email protected] to get access to these regions
Updated about 14 hours ago