Transcription files can come from two sources:
| Source platform transcription | Global Relay transcription | |
|---|---|---|
| Who generates it | The source platform, e.g. Zoom | Global Relay, automatically |
| How to include it | Upload via /files and reference in extraFiles with isTranscript: true | No action is required; supported voice files are transcribed automatically |
| How to find it in the Archive | X-GR-Transcription header | X-GR-Transcription and X-GR-TranscriptionVersion headers |
This page covers source platform transcripts. For enabling Global Relay transcription, contact your Global Relay Implementation Specialist.
If you enabled Global Relay transcription for the data type you are archiving via the Voice Archiving API, any supported voice files you include in your requests will be automatically transcribed as separate files in your archived messages. You can search for Global Relay transcription files using the general X-GR-Transcription header as well as the Global Relay transcription-specific X-GR-TranscriptionVersion header.
After uploading the relevant source transcription file via the /files endpoint, you can specify the voice file in the voiceRecords property and the transcription file in the extraFiles property.
First, upload both the voice file and the transcription file to the /files endpoint:
curl -X PUT "https://voice.api.globalrelay.com/v2/files/default/meeting-recording-20250115.opus"
-H "Authorization: Bearer "
-H "Content-Type: audio/opus"
-T ""
curl -X PUT "https://voice.api.globalrelay.com/v2/files/default/meeting-recording-20250115.txt"
-H "Authorization: Bearer "
-H "Content-Type: text/plain"
-T ""
Then reference both files in your POST /voice request: the voice file in voiceRecords.recordingFile and the transcription file in extraFiles.
You can then indicate the file was a transcript in the following fields of the extraFiles property:
isTranscript: Indicate whether the file is a transcript file, i.e.true. By default, the value is set tofalse.description: Indicate the file was generated via the source platform, e.g. “Transcript file generated via source platform”
{
"voiceRecords": [
{
"startTime": "1737050060753",
"stopTime": "1737050150341",
"recordingFile": {
"filename": "meeting-recording-20250115.opus",
"fileKey": "default/meeting-recording-20250115.opus",
"description": "Recording of conversation"
}
}
],
"extraFiles": [
{
"filename": "meeting-recording-20250115.txt",
"fileKey": "default/meeting-recording-20250115.txt",
"description": "Transcript file generated by source platform",
"isTranscript": true
}
]
}