Overview
Submit one or more audio files for transcription and receive ajob_id immediately. Poll the status endpoint on a fixed interval until the job completes and transcripts are available. Ideal for long recordings, bulk files, or offline pipelines where you do not need a live response. For real-time transcription, see STT Realtime. For short clips under 60 seconds, see STT REST.
Endpoints
Limits & Specifications
View limits and supported formats
View limits and supported formats
Supported Audio Formats
AAC · WAV · FLAC · ALAC · OGG (Vorbis) · OpusUse standard file extensions and MIME types (e.g. .m4a for AAC, .wav, .flac, .ogg).Authentication
Send these headers on every request both submit and status calls.Submit a Transcription Job
POST /stt/v3/batch/submit
Upload audio files and kick off an asynchronous transcription job. The response returns a job_id immediately. the files are not yet transcribed at this point.
Request — Form Fields
Supported Language Codes
The Gnani Prisma v2.5 API supports these 10 Indian languages
The Gnani Prisma v2.5 API supports these 10 Indian languages
Example — curl
Response — 200 OK
Errors
Check Job Status
GET /stt/v3/batch/status/{job_id}
Poll this endpoint to check progress and retrieve transcription results once the job finishes. Call this once every 60 seconds per job_id. do not poll more frequently.
Path Parameter
Example — curl
Response — 200 OK
Job-Level Response Fields
Per-File Result Fields — results[]
Per-Segment Fields — results[].segments[]
Errors
Inverse Text Normalization (ITN)
Whenformat=transcribe is passed in the form body, ITN runs on every file’s transcript after recognition — converting spoken-form numbers, currency, dates, times, and phone numbers into the compact written form a reader expects.
What ITN Normalizes
ITN recognizes six categories of spoken expressions. Every matching span is transformed; all other words pass through unchanged.1 — Cardinal & Ordinal Numbers
1 — Cardinal & Ordinal Numbers
Whole numbers and positional ranks are formatted using Indian comma grouping (groups of 2 after the first 3 digits).
2 — Currency & Money
2 — Currency & Money
All Indian currency expressions — including paise fractions and lakh/crore scales — are formatted with the ₹ symbol and Indian comma grouping.
3 — Dates
3 — Dates
4 — Times
4 — Times
Indian time-of-day words (सुबह, दोपहर, शाम, रात) automatically map to 24-hour HH:MM output.
5 — Phone Numbers & PIN Codes
5 — Phone Numbers & PIN Codes
10-digit streams → mobile number; 6-digit streams → PIN. Repeat prefixes (double/डबल) are expanded.
6 — Mixed & Code-Mixed Utterances
6 — Mixed & Code-Mixed Utterances
A single file may contain segments with multiple entity types or blend Hindi and English. ITN normalizes each entity independently in one pass.
Native Script Digits — itn_native_numerals
By default, ITN outputs Western Arabic digits (0–9) regardless of language. When format=transcribe is set, you can additionally pass itn_native_numerals=true to render digits in the native script of the target language.
English always outputs Western Arabic digits.
itn_native_numerals=true has no effect for en-IN.What ITN Does Not Change
ITN intentionally preserves idiomatic and ambiguous phrases.- दो तीन (meaning a few) stays as text, not
2or3 - कर दो / ले दो (imperative verbs) are kept as words, not treated as cardinal 2
Flow Summary
- Submit —
POST https://api.vachana.ai/stt/v3/batch/submitwithX-API-Key-ID, optionalX-API-Request-ID, and form fieldsaudio_files,language_code, and optionallyis_multi_channel,format, anditn_native_numerals. - Save the
job_idfrom the submit response. - Poll —
GET https://api.vachana.ai/stt/v3/batch/status/{job_id}(same auth headers) every 60 seconds untilstatusiscompletedorfailedandresultsis populated.