Developer API
POST /api/stt
Security check
VerifiedSolve this to reveal the copy-ready cURL.
file (required) ·
language auto (default — detected per request) or a code like bn/en ·
word_timestamps 1/0 (default 1) ·
vad_filter 1/0 (default 1, skips noise).
Mixed-language tip: Auto detects the dominant language; for mixed speech you can also
force the dominant language for the most accurate script.
For realtime apps, POST one ~4s speech chunk at a time and append each .text.
# Success → HTTP 200, JSON:
{
"text": "transcribed sentence here",
"language": "bn",
"duration": 4.36,
"request_id": "0d6b1c29-…",
"words": [{"word": "Hello", "start": 0.0, "end": 0.4}],
"word_count": 9
}
# Error → HTTP 4xx / 5xx, JSON: {"error": "…"}
Questions
Is speech to text free?
Yes. Upload, live recording and realtime transcription are all free with no API key — the server uses the same free transcription flow as the TTS studio.
Which languages can it transcribe? Do I have to pick one?
No — Auto detect is the default and identifies the spoken language on every request (the result shows what was detected and how confident it is). 35 languages are supported including Bangla, English, Hindi, Urdu, Arabic, Spanish, French, German, Japanese and Turkish. For mixed-language speech, Auto uses the dominant language; forcing that language gives the most accurate script.
Is there a size limit?
Each request accepts up to 4MB of audio (roughly a few minutes depending on format). For longer recordings, realtime mode transcribes chunk by chunk with no total limit.
How do I use the STT API?
POST an audio file as multipart form field file to /api/stt with language. You get JSON back with text, duration and optional word timestamps. A copy-ready example is in the Developer API box above.