An agent names its models as {provider, model} pairs. The only valid pairs are the ones in the provider catalog, and a config naming anything else is refused on save with the list of what it could have said instead. The catalog is live. GET /v1/catalog is authoritative; the tables at the bottom of this page are a snapshot of it and can lag behind.
The response carries one array per kind — llm, stt, tts, realtime, avatar, noise_cancellation — plus providers, the union of every language an agent may be set to, the subset of those the turn detector understands, system_vars, and the platform fee per channel.
Every model runs on your provider key. An agent will not publish until a key is configured for each provider it needs — the language model, the speech models, the avatar, the noise canceller, and any fallback among them. See provider keys.

Two pipelines

A voice or video agent runs one of two shapes, and config.realtime is what discriminates them. Set it, and it is the whole pipeline; leave it null, and the cascade runs. Take the cascade unless latency is the product. It is the shape everything else on the platform is built around: exact wording, per-stage failover, provider-side tools, a screen the agent can watch, and one hook that fires on every user turn. What you pay for it is a longer path to the first syllable. Take a realtime model when the conversation is the interface — a demo, a companion, an interview — and when you can live with a greeting that is approximate and a call that has no failover. A realtime agent still records, still analyses, still runs tools, knowledge, MCP servers and handoffs. Switching between them is a normalization, not an error: setting realtime clears stt, llm and tts, and setting them back means also setting realtime to null. See channels.

The fields on each slot

voice_name also exists on tts and realtime. It is a display label for the dashboard and is ignored when the agent is compiled. speed accepts 0.5 to 2.0 as a number, and is then checked against the chosen model’s own range — the tables below carry it. A model with no speed control refuses anything but 1.0. Leaving voice null uses the entry’s default voice. stability and similarity_boost belong to the ElevenLabs voice you picked and are refused on every other provider; see voices.

Choosing

The language is the first constraint, not the last. Pick the language, then models that cover it — a model that publishes languages and does not speak the one you chose is a save error, and a model with language_required refuses Auto outright. See language. After that:
  • Speech-to-text is the biggest lever on how the agent feels. A streaming model ends the turn on its own detector; a batch model transcribes each utterance in one request, which is cheaper and adds roughly half a second before the agent replies. Word-count interruption also stops working on a batch model, because there are no interim transcripts. See speech-to-text and turn detection.
  • The language model is where thinking time is spent. On a call, every second of reasoning is silence — take the least the model will accept. See thinking and provider tools.
  • Text-to-speech is where the agent’s character is. Price per character ranges over a factor of twenty-five across this catalog, and the two models that speak delivery tags are the only ones expressive delivery works on.
  • Mixing providers is normal. The three cascade slots are independent, and the agent’s single language is translated into each provider’s own spelling for you.

The priority lane

llm.priority asks the provider to schedule this model’s turns ahead of standard traffic, which steadies the worst case rather than speeding up the average. It costs between 1.75x and 2.5x the standard token price depending on the model, so read the priority lane before switching it on.

Reference

A snapshot of the catalog. GET /v1/catalog wins if the two disagree. Prices are USD and are what the provider bills you on your own key — Talqing adds only the per-minute platform fee.

Language models

Every entry below runs on text, voice and video, and every one of them reads an image. “Thinking” is the model’s reasoning_efforts, ordered fastest first; the first value is what an agent gets until its author picks another, and an empty cell means the model has no such setting. The default for a new agent is openai/gpt-5.6-luna.

Speech-to-text

Voice and video only. “On Auto” is what happens when config.language is null. Language counts are the codes the entry publishes; the codes themselves come back from the catalog endpoint.
Two entries detect nothing and transcribe every caller as English on Auto: raya/bakbak-stt and deepgram/nova-3. On Raya the failure is not symmetric — English audio read as Hindi comes back transliterated with its meaning intact, but Hindi audio read as English comes back with words missing, as a successful transcription with nothing to detect it by. If the agent takes non-English calls on either of these, set config.language rather than relying on Auto.
A streaming model bills the open socket for the whole call; a batch model bills only the utterances it was handed, which is roughly the caller’s share of the conversation. The default for a new agent is sarvam/saaras:v3.

Text-to-speech

Voice and video only. Speed is the model’s own accepted range. “Voice settings” means the model reads the stability and similarity_boost of the voice you picked. Only ElevenLabs sells them, and sending them anywhere else is a save error. “Expressive tags” means the model has a delivery-tag dialect the agent can be taught — xai/xai-tts and elevenlabs/eleven_v3 are the only two, and their dialects are different. The default for a new agent is sarvam/bulbul:v3 with the voice shubh. Voices are browsed separately, per provider and model, because most rosters are fetched live from the provider. See voices.

Realtime (speech-to-speech)

Voice and video only. One of these replaces stt, llm and tts together. Pricing, USD per 1M tokens except where noted: xAI bills speech-to-speech by the minute of audio rather than by token, which is why its token rates are a real zero rather than a missing figure.
Two provider charges on this pipeline are not in Talqing’s cost figures. The OpenAI entries run a separate transcription model so the call has a transcript at all; OpenAI bills it and reports no quantity we can meter. xAI charges per client text event, which nothing on the wire counts. Both land on your provider bill, not your Talqing balance.
The two grok-voice-* entries silently drop an image. They accept it, echo the item back with the picture removed, and then answer confidently about a photo they never saw. An agent on one of them cannot be sent an image at all.

Avatar

Billed on wall-clock minutes for the whole call, idle included, on top of whatever produces the agent’s audio. The faces are a separate gallery — see video avatars.

Noise cancellation

Voice and video only, off unless you turn it on, and it needs an ai-coustics key like any other provider. enhancement_level runs 0.0 to 1.0 and defaults to 0.8. No price is listed because there is nothing for Talqing to meter: ai-coustics bills your own account directly. See audio processing.

Next

Thinking and provider tools

How long the model may think, and the tools its provider runs for it.

Model fallbacks

A second provider per stage, and every rule it has to satisfy.

Provider keys

Bring the keys the models above run on.