Skip to main content

Endpoints

  • POST /api/whisper/transcribe/async — create a task and return task_id immediately
  • POST /api/whisper/transcribe/sync — create a task and wait for the result
  • GET /api/whisper/transcribe/status?task_id=... — get task status (and result if ready)

Audio input formats

Two request formats are supported:
  1. multipart/form-data with file field audio
  2. Raw audio bytes in the request body (any Content-Type)
Multipart limit: 100MB.

POST /api/whisper/transcribe/async

Response (JSON):

POST /api/whisper/transcribe/sync

Response (JSON):
If the task failed, an additional field may be present:

GET /api/whisper/transcribe/status?task_id=...

Example response (JSON):

Errors

Error format:
Typical status codes:
  • 400: missing audio / missing task_id (status) / multipart error.
  • 401: missing/invalid API key.
  • 403: the task belongs to a different user.
  • 404: task not found.
  • 405: method is not allowed.
  • 504: sync wait timeout.

curl examples

Async (multipart):
Sync (multipart):
Async (raw bytes):
Status: