# Unable to Get Speaker name in transcript file

**URL:** <https://devforum.zoom.us/t/unable-to-get-speaker-name-in-transcript-file/146748>\
**Category:** Video SDK\
**Tags:** webhooks, video-sdk\
**Created:** [September 25, 2026, 3:16pm UTC](https://devforum.zoom.us/t/unable-to-get-speaker-name-in-transcript-file/146748 "2026-09-25T15:16:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Avijit1](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/avijit1/32/76868_2.png) [@Avijit1](https://devforum.zoom.us/u/Avijit1)\
**Post date:** [September 25, 2026, 3:16pm UTC](https://devforum.zoom.us/t/unable-to-get-speaker-name-in-transcript-file/146748/1 "2026-09-25T15:16:48Z")

</div>

### 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?

---

<div class="post-metadata">

**Author:** ![amanda-recallai](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/amanda-recallai/32/44747_2.png) [@amanda-recallai](https://devforum.zoom.us/u/amanda-recallai)\
**Post date:** [September 25, 2026, 11:56pm UTC](https://devforum.zoom.us/t/unable-to-get-speaker-name-in-transcript-file/146748/2 "2026-09-25T23:56:41Z")

</div>

`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](https://www.recall.ai/product/meeting-bot-api?utm_source=zoom&utm_medium=forum_answer) provides a higher-level integration for meeting data.
