If you're running a WhatsApp chatbot in Hindi, Marathi, Bangla, or any other Indic language, your OpenAI or Claude bill is silently inflated. Not because you chose the wrong model. Because of how language models count tokens — and Indic scripts are counted very differently from English.
Every API call to GPT-4o or Claude charges you by the token. Tokens are not words — they're chunks of text the model's tokenizer splits your input into. In English, a word typically costs 1–2 tokens. In Hindi or Marathi written in Devanagari script, the same concept costs significantly more.
Here's a real example. Take this WhatsApp message a user might send to a real estate bot:
# English version
"I need a 3BHK flat in Hinjewadi, budget 1.5 crore"
# Tokens: ~14 (GPT-4o)
# Hinglish version (how users actually write)
"Bhaiya mujhe Hinjewadi mein 3BHK chahiye, budget 1.5cr hai"
# Tokens: ~18 (GPT-4o)
# Hindi Devanagari version
"भैया मुझे हिंजेवाड़ी में 3BHK चाहिए, बजट 1.5 करोड़ है"
# Tokens: ~28–35 (GPT-4o · older tokenizers: 50+)
Now multiply that difference by 100,000 messages a month. The math becomes painful fast.
Real API pricing, real token counts. GPT-4o at $2.50/1M input tokens, $10.00/1M output tokens, 80 output tokens per message, 100,000 messages per month.
GPT-4o: $2.50/1M input · $10.00/1M output · 100,000 messages/month · 80 output tokens/message · USD/INR ₹95.39 (June 2026)
| Message Type | Avg Input Tokens | Input Cost/mo | Output Cost/mo | Total/mo | Extra vs English |
|---|---|---|---|---|---|
| Pure English | 14 | ₹334 | ₹7,633 | ₹7,967 | — |
| Hinglish | 18 | ₹430 | ₹7,633 | ₹8,063 | +₹96/mo |
| Hindi Devanagari | 32 | ₹764 | ₹7,633 | ₹8,397 | +₹430/mo |
| Marathi | 30 | ₹716 | ₹7,633 | ₹8,349 | +₹382/mo |
| Bangla | 35 | ₹835 | ₹7,633 | ₹8,468 | +₹501/mo |
| Arabic (Gulf) | 38 | ₹907 | ₹7,633 | ₹8,540 | +₹573/mo |
At 100,000 messages per month, the raw input token difference between English and Hindi Devanagari is ₹430/month — modest on its own. But this changes dramatically at higher volumes, and more importantly when you factor in system prompts, conversation history, and RAG context. A 400-token system prompt sent with every message adds ₹9,539/month in input costs alone — dwarfing the message itself. That's where the real inflation lives.
It comes down to how tokenizers are built. A tokenizer learns which sequences of characters appear together frequently in its training data. Since most LLM training data is English-dominant, the tokenizer has rich vocabulary for English words and subwords. For Devanagari or Bengali script, it falls back to character-level or byte-level tokenization — splitting the same information into far more pieces.
OpenAI improved this significantly with their o200k_base tokenizer in GPT-4o — Indic languages are now 40–60% more efficient than on GPT-3 era models. But the gap hasn't closed completely. Arabic still has significant token inflation (2.5–3x) on all major frontier models.
Token cost from the input message itself is just one layer. In a real WhatsApp bot, every message also carries:
System prompt — your instructions to the LLM. Typically 300–1,500 tokens sent with every single message. In Indic language apps, these often include transliterated examples and multilingual instructions, making them even longer.
Conversation history — multi-turn conversations accumulate fast. A 6-turn conversation history adds 400–1,200 tokens to every API call.
RAG context — if you're injecting retrieved knowledge (property listings, product catalogs, policy documents), you're adding 500–2,000 tokens per call.
The solution isn't to switch to a cheaper model and lose quality. It's to compress what you send to the LLM before it gets there.
This is what Indic Engine does. It intercepts the raw WhatsApp message, extracts only the semantic intent into a compact JSON payload, and returns it to your bot. Your bot then forwards that structured JSON to your LLM instead of the raw message. Your LLM receives the same information — structured, clean, token-efficient — and responds with the same quality.
# Raw message (before) — sent to Indic Engine
"Bhaiya mujhe Hinjewadi phase 2 mein ek achha sa 3BHK chahiye,
budget 1.5 crore hai, ready to move preferred, metro ke paas
ho to aur bhi accha rahega, society mein park bhi hona chahiye"
# Tokens: ~52 (GPT-4o)
# After Indic Engine compression — sent to your LLM
{"i":"rent_apartment","l":"hinjewadi","b":15000000,
"bhk":"3BHK","p":"ready_to_move","f":"unknown"}
# Tokens: 18 (GPT-4o) — 65% reduction
Every field is preserved. The intent, location, budget, bedroom configuration, and possession preference are all extracted correctly. The LLM receives structured data instead of conversational noise — and responds more accurately because of it.
We stress-tested Indic Engine across 240 combinations — 24 languages × 10 verticals — in June 2026.
The semantic cache is worth highlighting separately. Once a message pattern has been compressed once, similar future messages — same intent, different phrasing — are served from cache in ~15ms at zero AI inference cost. After a few days of production traffic, the majority of messages hit cache. This compounds daily.
Indic Engine is a compression middleware — a step before your LLM call, not a replacement for it. Your LLM provider, model, and response handling stay exactly the same.
// Step 1 — Compress with Indic Engine
const ie = await fetch(
'https://indic-engine.com/v1/chat/completions',
{
method: 'POST',
headers: {
'Authorization': `Bearer ${INDIC_ENGINE_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
input: whatsappMsg,
vertical: 'realestate'
})
}
).then(r => r.json());
// ie.data = compressed JSON — pass to your LLM
// ie.savings = "75%" — token reduction this call
// Step 2 — Send compressed data to GPT-4o
const response = await openai.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: ie.data }]
});
import requests
# Step 1 — Compress
ie = requests.post(
"https://indic-engine.com/v1/chat/completions",
headers={"Authorization": f"Bearer {INDIC_ENGINE_KEY}"},
json={"input": whatsapp_message, "vertical": "realestate"}
).json()
# Step 2 — Send to GPT-4o
response = openai.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": ie["data"]}]
)
The ROI is clearest for businesses at high volume with long system prompts or RAG pipelines. At 100,000 messages per month on GPT-4o with a 400-token system prompt, compressing that prompt 85% saves ₹8,109/month on prompt costs alone — before touching the message itself. At 500,000 messages per month, input token savings on Hindi Devanagari messages alone reach ₹2,148/month. Add system prompt and RAG compression and the total saving easily clears ₹10,000–₹20,000/month. The Indic Engine Growth plan costs ₹6,000/month.
For businesses on cheaper models (GPT-5 Mini, Gemini Flash, Llama), the financial saving is smaller — but the quality improvement is real. Structured intent extraction means your bot logic gets clean, predictable inputs instead of raw conversational noise.
For BFSI and healthcare bots using RAG pipelines, the saving is dramatically higher — because RAG context inflation multiplies the token cost 4–6x before it even reaches the LLM. Compressing RAG chunks before injection addresses the largest single source of token waste in enterprise AI pipelines.
The benchmark endpoint requires no API key. Send any message in any supported language and see the token count, compression output, and savings in real time.
# No signup required
curl -X POST "https://indic-engine.com/benchmark" \
-H "Content-Type: application/json" \
-d '{"input": "भैया मुझे हिंजेवाड़ी में 3BHK चाहिए, बजट 1.5 करोड़", "vertical": "realestate"}'
Or use the token cost calculator to see exactly how much each model costs for your message volume — and how much Indic Engine saves.
Send us 50 anonymised messages from your bot. We'll run them through Indic Engine and return the exact token counts, cost comparison, and monthly saving — in 24 hours. No commitment required.
Start free audit →Free tier available · No credit card · 15-minute integration