Cloud recording

Click Recordings to see a list of saved recordings. See communications content storage location for details about the storage location for recordings and other files, such as chat.

Enable cloud recording

You can record Video SDK sessions to the Zoom cloud or to your own Amazon S3 bucket using Bring Your Own Storage (BYOS). You can select which files to record, including transcripts and AI summaries. Enable cloud recording for hosts and configure recording settings in your account settings by following these steps.

  1. Sign in to your Build account web portal.
  2. In the navigation menu, click Account Settings, then select the Recording tab.
  3. View or edit the following sections.

Cloud recording

This section contains the option to enable cloud recording and the recording file options.

  • Allow hosts to record and save the session in the cloud: Enable this option to allow hosts to record sessions to the cloud. See the Add features: Cloud recording documentation for your platform for details.

Toggle the following options on or off. You must choose at least one file option. You can select more than one, but that may incur additional billing charges. The terms participant and user are used interchangably.

  • Record active speaker with shared screen
  • Record gallery view with shared screen
  • Record active speaker, gallery view, and shared screen separately (MP4 format):
    • Active speaker - Records the active speaker.
    • Gallery view - Records the gallery view.
    • Shared screen - Records the shared screen.
  • Record audio-only files (M4A format):
    • One audio file for all participants
    • Separate audio file for each participant
  • Save chat messages from the session

Record separate per-user video recordings

You can also record a separate video file for each user in the Video SDK session. Contact Developer Support to enable this for your account. Once enabled, follow these steps to record.

  1. Select Record a separate audio file of each participant
  2. Set cloud_recording_option to 1 in the SDK JWT payload.

You can get download URLs for individual files from the participant_video_files property of the List recordings of an account API.

Advanced cloud recording settings

Toggle the following options on or off.

  • Add a timestamp to the recording
  • Display participants' names in the recording
  • Record thumbnails when sharing
  • Optimize the recording for 3rd party video editor
  • Participants can request host to start cloud recording
  • Participants can start cloud recording when host is not in the meeting

Delete cloud recordings after a specified number of days - toggle on, enter the number of days, and click Save.

Automatic recording - toggle on to record sessions automatically as they start. Records to the cloud. Select Host can pause/stop the auto recording in the cloud to set whether this option is true or not.

Get transcript and summary

To add a transcript or AI summary to the cloud recording, set the cloud_recording_transcript_option field in the JWT used to start the session.

  • 0 (default) - Neither transcript nor summary
  • 1 - Transcript only
  • 2 - Transcript and summary

See the final setting in the JWT payload table for details.

Get AI summary

To receive the AI summary, enable both cloud recording (in the SDK) and session transcript (cloud_recording_transcript_option JWT field set to 2). Each feature incurs a separate charge. See the Zoom Developer pricing page for details.

Start cloud recording

See the platform get started documentation for details about how to start and join a session. After joining a session, call startCloudRecording to start recording. This will also start the transcript and AI summary autogeneration if you enabled it in the JWT.

Transcript and summary webhook notifications

After a session ends, it may take some time to generate the transcript and AI summary. You can use webhooks to receive notifications when they're ready. Subscribe to the Video SDK session.recording_transcript_completed webhook to be notified when the transcript is completed, and session.recording_summary_completed to be notified when the summary is completed. See Using webhooks for setup details.

Note: These webhooks are available to Zoom Build Platform universal credit accounts.

Get download links

Once the transcript or AI summary is generated, you can retrieve it by calling:

GET /videosdk/sessions/{sessionId}/recordings

Sample response:

{
    "timezone": "",
    "duration": 1,
    "session_id": "oiFKKKL/RyGdm9W1r1Ll6w==",
    "session_name": "willie3",
    "session_key": "",
    "start_time": "2025-05-09T11:02:09Z",
    "total_size": 4869060,
    "recording_count": 3,
    "recording_files": [
        {
            "id": "aaa111",
            "status": "completed",
            "recording_start": "2025-05-09T11:02:22Z",
            "recording_end": "2025-05-09T11:03:24Z",
            "file_type": "MP4",
            "file_size": 3892799,
            "download_url": "https://example.com/download_url12345",
            "recording_type": "shared_screen_with_speaker_view",
            "file_extension": "MP4"
        },
        {
            "id": "bbb222",
            "status": "completed",
            "recording_start": "2025-05-09T11:02:22Z",
            "recording_end": "2025-05-09T11:03:24Z",
            "file_type": "M4A",
            "file_size": 974973,
            "download_url": "https://example.com/download_url55555",
            "recording_type": "audio_only",
            "file_extension": "M4A"
        },
        {
            "id": "ccc333",
            "status": "completed",
            "recording_start": "2025-05-09T11:02:22Z",
            "recording_end": "2025-05-09T11:03:24Z",
            "file_type": "TIMELINE",
            "file_size": 22543,
            "download_url": "https://example.com/download_url67890",
            "recording_type": "timeline",
            "file_extension": "JSON"
        },
        {
            "id": "ddd444",
            "status": "completed",
            "recording_start": "2025-05-09T11:02:22Z",
            "recording_end": "2025-05-09T11:03:24Z",
            "file_type": "TRANSCRIPT",
            "file_size": 1288,
            "download_url": "https://example.com/download_url09876",
            "recording_type": "audio_transcript",
            "file_extension": "VTT"
        },
        {
            "id": "eee555",
            "status": "completed",
            "recording_start": "2025-05-09T11:02:22Z",
            "recording_end": "2025-05-09T11:03:24Z",
            "file_type": "SUMMARY",
            "file_size": 1039,
            "download_url": "https://example.com/download_url54321",
            "recording_type": "summary",
            "file_extension": "JSON"
        }
    ],
    "download_access_token": "XXXXXXX"
}

Download

Use the download_url for files with file_type of TRANSCRIPT or SUMMARY to download the transcript or AI summary.

  • TRANSCRIPT - a VTT file containing the time-coded session transcript. The response includes this file when you enable the session transcript (cloud_recording_transcript_option set to 1 or 2).
  • SUMMARY - a JSON file containing the AI-generated summary of the session. The response includes this file only when you enable both cloud recording and session transcript (cloud_recording_transcript_option set to 2), and your account is billed for both features. The current summary output is limited in scope and only includes the summary section.