API resource

Direct file uploads

Move audio and video directly to secure object storage, then queue the owned object for transcription.

Built around the real API

Large media without proxying bytes through your API server

The prepare endpoint validates the filename, declared byte size, media type, plan limits, and optional diarization requirement. It then returns a presigned destination so your application can upload the file directly; job creation later validates the stored object.

Direct transfer

File bytes go to a short-lived storage URL instead of through the REST API origin.

Adaptive strategy

Branch on upload.type and support either a single PUT or multipart transfer.

Ownership checks

The API verifies the object key belongs to the authenticated account before queueing.

Media validation

Stored size, filename, and media type are checked before processing begins.

How it works

From request to transcript

A predictable sequence you can reuse in server applications, automations, and internal tools.

  1. 01

    Prepare

    POST the exact filename, byte size, and optional MIME type to /api/v1/uploads.

  2. 02

    Transfer

    Upload bytes to the returned presigned URL or all multipart part URLs.

  3. 03

    Queue

    POST the returned key, storage value, and original file metadata as the upload source.

Copy and adapt

Make the request

Examples use the production API origin and an environment variable for the secret key.

Request
curl --request POST https://fast-transcriber.com/api/v1/uploads \
  --header "Authorization: Bearer $FAST_TRANSCRIBER_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "filename": "research-interview.wav",
    "content_type": "audio/wav",
    "size": 48234496
  }'
Keep credentials server-side
Never expose a Fast Transcriber API key in public browser JavaScript, a mobile bundle, source control, or a prompt.
Before you ship

Requirements and boundaries

  • Never send the Fast Transcriber bearer key to a presigned storage URL.
  • Preserve key and storage exactly as returned.
  • Use the file's exact byte size in both the prepare and queue requests.
  • Branch on upload.type; the server decides when multipart transfer is required.
  • Start a single upload within 15 minutes, before its presigned URL expires.
Common questions

Frequently asked questions

Why upload directly to storage?+

Presigned transfer avoids routing large file bodies through the API application and supports resumable multipart uploads.

Which files are accepted?+

Common audio and video formats are supported. See Media formats for the current extensions and MIME types.

Can I reuse an upload key across accounts?+

No. Upload references are account-scoped and ownership is verified before queueing.

© 2026 FastTranscriberBuilt for developers who work with speech.