Chariot-1-ASR Realtime

Punjabi speech to text in real time.

Text arrives while people are still talking. In Punjabi it had the lowest word error rate of every system we tested, ahead of every streaming API and even the models that hear the whole recording before they write a word.

Free to start · No card · Live audio or file upload · Mixed with English

Live transcriptChariot-1-ASR Realtime · balanced

0:00

The clip

Clip: FLEURS, CC BY 4.0

#1in Punjabi, against every streaming API and every batch model we tested

18%fewer errors than Sarvam Saaras v4, the next best streaming API, without being told the language

10%fewer errors than Sarvam Saaras v4, the best model that hears the whole recording first

7public Punjabi test sets, scored by the same code for every system

Benchmark · October 2026

#1 in Punjabi. Against every system we tested.

Word error rate, the share of words a system gets wrong. Lower is better. One scoring code for every system.

Against streaming APIs

On the test sets every streaming API was run on. Chariot was never told the language. An API whose automatic mode gave unusable output was given it.

Chariot-1-ASR Realtimehigh accuracy20.49
Chariot-1-ASR Realtimebalanced22.69
Sarvam Saaras v4streaming API25.03
Soniox stt-rt-v5given a language hint29.60
Google Gemini 3.5 Transcribe Livestreaming API31.02
Deepgram Nova-3given the language code36.75
ElevenLabs Scribe v2 Realtimestreaming API53.37

Does not support it: Cartesia Ink-2.

Against models that hear the whole recording

All 7 Punjabi test sets. Every system that takes a language setting was given it.

Chariot-1-ASR Realtimestreaming, high accuracy17.53
Chariot-1-ASR Realtimestreaming, balanced17.95
Sarvam Saaras v4batch API19.52
Indic-Transcribebatch model19.96
AI4Bharat IndicConformerbatch model20.34
SraVaanibatch model21.84
Google Gemini 3.5 Transcribebatch API21.89
Shrutam-2batch model22.92
ElevenLabs Scribe v2batch API23.03
Google Gemma-4 E4Bbatch model31.83
OpenAI Whisper large-v3batch model85.77

Every system, every language, and how we measured ›

Live audio and recordings

Set it once per session. Then talk.

Each session takes a mode, a language or none, and how English words are written. One price for all of it.

Balanced

Text arrives sooner. For voice agents, live captions and anything a person reacts to as they speak.

High accuracy

The model takes more context before it commits text. For call and meeting transcripts and dictation, where accuracy matters more than a short delay.

Any language, or the one you set

Set the language when you know what callers speak, or leave it out and the model detects it from the audio.

Codemix or native

Codemix keeps borrowed English words in Latin script. Native writes them in the script of the spoken language.

Phone audio

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

Recordings too

Upload a recording in the web app and get its transcript back. WAV, MP3, FLAC, OGG, M4A, AAC or WebM.

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"
       "?language=pa&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="")

Use cases

What people build with it in Punjabi.

Voice agents

Hear a caller while they are still speaking in Punjabi, and answer without a pause.

Live captions

Captions for streams, classes and events that keep up with the speaker.

Live captions ›

Call transcripts

Every Punjabi support and sales call written down, English words included.

Call transcription ›

Dictation and notes

Notes, forms and messages spoken in Punjabi.

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 accurate is Chariot's Punjabi speech to text?

In our October 2026 benchmark it had the lowest word error rate in Punjabi of every system we tested. Without being told the language, it scored 20.49% in high-accuracy mode on the test sets every streaming API was run on, against 25.03% for Sarvam Saaras v4, the next best. On all 7 Punjabi test sets, with every system given the language, it scored 17.53% against 19.52% for Sarvam Saaras v4, the best model that hears the whole recording first.

Does it handle Punjabi mixed with English?

Yes. Speech that mixes Punjabi with English is normal input. Choose how the English words are written: codemix keeps them in Latin script, native writes them in the script of the spoken language.

Do I have to tell it the speech is in Punjabi?

No. Set language=pa when you know the speech is in Punjabi, or leave it out and the model detects the language from the audio. In the streaming results above, Chariot was never told the language.

What is the difference between balanced and high accuracy?

Balanced sends text sooner, for voice agents and live captions. High accuracy takes more context before it commits text, which usually gives a more accurate transcript, for calls, meetings and dictation. Both cost the same.

Can I send phone-call audio?

Yes. Stream 16-bit PCM at 8 to 48 kHz, or telephony audio as 8 kHz mu-law or A-law, mono.

Can I transcribe a recording?

Yes. Upload it in Speech to Text in the web app: WAV, MP3, FLAC, OGG, M4A, AAC or WebM, up to 3 minutes and 20 MB a file. For a longer recording, stream it over the WebSocket, as the quickstart does: a session runs for up to three hours.

How is it billed?

1.5 credits per second of audio you send, in either mode, from the same credits as text to speech. Time with the connection open but no audio sent is not billed. Every session is saved to your workspace with its transcript and cost.

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.