Chariot-1-ASR Realtime

Live captions that keep up with the speaker.

Stream the audio of a class, an event or a broadcast and get captions while people are still talking, in Hindi, English and 10 more Indian languages, English words and all.

Free to start · No card · WebSocket API · 12 languages

Live transcriptChariot-1-ASR Realtime · balanced

0:00

The clip

Clips: FLEURS, CC BY 4.0

#1in all 10 Indian languages, against every streaming API we tested

17%fewer errors than the next best streaming API, without being told the language

3 ha streaming session, with text sent as each piece is recognised

Autolanguage detection, when you do not know the speaker’s language in advance

Benchmark · October 2026

#1 in all 10 Indian languages. Against every streaming API.

Word error rate by language, lower is better. Chariot was never told the language. Next best is the best of the other streaming APIs in that language.

Against streaming APIs

LanguageChariotNext bestFewer errors
Hindi12.9016.7623%
Marathi19.8620.995%
Bengali16.4322.2126%
Tamil24.0930.1320%
Telugu20.8022.869%
Kannada24.2129.8619%
Malayalam31.2435.7012%
Gujarati22.3526.5916%
Punjabi20.4925.0318%
Odia21.9728.0222%

Every system, every language, and how we measured ›

How it works

Audio in, captions out.

Open a session

Connect to the WebSocket in balanced mode, the one that sends text sooner. Set the language, or leave it out.

Send audio as it plays

Stream it in 100 ms chunks from the microphone, mixer or broadcast feed, as 16-bit PCM from 8 to 48 kHz.

Show the text

Each transcript.delta event carries the newest words. Add them to your player, overlay or page as they arrive.

API

From audio to text in a few lines.

One WebSocket. Send audio as you capture it, read text as it is recognised, and send input.done for the complete transcript.

Python
# pip install websockets
import json, websockets

url = ("wss://api.chariot.in/v1/asr/ws"
       "?audio_format=pcm_16000&mode=balanced")
headers = {"chariotai-api-key": API_KEY}

async with websockets.connect(url, additional_headers=headers) as ws:
    await ws.recv()  # session.started
    for chunk in microphone():  # 100 ms of audio at a time
        await ws.send(chunk)
    await ws.send(json.dumps({"type": "input.done"}))
    async for message in ws:
        event = json.loads(message)
        if event["type"] == "transcript.delta":
            print(event["text"], end="")

Built for live audio

The settings for captions.

Balanced or high accuracy

Balanced sends text sooner, for captions people read as they listen. High accuracy waits for more context.

English words

Codemix keeps borrowed English words in Latin letters; native writes them in the script of the spoken language.

Long events

A session runs for up to three hours. For a longer event, open a new session before it ends.

Phone and web audio

16-bit PCM from 8 to 48 kHz, or 8 kHz mu-law and A-law from a phone line.

Every session saved

Each session is saved to your workspace with its transcript and cost.

Billed by the audio

You pay for the audio you send, not for the time the connection is open.

Pricing

Plans from ₹499 a month.Plans from $5 a month. Or start free.

Speech to text uses the same credits as text to speech, at one rate in both modes. Each plan covers this much audio a month.

PlanA monthSpeech to text
Free10,000 credits₹0$0about 2 hours
Starter100,000 credits₹499$5about 19 hours
Creator250,000 credits₹999about 46 hours
Startup1,500,000 credits₹4,999$49about 280 hours
Scale10,000,000 credits₹29,999$299about 1,900 hours

Monthly prices. Prices exclude applicable taxes.

Use cases

Other things people build with it.

Voice agents, too: they hear a caller while they are still speaking, in their language.

Audio and video to text

Upload a recording or a video and get its transcript, in the language it was spoken.

Audio and video to text ›

Subtitles

SRT files from each word’s timing, for YouTube or your video editor.

Subtitles from video ›

Call transcription

Support and sales calls written down, live from the phone line or from recordings.

Call transcription ›

Voice typing

Speak into the microphone, watch the words appear, and copy them anywhere.

Voice typing ›

Your data

Your audio stays in India.

Speech to text runs on Indian infrastructure. Audio you send and its transcripts are processed in India under the Digital Personal Data Protection Act. Chariot is one of four teams selected under the IndiaAI Mission to build the country’s foundation models.

IndiaAudio and transcripts are processed in India.
DPDPHandled under India’s data protection law.
1 of 4Teams selected under the IndiaAI Mission to build foundation models.

FAQ

Questions, answered.

More in the speech to text docs.

How fast do the captions appear?

Text arrives while people are still talking. Balanced mode sends it sooner; high accuracy waits for more context first. How soon it reaches you also depends on your network and how you send the audio.

Can I caption a live stream or a call?

Yes, if you can send its audio to the API. Chariot returns the text over the WebSocket, and your player, overlay or page shows it.

What if the speaker mixes in English?

English words in Indian-language speech are normal input. Choose codemix or native for how they are written. If you do not know the language in advance, leave it out and the model detects it from the audio.

How long can a session run?

Up to three hours. Open a new session for a longer event.

How is it billed?

1.5 credits per second of audio, 90 credits a minute, from the same credits as text to speech. Every account starts with 10,000 free credits, almost two hours of audio.

Where is my audio processed?

In India. Audio you send and its transcripts are processed on Indian infrastructure, under the Digital Personal Data Protection Act.

Which languages does it support?

Hindi, Marathi, Bengali, Tamil, Telugu, Kannada, Malayalam, Gujarati, Punjabi, Odia, Sanskrit and English. Set the language for a session, or leave it out and the model detects it from the audio.

Every word, as it is spoken.

Start free with 10,000 credits, almost two hours of audio. No credit card.