Transcribe an audio file to text. Uses multipart form upload (not JSON). Maximum file size: 25 MB.
Authentication
Requires a Bearer token. See Authentication.
Request Body (multipart/form-data)
Audio file to transcribe. Supported formats: MP3, MP4, MPEG, MPGA, M4A, WAV, WEBM.
Language hint (ISO 639-1 code, e.g., "en", "es", "fr"). If omitted, language is auto-detected.
Request Examples
curl -X POST https://hitheo.ai/api/v1/audio/stt \
-H "Authorization: Bearer $THEO_API_KEY" \
-F "file=@recording.mp3" \
-F "language=en"
Response
Unique transcription ID (prefixed stt_).
Detected or specified language.
Duration of the audio file in seconds.
Example Response
{
"id": "stt_abc123",
"created": "2026-04-10T12:00:00Z",
"text": "Welcome to Theo. How can I help you today?",
"language": "en",
"duration_seconds": 3.2,
"usage": { "cost_cents": 0.01 }
}
Errors
| Status | Code | Description |
|---|
| 400 | missing_file | file is required (multipart form upload) |
| 401 | invalid_api_key | Missing or invalid API key |
| 502 | stt_provider_error | Theo transcription engine returned an error — retry |
| 503 | stt_unavailable | STT is not configured on this instance |