Recall.ai Transcription
Recall.ai transcription is the easiest way to get transcripts for a recording because:
- It is preconfigured to work out of the box for the majority of use cases, based on our experience helping thousands of developers implement transcription.
- Unlike third-party providers, it requires no additional setup.
We recommend starting with Recall.ai transcription to see if it meets your needs, and using a third-party transcription provider if you need more granular control or custom features.
Use the following table to choose the right Recall.ai Transcription method and configuration:
| Need | Transcription method | Latency | Recommended configuration |
|---|---|---|---|
| Final transcript after the recording completes | Post-meeting transcription | After the recording completes | Use Recall.ai post-meeting transcription with recallai_async. Skip to this section. |
| Recall.ai customization options, e.g., language detection, key terms, spelling corrections, or profanity filtering | Real-time transcription | Typically delayed by 3-10 minutes | Use Recall.ai real-time transcription with recallai_streaming and mode: "prioritize_accuracy". Skip to this section. |
| Low-latency transcription with customization options | Real-time transcription | Within seconds | Use a third-party transcription provider. |
| English transcript events during the meeting | Real-time transcription | Within seconds | Use Recall.ai real-time transcription with recallai_streaming, mode: "prioritize_low_latency", and language_code: "en". Skip to this section. |
| Multilingual transcript events during the meeting | Real-time transcription | Within seconds | Use a third-party transcription provider. Also see Multilingual Transcription. |
Quickstart
Supported transcription workflows
| Workflow | Supported |
|---|---|
| Post-meeting transcription | ✅ Yes |
| Real-time transcription with meeting bots | ✅ Yes |
| Real-time transcription with Desktop Recording SDK | ✅ Yes |
Recall.ai Transcription for post-meeting transcription
You can transcribe a meeting once the recording has been finalized with Recall.ai Transcription.
To use Recall.ai Transcription for post-meeting transcription, set the provider to recallai_async in the Create Async Transcript request using the recording ID:
curl --request POST \
--url https://RECALL_REGION.recall.ai/api/v1/recording/RECORDING_ID/create_transcript/ \
--header 'Authorization: RECALL_API_KEY' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"provider": {
"recallai_async": {
"language_code": "auto"
}
}
}
'Recall.ai post-meeting transcription supports additional transcription options (e.g. language_code, key_terms, spelling, and filter_profanity):
| Option | What it does | When to use it |
|---|---|---|
language_code | Sets the language used for transcription. See the list of supported languages. | Use this when you know the language being spoken, or set it to auto to use language detection. |
key_terms | Prioritizes important words or phrases during transcription. | Use this for product names, company names, acronyms, technical terms, or other domain-specific vocabulary. |
spelling | Applies custom spelling corrections to the transcript output. | Use this when specific words or phrases should appear in a consistent format, e.g., product names, company names, acronyms, or people’s names. |
filter_profanity | Controls whether profanity is filtered from the transcript. | Use this when transcript output should avoid explicit language. |
See post-meeting transcription for the full post-meeting transcription implementation, including when to create the post-meeting transcript, which webhook events to listen for, how to retrieve the completed transcript, how to handle transcription failures, and more.
Recall.ai Transcription for real-time transcription
Recall.ai real-time transcription is configured at
recording_config.transcript.provider.recallai_streaming.Real-time transcript events delivery is configured separately through
recording_config.realtime_endpoints.
Recall.ai's real-time transcription supports two modes:
| Mode | Use this when | Latency | Supported options |
|---|---|---|---|
prioritize_low_latency | Your application needs transcript events as quickly as possible. | Typically 1-3 seconds after an utterance is finalized. | Only language_code: "en" is supported. |
prioritize_accuracy | Transcript accuracy is more important than receiving each utterance within a few seconds. | Typically delayed by 3-10 minutes on real-time endpoints. | Supports all additional Recall.ai Transcription options. |
Recall.ai Transcription for real-time transcription in prioritize_low_latency mode
prioritize_low_latency mode
Supported options forprioritize_low_latencyWhen
modeis set toprioritize_low_latency,language_codemust be set toen. Do not setlanguage_codetoautoor any non-English language code.No other options (e.g.,
key_terms,spelling, andfilter_profanity) are supported inprioritize_low_latencymode. Useprioritize_accuracyif you need any of these options.
Use prioritize_low_latency when your application needs transcript events as quickly as possible. See below for how to configure this depending on the ingest method.
Example requests
Recall.ai real-time transcription with `prioritize_low_latency` for meeting bots
To configure Recall.ai real-time transcription for a meeting bot, set recording_config.transcript.provider.recallai_streaming in the Create Bot request:
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": {
// other recording configs
"transcript": {
// other transcript configs
"provider": {
"recallai_streaming": {
"mode": "prioritize_low_latency",
"language_code": "en"
}
}
},
"realtime_endpoints": [
{
"url": "REAL_TIME_TRANSCRIPT_WEBHOOK_ENDPOINT",
"type": "webhook",
"events": ["transcript.data"]
}
]
}
}
'See Meeting Bot Real-time Transcription for real-time transcription implementation details.
Recall.ai real-time transcription with `prioritize_low_latency` for desktop recording SDK
To configure Recall.ai real-time transcription for the Desktop Recording SDK, set recording_config.transcript.provider.recallai_streaming in the Create Desktop SDK Upload request:
curl --request POST \
--url https://RECALL_REGION.recall.ai/api/v1/sdk_upload/ \
--header 'Authorization: RECALL_API_KEY' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"recording_config": {
// other recording configs
"transcript": {
// other transcript configs
"provider": {
"recallai_streaming": {
"mode": "prioritize_low_latency",
"language_code": "en"
}
}
},
"realtime_endpoints": [
{
"url": "REAL_TIME_TRANSCRIPT_WEBHOOK_ENDPOINT",
"type": "webhook",
"events": ["transcript.data"]
}
]
}
}
'See Desktop Recording SDK Real-time Transcription for real-time transcription implementation details.
Recall.ai Transcription for real-time transcription in prioritize_accuracy mode
prioritize_accuracy modeUse prioritize_accuracy when transcript quality is more important than receiving each utterance within a few seconds.
This mode is the default for Recall.ai Transcription. When used with real-time endpoints, transcript events are typically delayed by 3-10 minutes. In exchange, this mode supports additional transcription options that are not available in prioritize_low_latency mode.
See the table below for the full list of options supported by Recall.ai real-time transcription in prioritize_accuracy mode:
| Option | What it does | When to use it |
|---|---|---|
language_code | Sets the language used for transcription. See the list of supported languages. | Use this when you know the language being spoken, or set it to auto to use language detection. |
key_terms | Prioritizes important words or phrases during transcription. | Use this for product names, company names, acronyms, technical terms, or other domain-specific vocabulary. |
spelling | Applies custom spelling corrections to the transcript output. | Use this when specific words or phrases should appear in a consistent format, e.g., product names, company names, acronyms, or people’s names. |
filter_profanity | Controls whether profanity is filtered from the transcript. | Use this when transcript output should avoid explicit language. |
When to useprioritize_accuracyUse
prioritize_accuracywhen you need language detection, custom vocabulary withkey_terms, custom spelling corrections, or profanity filtering.In this mode, transcript events sent to real-time endpoints are typically delayed by 3-10 minutes, so it may not be suitable for all real-time use cases.
If you need these features with low latency, use a third-party transcription provider. Also see Multilingual Transcription for details on using a third-party transcription provider for multilingual real-time transcript utterances within seconds.
Example requests
Recall.ai real-time transcription with `prioritize_accuracy` for meeting bots
To configure Recall.ai real-time transcription for a meeting bot, set recording_config.transcript.provider.recallai_streaming in the Create Bot request:
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": {
// other recording configs
"transcript": {
// other transcript configs
"provider": {
"recallai_streaming": {
"mode": "prioritize_accuracy",
"language_code": "auto"
}
}
},
"realtime_endpoints": [
{
"url": "REAL_TIME_TRANSCRIPT_WEBHOOK_ENDPOINT",
"type": "webhook",
"events": ["transcript.data"]
}
]
}
}
'See Meeting Bot Real-time Transcription for real-time transcription implementation details.
Recall.ai real-time transcription with `prioritize_accuracy` for desktop recording SDK
To configure Recall.ai real-time transcription for the Desktop Recording SDK, set recording_config.transcript.provider.recallai_streaming in the Create Desktop SDK Upload request:
curl --request POST \
--url https://RECALL_REGION.recall.ai/api/v1/sdk_upload/ \
--header 'Authorization: RECALL_API_KEY' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"recording_config": {
// other recording configs
"transcript": {
// other transcript configs
"provider": {
"recallai_streaming": {
"mode": "prioritize_accuracy",
"language_code": "auto"
}
}
},
"realtime_endpoints": [
{
"url": "REAL_TIME_TRANSCRIPT_WEBHOOK_ENDPOINT",
"type": "webhook",
"events": ["transcript.data"]
}
]
}
}
'See Desktop Recording SDK Real-time Transcription for real-time transcription implementation details.
Additional configurations
Multilingual transcription with Recall.ai Transcription
In some meetings, participants may speak in more than one language, and you may not know ahead of time which language or languages will be used. In those cases, you can use a transcription provider that supports multilingual transcription. Multilingual transcription generally includes two distinct features:
| Feature | Description |
|---|---|
| Language detection | Detects the spoken language without requiring you to set a language explicitly. |
| Code-switching | Handles conversations where speakers switch between two or more languages during the same meeting. |
Multilingual transcription options for post-meeting transcription
Recall.ai Transcription post-meeting transcription supports both language detection and code-switching. Below is an example of how to configure multilingual transcription with Recall.ai Transcription using the Create Async Transcript endpoint:
{
// ... other Create Async Transcript request options
"provider": {
"recallai_async": {
"language_code": "auto"
}
}
}Multilingual transcription options for real-time transcription
Recall.ai Transcription real-time transcription supports both language detection and code-switching. Below is an example of how to configure multilingual transcription with Recall.ai Transcription using either the Create Bot or Create Desktop SDK Uploadendpoints:
{
// ... other request options
"recording_config": {
// ... other recording options
"transcript": {
// ... other transcript options
"provider": {
"recallai_streaming": {
"mode": "prioritize_accuracy",
"language_code": "auto"
}
}
}
}
}FAQ
How much does Recall.ai Transcription cost?
| Transcription Mode | Usage Cost |
|---|---|
| Post-meeting transcription | $0.15 per recording hour |
| Real-time transcription | $0.15 per recording hour |
What regions can I configure with Recall.ai transcription?
By default, Deepgram will process data in the US. You can configure Deepgram to process data in the EU by setting the host to api.eu.deepgram.com in the Deepgram transcription setup dashboard. See Deepgram for details about their EU region support.
What languages are supported with Recall.ai Transcription?
Transcription regions are automatically set depending on which Recall Region your workspace is located in:
| Recall Region | Transcription Data Processing Location |
|---|---|
us-west-2 | US |
us-east-1 | US |
ap-northeast-1 | US |
eu-central-1 | EU |
Supported languages for real-time transcription with mode: "prioritize_low_latency"
mode: "prioritize_low_latency"Only english (i.e. language_code: "en" is supported for real-time transcription when mode: "prioritize_low_latency" at this time. All other valuese for `language code will fail to transcribe.
Supported languages for post-meeting transcription or real-time transcription with mode: "prioritize_accuracy"
mode: "prioritize_accuracy"Currently, the following language codes are supported for post-meeting transcription and real-time transcription when mode: "prioritize_accuracy".
auto - auto
bg - Bulgarian
ca - Catalan
cs - Czech
da - Danish
de - German
el - Greek
en - English
en_au - English (Australia)
en_uk - English (United Kingdom)
en_us - English (United States)
es - Spanish
et - Estonian
fi - Finnish
fr - French
he - Hebrew
hi - Hindi
hr - Croatian
hu - Hungarian
id - Indonesian
it - Italian
ja - Japanese
ko - Korean
lt - Lithuanian
lv - Latvian
ms - Malay
nl - Dutch
no - Norwegian
pl - Polish
pt - Portuguese
ro - Romanian
ru - Russian
sk - Slovak
sv - Swedish
th - Thai
tr - Turkish
uk - Ukrainian
vi - Vietnamese
zh - Chinese
Do you train AI models using my transcription data?
No, Recall.ai Transcription does not use customer data for any training of AI models.
Why are my transcripts delayed when using real-time transcription?
When using real-time transcription, the default transcription mode is prioritize_accuracy. Transcripts will be delivered within 3-10 minutes of when the original words were spoken.
How does the transcript quality differ between Recall.ai's real-time prioritize_accuracy vs Recall.ai's post-meeting transcription?
prioritize_accuracy vs Recall.ai's post-meeting transcription?The quality will be the same because both of these transcription methods use the same underlying transcription model and offer the same transcription config options.
Does Recall.ai Transcription expose provider_data payloads (real-time or post-meeting)?
provider_data payloads (real-time or post-meeting)?No. When you use Recall.ai Transcription, Recall is the transcription provider so there isn’t any separate third-party provider_data payload to return.
If you’re following the docs for Third-Party Transcription to get the provider data payloads, you should know that for Recall.ai Transcription:
- Real-time: You will not receive
transcript.provider_dataevents. Subscribe totranscript.datainstead. - Post-meeting:
transcript.data.provider_data_download_urlis not applicable for Recall.ai Transcription. This will always return[].
Updated 10 days ago