> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upliftai.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Recommended stack

This is not a guess. When you [build an assistant from a brief](/api-reference/authoring-an-assistant/build-an-assistant-from-a-brief), our own pipeline writes exactly this:

```json theme={null}
{
  "stt": { "default": { "provider": "soniox", "model": "stt-rt-v4", "language": "ur" } },
  "llm": { "default": { "provider": "openai", "model": "gpt-5.4-nano", "reasoningEffort": "low", "verbosity": "low" } },
  "tts": { "default": { "provider": "upliftai", "voiceId": "helpdesk-agent", "outputFormat": "MP3_22050_32" } }
}
```

That's a working assistant as-is. `helpdesk-agent` is a warm customer-service voice — pick another from the [voices gallery](/orator_voices) if you want.

## Why these

* **STT: `soniox`.** Native streaming, so no chunking tricks. Built for Urdu, and the `language` hint doesn't lock it in: English and Punjabi words your callers mix in still come through.
* **LLM: `gpt-5.4-nano`, reasoning and verbosity `low`.** Fast, cheap, and it follows a script. `low` verbosity matters on voice: a chatty model is a slow call.
* **TTS: `upliftai`.** 80+ voices tuned for Urdu and regional languages, and first audio in **100–200ms**. It's the only part of the stack we own end to end. Start with `helpdesk-agent`.

## When to step up

* **Calls that need more judgment** (objection handling, open questions): move the LLM to `gpt-5.4-mini`. It's the default for campaign assistants on the portal.
* **Latency above all**: `gemini-2.5-flash` is the fastest model we run. `gemini-3.5-flash` is a good balance of intelligence and speed. Mind the thinking knobs — see [How it works](/voice-agents/concepts/how-it-works#where-the-time-goes).

Every string here, and everything else we've tested, is in the [Provider & model reference](/voice-agents/assistants/providers-and-models).
