Skip to content

Voice & language catalog

A session picks its speech-to-text model, language, and text-to-speech voice either at connect time (the client’s pipeline config) or mid-call (the brain’s configure_stt / configure_tts). This page is the catalog of allowed values.

ValueWhat it is
vql-stt (default)A composite router covering English plus 22 Indic languages. It picks the underlying engine from language — you never name an engine directly. No language → English. Use this.
nemotron-streamingA directly-pinned engine, for comparison/testing.
cohere-transcribeA directly-pinned engine, for comparison/testing.

For almost every agent, leave the model as vql-stt and just set the language.

vql-stt supports English (en) plus these 22 Indic languages:

CodeLanguageCodeLanguageCodeLanguage
asAssamesebnBengalibrxBodo
doiDogrikokKonkaniguGujarati
hiHindiknKannadaksKashmiri
maiMaithilimlMalayalammrMarathi
mniManipurineNepaliorOdia
paPunjabisaSanskritsatSantali
sdSindhitaTamilteTelugu
urUrdu

A mid-call language change (configure_stt(language_hint=...)) that crosses the English↔Indic boundary is applied at the next end-of-turn, never mid-utterance.

Passed via configure_stt (applies live). Defaults shown:

KnobPurpose
language_hintSwitch STT language (any code above); crosses the English↔Indic boundary at the next end-of-turn
VAD knobsvad_confidence, vad_min_volume, vad_start_frames, vad_stop_frames_to_trigger_update, vad_eager_frames, vad_barge_in_ms, resume_frames, min_segment_speech_frames, confidence_tail_ms — voice-activity / end-of-turn tuning

These are exactly the arguments Session.configure_stt(...) accepts.

Voice IDs are engine/voicethe engine prefix is required (a bare name is rejected; there is no implicit default). The prefix, not any model field, selects the engine.

The engine the public demos use is omnivoice, a voice-cloning model with two personas:

Voice IDPersona
omnivoice/gauriFemale
omnivoice/gauravMale
omnivoice/autoModel-chosen voice (no fixed persona)

Both personas default to Hindi and have dedicated reference clips for hi, en, bn, gu, kn, ml, mr, pa, ta, te; other languages fall back to the Hindi clip.

  • At connect (client): the React SDK’s pipeline prop, e.g.
    pipeline: {
    stt: { model: "vql-stt", language: "en" },
    tts: { voice: "omnivoice/gauri", language: "en" },
    }
  • Mid-call (brain): session.configure_stt(language_hint="hi") and session.configure_tts(voice="omnivoice/gaurav"). STT applies live; TTS applies at the next inference. See Handling a conversation.

The lead_qual demo switches both STT and TTS language mid-call for multilingual qualification — a good worked example.