Download the audio file for a recording. This endpoint returns a redirect to a pre-signed download URL.
Path Parameters
The unique recording identifier (e.g., rec_01HABC987654321).
Query Parameters
Desired audio format:
mp3 - MP3 format (smaller file size)
wav - WAV format (lossless)
ogg - OGG Vorbis format
Desired sample rate in Hz. If not specified, uses the original sample rate.
Supported: 8000, 16000, 22050, 44100, 48000
Response
Returns a 302 Redirect to the pre-signed download URL.
Header Description LocationPre-signed URL for downloading the file Content-TypeMIME type of the audio file Content-LengthFile size in bytes Content-DispositionFilename suggestion
cURL
cURL (WAV format)
Node.js
Python
# Follow redirects (-L) to download the file
curl -L https://api.kallglot.com/v1/recordings/rec_01HABC987654321/download \
-H "Authorization: Bearer sk_live_your_api_key" \
-o recording.mp3
302 Redirect
202 Processing
404
410
HTTP/1.1 302 Found
Location: https://storage.kallglot.com/recordings/rec_01HABC987654321.mp3?signature=xxx&expires=1711454400
Content-Type: audio/mpeg
Content-Disposition: attachment; filename="recording-sess_01HXYZ123456789.mp3"
Streaming Downloads
For large recordings, you can stream the download instead of buffering the entire file:
import { createWriteStream } from 'fs' ;
import { pipeline } from 'stream/promises' ;
const response = await fetch ( 'https://api.kallglot.com/v1/recordings/rec_01HABC987654321/download?format=mp3' , {
headers: {
'Authorization' : 'Bearer sk_live_your_api_key'
}
});
await pipeline (
response . body ,
createWriteStream ( 'recording.mp3' )
);
import requests
with requests.get(
'https://api.kallglot.com/v1/recordings/rec_01HABC987654321/download?format=mp3' ,
headers = { 'Authorization' : 'Bearer sk_live_your_api_key' },
stream = True
) as r:
r.raise_for_status()
with open ( 'recording.mp3' , 'wb' ) as f:
for chunk in r.iter_content( chunk_size = 8192 ):
f.write(chunk)
Notes
Download URLs expire after 1 hour. If you need to download later, retrieve the recording again to get a fresh URL.
Format conversion happens on-the-fly. Converting to a different format or sample rate may take a moment for large files.