# Cloud recording Click **Recordings** to see a list of saved recordings. See [communications content storage location](/docs/video-sdk/account/#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)](/docs/build/storage/). You can select which files to record, including [transcripts and AI summaries](#get-transcript-and-summary). 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](/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](/docs/video-sdk/auth/#payload). You can get download URLs for individual files from the `participant_video_files` property of the [List recordings of an account](/docs/api/video-sdk/#tag/cloud-recording/GET/videosdk/recordings) 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](/docs/video-sdk/auth/#payload) 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](https://zoom.us/pricing/developer) 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`](/docs/api/video-sdk/events/#tag/session/postsession.recording_transcript_completed) webhook to be notified when the transcript is completed, and [`session.recording_summary_completed`](/docs/api/video-sdk/events/#tag/session/postsession.recording_summary_completed) to be notified when the summary is completed. See [Using webhooks](/docs/api/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: ```bash GET /videosdk/sessions/{sessionId}/recordings ``` Sample response: ```json { "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.