Skip to main content
The Speech to Text (STT) service transcribes audio files into text across multiple Ugandan languages and English. The unified POST /tasks/audio/transcriptions endpoint accepts an uploaded audio file (or a GCS object) and routes to the Modal (Whisper large-v3) or RunPod backend.
Migrating from the legacy STT routes? /tasks/stt, /tasks/modal/stt, /tasks/stt_from_gcs, and /tasks/org/stt are deprecated. They still work but return Deprecation/Sunset headers. Switch to /tasks/audio/transcriptions.

Supported Languages

Audio Requirements

  • Formats: MP3, WAV, M4A, and more.
  • Duration Limit: For files larger than 100MB, only the first 10 minutes are transcribed.
  • File Size: Direct uploads are supported. For larger files, use the signed-URL workflow described below.

Transcribing a File (Modal / Whisper)

language is required. platform defaults to modal (Whisper large-v3).

Transcribing with RunPod (adapter, Whisper, diarization)

The RunPod backend adds a language adapter, the whisper flag, and optional speaker diarization (recognise_speakers).

Response

Handling Large Files

To bypass server timeouts on large uploads, transcribe audio that already lives in Google Cloud Storage instead of uploading it inline.
1

Generate an Upload URL

Call /tasks/generate-upload-url to get a signed Google Cloud Storage URL (see File Uploads).
2

Upload the File

PUT the file directly to that signed URL.
3

Transcribe

Call /tasks/audio/transcriptions with platform="runpod" and gcs_blob_name set to the uploaded object instead of an audio file.

File Uploads (Signed URLs)

Generate secure signed URLs for direct client uploads to Google Cloud Storage. URLs are valid for 30 minutes and include path-traversal protection.