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:

  1. Real-time transcription : Transcript is generated in real-time.
  2. 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 ProviderAsync Transcription (all)Realtime Transcription (Bots)Realtime Transcription (Desktop SDK)
Assembly AI
Deepgram
Gladia
AWS Transcribe
Rev
Speechmatics

❗️

Important: Concurrency considerations

When 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.

ProviderProvider InformationRegions
Assembly AIAssemblyAI Pricingapi.assemblyai.com
AWS TranscribeAWS Transcribe PricingAny supported AWS region
DeepgramDeepgram PricingHosted or self-hosted (docs)
RevRev Pricingapi.rev.ai
SpeechmaticsSpeechmatics Pricingeu2.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_identification to true AND specify language_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

A 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 the assembly_ai_v3_streaming
  • You are trying to use assembly_ai_v3_streaming in 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:

Please reach out to [email protected] to get access to these regions