Unable to Get Speaker name in transcript file

TRANSCRIPT file (with speaker names) not generated — only getting CC — is cloud_recording_option required?

We need speaker names in the transcript. The TRANSCRIPT VTT file includes cue tags (speaker diarization). The CC file does not —
it’s the raw live-caption stream with no speaker identification.

JWT we pass at session join:
{
"app_key": "<SDK_KEY>",
"tpc": "<session_topic>",
"role_type": 0,
"version": 1,
"cloud_recording_transcript_option": 1
}

cloud_recording_option is absent.

After session.recording_completed fires, we call:
GET ``https://api.zoom.us/v2/videosdk/sessions/{sessionId}/recordings
?include_fields=download_access_token
Authorization: Bearer <HS256 JWT signed with SDK client_id/secret>

We get file_type: “CC” in the response but never file_type: “TRANSCRIPT”.

Questions:

  1. Does cloud_recording_option: 1 need to be in the session JWT for TRANSCRIPT (with speaker diarization) to be generated, even if cloud recording
    is already enabled at the account level?
  2. Is CC always generated without speaker names, and TRANSCRIPT always the one that has VTT cue tags?
  3. Does the account plan affect whether TRANSCRIPT (with diarization) is available, separate from the JWT claims?

cloud_recording_option: 1 is not required to generate a transcript. In Video SDK, that claim controls separate/individual recording tracks, while cloud_recording_transcript_option: 1 enables the transcript. The transcript feature also requires a Zoom Build Platform universal credit account, so account-level cloud recording enablement alone does not guarantee it.

The more likely issue is timing. session.recording_completed means the recording is ready, but Zoom generates the transcript afterward. Subscribe to session.recording_transcript_completed and only then call the recordings API. Zoom documents TRANSCRIPT as the time-coded VTT generated when cloud_recording_transcript_option is 1 or 2, while CC is a separate closed-caption VTT file type. I would not rely on Zoom’s docs to guarantee that every TRANSCRIPT contains resolved participant names, since the current Video SDK documentation does not explicitly promise speaker-name attribution.

If you’d rather avoid managing meeting capture and transcript pipelines directly, Recall.ai’s Meeting Bot API provides a higher-level integration for meeting data.