API reference · Multipart
Start a multipart upload and get per-part URLs
For large files. Returns one presigned URL per part; PUT each part and keep its ETag. file_size is required and is used only to plan part_size and num_parts. Rate limit: 120 requests per minute.
Like /api/v1/upload, this creates the job and is not safe to retry blindly.
Authenticate with your key in the X-API-Key header — Authentication.
Request body
Required. application/json
- model string default: zephyr
The transcription model. One today.
- output_type string default: json
Format of the stored transcript at
download_url.One of
json,txt,srt,vtt,docx,pdf - word_timestamps boolean default: true
Per-word start and end times.
- speaker_labels boolean default: true
Diarize, labelling turns
SPEAKER_1,SPEAKER_2and so on, dense and numbered from one in order of first appearance. - nltk boolean default: true
Punctuation and sentence segmentation.
- custom_vocabulary string[] | null
Domain terms to bias towards — names, jargon, product names.
- callback_url string (uri) | null
Webhook to POST on completion or permanent failure. The body is signed with HMAC-SHA256 in
X-SR-Signature, and carriesX-SR-EventandX-SR-Delivery. - file_size integer required
- part_size integer | null
Bytes per part. Clamped to what S3 allows, and raised automatically if the file would otherwise need more than 10,000 parts.
Responses
- 200 Multipart upload started.
- 400 The request was understood but cannot be acted on — for example, completing an upload whose bytes never arrived.
- 401 Missing, malformed or revoked API key.
- 402 The account is out of credit. Top up, or turn on auto-recharge, and retry. Reads and cancellations keep working.
- 413 The file exceeds the limit for this route: 10 GB through the upload routes, 200 MB streaming to
/api/v1/transcribe. - 422 A field is missing or the wrong type. The body names the offending field.
- 429 Too many requests for this endpoint. Back off and retry; the official SDKs do this for you.
200 response fields
- job_id string (uuid) required
- upload_id string required
- download_url string (uri) required
- part_size integer required
- num_parts integer required
- parts object[] required
- expires_in integer required
Related endpoints
- Finish a multipart upload and enqueue the job POST /api/v1/upload/multipart/complete
- Abandon a multipart upload POST /api/v1/upload/multipart/abort