(or receive them on a webhook).
How it works
/start.
Interactive API reference
Each endpoint has a Try it playground. Paste yourX-API-Key-ID and run live requests from the docs.
Webhook payload examples: Webhooks — samples for
job.completed, job.failed, and job.cancelled.
Before you begin
- An API key from the Gnani APIs dashboard
- Audio with real speech in a supported format
- A supported language code
Empty transcript after 3 retries.
How do I get the transcript text?
GET /jobs/{job_id} and GET /jobs/{job_id}/files do not return full_transcript.
Quickstart (live-verified)
1. Create
2. Start
3. Poll until COMPLETED
4. Get transcript_url, then download text
Configuration
Inverse Text Normalization (ITN) is not supported for STT Batch.
Limits
Supported languages
Batch vs REST/Realtime: Gujarati (
gu-IN) and Punjabi (pa-IN) are supported on STT REST and STT Realtime but not on Batch STT. Use REST or Realtime for those languages.Supported audio formats
.wav · .mp3 · .mp4 · .flac · .ogg · .opus · .m4a · .aac · .webm · .amr
Job statuses
Webhooks
Passcallback_url at create time to receive a POST when the job reaches a terminal state.
The
transcripts array includes full per-file transcript JSON (with full_transcript), so webhook users usually do not need /files + transcript_url.
Treat webhooks as best-effort. Polling remains the source of truth.
Sample webhook payload — job.completed
Sample webhook payload — job.failed
Sample webhook payload — job.cancelled
Common mistakes
Support
Docs feedback: Batch STT docs feedback Last verified: 5 August 2026 Live-checked: Create → Start → Poll → Files → Transcript download, List, Cancel, and error codes401 / 400 / 404 / 409.