How CallMissed Works
The architecture behind CallMissed — one OpenAI-compatible gateway that routes to the best provider for each model, billed in a single credit currency.
The Gateway
CallMissed is a single, OpenAI-compatible gateway in front of many AI providers. You point the official OpenAI (or Anthropic) SDK at https://api.callmissed.com/v1, authenticate with a cm_ key, and call chat, speech, image, and search — without integrating each provider yourself.
The same endpoint powers the dashboard playground and your production code, so behavior is identical everywhere.
- 1
Your app
One SDK, one base URL, one key for every capability
- 2
CallMissed gateway
Authenticate, enforce tenant isolation + rate limits, route by model id
- 3
Best provider
the best-fit backend for each model — chosen automatically
- 4
Credits & logs
Deduct from one credit balance and record usage for every request
Model Routing
The model id picks the backend. You never manage multiple SDKs or keys.
| Model id | Routed to |
|---|---|
sarvam-* (e.g. sarvam-105b) | Indic LLM |
saaras:*, whisper*, nova-3, deepgram-*, gnani-prisma-* | Speech to text |
bulbul:*, aura-2-*, melotts, gnani-timbre-* | Text to speech |
flux-*, gpt-image-*, lucid-origin, phoenix-1.0, … | Image generation |
everything else (e.g. kimi-k2.5, gpt-5.6-terra, glm-5.2) | Chat completions |
Every id is a plain CallMissed id. One API surface, one key, one bill.
Need a model that isn't in the catalog? We deploy 300+ more on demand — see Models on demand.
One Credit Currency
Every call — LLM tokens, STT minutes, TTS characters, an image, a web search — deducts credits. 1 credit = ₹1. This removes per-provider pricing math: top up once, spend across every capability. See Credits & Rate Limits for the per-service rates.
Tenancy & Isolation
Your organization is a tenant. Every user, bot, API key, conversation, and log belongs to exactly one tenant, and every database query is scoped to it — data is never shared across tenants. Roles (owner / admin / agent) gate sensitive actions, and you manage members and roles from the dashboard.
Channels vs APIs
There are two ways to use CallMissed:
- Direct APIs — call
/v1/*from your own app (chat, speech, image, search, voice sessions). - Channels — let CallMissed run a bot end-to-end on WhatsApp or voice calls, handling the inbound webhook, the AI turn, and the reply.
Account MCP Server
Give an AI agent tools that act on your CallMissed account — send WhatsApp messages, review campaigns, conversations and contacts, and place calls — over the Model Context Protocol with your API key.
Idempotency
Make mutating requests safely retryable with an Idempotency-Key so network retries never duplicate an action.