Skip to main content

Transcripts & Subtitles

Every uploaded video and audio asset is automatically transcribed. The transcription pipeline extracts spoken text with timestamps, identifies speakers, and derives keywords and entities. You can retrieve, download, and manage this data through the API.

Retrieve Metadata

Get all derived metadata for an asset – transcripts, speakers, keywords, entities, and more:

curl --request GET \
--url https://api.streamdiver.com/v2/media/{assetId}/metadata \
--header "Authorization: Bearer {token}"

List Transcripts

An asset can have multiple transcripts (e.g., different languages). List all available transcripts:

curl --request GET \
--url https://api.streamdiver.com/v2/media/{assetId}/metadata/transcripts \
--header "Authorization: Bearer {token}"

Download a Transcript

Download a transcript in the format you need:

# Download as plain text
curl --request GET \
--url "https://api.streamdiver.com/v2/media/{assetId}/metadata/transcripts/{transcriptId}/download?transcriptDownloadType=txt" \
--header "Authorization: Bearer {token}"

# Download as SRT subtitles
curl --request GET \
--url "https://api.streamdiver.com/v2/media/{assetId}/metadata/transcripts/{transcriptId}/download?transcriptDownloadType=srt" \
--header "Authorization: Bearer {token}"

Available Formats

FormatParameterDescription
JSONjsonStructured transcript with timestamps and speaker labels
Plain texttxtFull transcript as plain text
SRTsrtSubRip subtitle format
WebVTTvttWeb Video Text Tracks format
DOCXdocxMicrosoft Word document (supports custom templates)
tip

Add omitSpeakerLabels=true to any download request to exclude speaker names from the output.

Request Additional Transcriptions

Trigger transcription in a specific language or re-extract metadata with different settings:

curl --request PUT \
--url https://api.streamdiver.com/v2/media/{assetId}/metadata \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data '{ "transcriptionLanguageCodes": ["de-v2", "translate-en-v2"] }'
Available languages

Retrieve the list of transcription languages available for your tenant with GET /tenants/current/metadata/transcription/languageModels. Streamdiver also supports automatic cross-language transcription from any source language to English.

Subtitles

Subtitles can be derived from transcripts or uploaded independently in SRT or WebVTT format.

Assign a Transcript as Subtitles

Convert an existing transcript into subtitles for the player widget:

curl --request POST \
--url https://api.streamdiver.com/v2/media/{assetId}/metadata/transcripts/{transcriptId}/assignsubtitle \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data '{ "includeSpeakerLabel": false }'

Upload Custom Subtitles

Upload your own subtitles in SRT or WebVTT format:

curl --request PUT \
--url https://api.streamdiver.com/v2/media/{assetId}/subtitles/{languageCode} \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data @subtitles.srt

Retrieve Subtitles

Get subtitles for an asset in a specific language (returned in WebVTT format):

curl --request GET \
--url https://api.streamdiver.com/v2/media/{assetId}/subtitles/{languageCode} \
--header "Authorization: Bearer {token}"

Further Resources