Getting Started with Recall.ai Transcription
Transcription using Recall directly is the most convenient option to start transcribing meetings immediately. You can get started transcribing immediately without needing to integrate with any third-party providers.
Transcription Modes
Real Time Transcription
Real-time transcription with Recall delivers transcripts as the meeting progresses, with two modes to choose from:
Accurate (prioritize_accuracy
) - Default
prioritize_accuracy
) - Default- Use case: Real-time transcription where quality is more important than speed
- Latency: Higher delay but optimized for accuracy (3 - 10 minute delay)
- Accuracy: Best available quality for real-time scenarios
- Features: Full feature support including language detection, key terms, and spelling corrections. See the Create Bot API reference for a full list of supported languages.
Low Latency (prioritize_low_latency
)
prioritize_low_latency
)- Use case: Real-time applications requiring transcripts within seconds of utterance
- Latency: Minimal delay (typically 1-3 seconds)
- Accuracy: Good, but may have more errors than accuracy mode
- Limitations:
- English only (
language_code
must be"en"
) - Other configuration parameters currently not supported
- English only (
Async Transcription
Async transcription takes place after the meeting has already ended. This option can't give you real-time insights while the meeting is still going on, but it is more accurate and feature-rich than real-transcription. It supports all parameters supported by the prioritize_accuracy
mode of real-time transcription, namely: language detection, key terms, and spelling corrections. See the Create Bot API reference for a full list of supported languages.
Quickstart (Real-Time)
1. Start a meeting
Start instant meeting and copy the URL.
2. Configure and create the bot
Call Create Bot while providing the recording_config.transcript.provider
with arecallai
object:
curl --request POST \
--url https://us-east-1.recall.ai/api/v1/bot/ \
--header "Authorization: $RECALLAI_API_KEY" \
--header "accept: application/json" \
--header "content-type: application/json" \
--data '
{
"meeting_url": "https://meet.google.com/sft-iwmv-eur",
"recording_config": {
"transcript": {
"provider": {
"recallai": {}
}
}
}
}
'
3. Speak for a bit
After the bot joins the call, talk for a bit with your mic unmuted and then end the call.
4. Fetch the transcript
Tip: The
transcript.done
eventWhile you can receive meeting captions in real-time, if you just want to fetch the entire transcript after the call, you can do this after receiving the
transcript.done
Webhook Event.
Call the Retrieve Bot endpoint using the ID of the bot:
curl --request GET \
--url https://us-east-1.recall.ai/api/v1/bot/2e8ec5a4-a608-4ea0-b9d0-2a12aec3f0f0/ \
--header "Authorization: $RECALLAI_API_KEY" \
--header "accept: application/json"
In the response's recordings
, the bot's recording will have a transcript object in its media_shortcuts.transcript
:
{
"id": "2e8ec5a4-a608-4ea0-b9d0-2a12aec3f0f0",
"recordings": [
{
"id": "c9d15f08-83a4-4d83-ad1b-3e311bb0f253",
"media_shortcuts": {
"transcript": {
"id": "b2c3c59f-45a4-43a8-9b0f-1bb79ba33580",
"data": {
"download_url": "https://us-east-1.recall.ai/api/v1/download/transcript?token=..."
},
"provider": {
"recallai": {}
}
},
...
}
}
],
...
}
Simply perform a GET request using the data.download_url
to get the full transcript, which is in the following form (see Transcript download schema):
[
{
"participant": {
"id": 100,
"name": "Darth Vader",
"is_host": false,
"platform": "desktop",
"extra_data": null // Or an object, if the meeting platform provides extra data
},
"words": [
{
"text": "No, I am your father.",
"start_timestamp": {
"relative": 9.730066299438477,
"absolute": "2025-07-17T00:00:09.730066Z"
},
"end_timestamp": {
"relative": 12.751030921936035,
"absolute": "2025-07-17T00:00:12.751031Z"
}
}
]
},
{
"participant": {
"id": 200,
"name": "Luke Skywalker",
"is_host": false,
"platform": "desktop",
"extra_data": null
},
"words": [
{
"text": "No, that's not true.",
"start_timestamp": {
"relative": 13.263169288635254,
"absolute": "2025-07-17T00:00:13.263169Z"
},
"end_timestamp": {
"relative": 16.988412857055664,
"absolute": "2025-07-17T00:00:16.988413Z"
}
}
]
},
{
"participant": {
"id": 200,
"name": "Luke Skywalker",
"is_host": false,
"platform": "desktop",
"extra_data": null
},
"words": [
{
"text": "That's impossible!",
"start_timestamp": {
"relative": 20.384620666503906,
"absolute": "2025-07-17T00:00:20.384621Z"
},
"end_timestamp": {
"relative": 22.707609176635742,
"absolute": "2025-07-17T00:00:22.707609Z"
}
}
]
}
]
And that's it! You just created your first transcript 🎉
Pricing
Recall.ai transcription costs $0.15 per hour of transcription, for both real-time and asynchronous transcription.
FAQ
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.
Updated about 13 hours ago