Meeting Caption Transcription

Get transcripts based on meeting platforms' native captions.

Recall offers transcripts generated by native meeting captions for no additional charge, and so this transcription method may be particularly attractive for those looking for an economical solution for generating transcripts.


  • No additional charge
  • Accurate diarization - since the transcript is directly based on the underlying separated audio streams, you get perfect diarization out-of-the-box.


  • No per-word timestamps
  • Can be lower quality depending on the meeting platform
  • Language cannot be auto-detected

Supported platforms

Google Meetβœ…
Microsoft Teams*βœ…
Cisco Webex❌
Slack Huddles❌

*Native Bots do not yet support meeting captions


  1. Start an instant meeting and copy the URL.

  2. Call Create Bot while setting the transcription_options.provider to meeting_captions.

    Take note of the id in the response.

    curl --request POST \
         --url \
         --header 'Authorization: Token {RECALL_API_KEY}' \
         --header 'accept: application/json' \
         --header 'content-type: application/json' \
         --data '
      "meeting_url": {MEETING_URL},
      "transcription_options": {
        "provider": "meeting_captions"
  3. After the bot joins the call, say a few words or sentences with your mic unmuted.

  4. Call Get Bot Transcript with the ID of the bot you created.

    curl --request GET \
         --url{BOT_ID}/transcript/ \
         --header 'Authorization: Token {RECALL_API_KEY}' \
         --header 'accept: application/json'

    You'll should see a response in the following form:

        "kind": "recallai_transcript",
        "words": [
            "text": "Luke, I am your father.",
            "end_time": 33.04818725585938,
            "start_time": 22.65240478515625
        "source": "meeting_captions",
        "speaker": "Darth Vader",
        "is_final": true,
        "language": "en",
        "original_transcript_id": 5

And that's it! You just created your first transcript πŸŽ‰


Take it a step further: Webhooks

Since meeting captions are a method of Real-Time Transcription, you can also receive webhooks as the meeting transcript is generated.

See Real-Time Transcription Webhooks for more info.



Meeting captions are disabled in-meeting

If a bot didn't generate a when using meeting caption transcription, it's likely that the host had meeting captions disabled.

To allow participants to use meeting captions, meeting captions must be enabled. This setting persists across all Zoom meetings once it's set.

To enable meeting captions, navigate to Host Caption Control Settings while in a Zoom meeting.

Then, enable the setting called Allow Closed Captioning for this meeting

Meeting captions are disabled globally

If the user doesn't see an option to enable meeting captions in their Zoom client, they likely have the setting turned off globally.

To resolve this, simply go to Zoom settings and flip the toggle for Automated captions

Free account limitations

Zoom accounts without a credit card on file are unable to use closed captioning.

In order for your end users to leverage meeting caption-based transcription, they should make sure to have a credit card on file for their Zoom account.

Language support


Meeting platforms' meeting captions currently don't support automatic language detection, and the language typically must be specified by either the host (Zoom/Microsoft Teams), or the end participant themselves (Google Meet).


Zoom meeting captions are generated according to the language specified by the host.

Zoom: Configuring meeting caption language  
**Show Captions > Captions > Caption Language**

Zoom: Configuring meeting caption language
Show Captions > Captions > Caption Language

Microsoft Teams

Microsoft Teams supports various languages for meeting captions by configuring these at the meeting-level by the host.

Caption settings > Language

Microsoft Teams: Configuring captions language  
**Caption settings > Language**

Microsoft Teams: Configuring captions language
Caption settings > Language


Teams Example:  
Meeting captions language updated to Japanese

Teams Example:
Meeting captions language updated to Japanese

Google Meet

Google Meet captions are generated according to the language specified by each individual user.

Currently, bots default to English. In the future, we will add support for providing the language up-front to allow Google Meet bots to generate captions for a specific language.

If this is something you're interested in, reach out to the team via Slack.

What’s Next