Documentation Index
Fetch the complete documentation index at: https://docs.inya.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Every customer call contains signal that most teams never act on. This pipeline surfaces that signal automatically — agent effectiveness, customer sentiment, resolution quality, and upsell opportunities — across any volume of calls, in 10 Indian languages.| Industry | What the pipeline enables |
|---|---|
| BFSI / Collections | Monitor agent compliance, detect customer distress early, flag missed EMI restructuring opportunities. |
| Insurance | Analyze claim support calls, track resolution rates, identify policy renewal signals. |
| Contact Centers / BPOs | Automate QA at scale, reduce manual call review, improve agent training with structured feedback. |
| Healthcare | Analyze patient support calls, surface unresolved queries, track sentiment across touchpoints. |
| Telecom | Detect churn signals, identify upsell triggers, monitor service complaint patterns. |
Prerequisites & Installation
Authentication
Every request to the Batch STT API requires theX-API-Key-ID header. Store all credentials in environment variables.
| Header | Required | Description |
|---|---|---|
X-API-Key-ID | Yes | Your Vachana API key. Required on every request — both submit and status calls. |
X-API-Request-ID | No | A UUID trace ID you assign. Used to correlate your logs with platform logs or support tickets. |
.env
Supported Languages
| Language | Code | Script | ITN Support |
|---|---|---|---|
| Hindi | hi-IN | Devanagari | Yes |
| English | en-IN | Latin | Yes |
| Tamil | ta-IN | Tamil | — |
| Telugu | te-IN | Telugu | — |
| Kannada | kn-IN | Kannada | — |
| Malayalam | ml-IN | Malayalam | — |
| Bengali | bn-IN | Bengali | — |
| Gujarati | gu-IN | Gujarati | — |
| Marathi | mr-IN | Devanagari | — |
| Punjabi | pa-IN | Gurmukhi | — |
| Hinglish | en-hi-in-cm | Latin + Devanagari | Experimental |
format=transcribe in the request to enable it.
Batch API Flow
| Operation | Method | Endpoint |
|---|---|---|
| Submit job | POST | https://api.vachana.ai/stt/v3/batch/submit |
| Check status | GET | https://api.vachana.ai/stt/v3/batch/status/{job_id} |
Submit — POST /stt/v3/batch/submit
Upload 1–10 audio files as multipart form data with your language code and format preference. Receive a
job_id immediately. Transcription has not started at this point.Save the job_id
Persist the
job_id from the submit response. It is required for every subsequent status call.Poll — GET /stt/v3/batch/status/{job_id}
Call the status endpoint every 60 seconds. Status transitions:
submitted → processing → completed or failed. The results field is null until the job reaches completed.Parse segments
Extract per-segment fields:
speaker_id, text, start_time, end_time, sentiment, emotion, confidence. Build speaker-separated conversation threads and talk-time logs.Pipeline Implementation
Imports & Setup
imports and config
Submit & Poll
process_audio_files + _poll_until_complete
Parsing — Speaker Transcripts & Sentiment Timeline
_parse_results processes the completed API response and writes three output files per call: a speaker-labelled transcript, a per-speaker talk-time log, and a segment-level sentiment timeline.
_parse_results
LLM Analysis
The analysis step sends the parsed conversation to your chosen LLM with a structured prompt. Switch providers by changing theLLM_PROVIDER environment variable.
analysis prompt
analyze_transcription + _call_llm
Ad-hoc Q&A
Ask any question against a transcribed call — useful for targeted investigation after bulk processing.answer_question
Summary Report
Generate a single summary report across all analyzed calls in the session.get_summary
Full Pipeline
call_analytics_pipeline.py
Sample Output
Limits & Notes
| Constraint | Value | What to do |
|---|---|---|
| Max file duration | 1 hour per file | Use split_audio() for longer recordings. Concatenate conversation text after parsing. |
| Max files per request | 10 files | For bulk pipelines, group calls into batches of 10 and submit sequentially. |
| Max payload size | 80 MB total | Use FLAC or Opus to reduce file size before upload. |
| Poll interval | 60 seconds minimum | Do not reduce below 60 s. The API rate-limits per job_id. |
| Speaker diarization | Max 2 speakers | Designed for two-party calls (agent + customer). Multi-party calls are not supported. |
| ITN support | hi-IN, en-IN only | Other languages return verbatim output regardless of the format parameter. |
| LLM token limits | Varies by provider | For calls over 30 minutes, chunk the transcript before sending to the LLM analysis step. |
Related docs: Batch STT API reference · REST STT for short clips · SDK:
pip install gnani-vachana