Use presets
Presets are predefined configurations managed by Agora that let you use
supported third-party AI providers without supplying your own API keys. You can specify a preset for any or all of the three provider categories: ASR, LLM, and TTS. Pass them together as a comma-separated string in the preset field of the Start a conversational AI agent request body.
Prerequisites
Before you begin, make sure you have:
- An Agora account with Conversational AI Engine enabled
- A valid Agora app ID
- One of the following to authenticate REST API requests:
- A customer ID and customer secret, to use Basic HTTP authentication
- An RTC token generated from your app ID and app certificate, to use token authentication
Understand the tech
The preset field accepts a comma-separated string of preset identifiers. Each
identifier maps to one provider category, so you can specify presets from
different categories in the same call. When a preset is active for a category,
you do not need to supply the provider's endpoint URL, API key, or model name.
You can still use the corresponding asr, llm, and tts fields to supply
additional settings, such as a system prompt or a specific voice ID.
The following presets are available:
| Category | Available presets |
|---|---|
| ASR |
|
| LLM |
|
| TTS |
|
You can specify one preset per category. If you specify a preset for a category, any API key or endpoint URL fields for that category are ignored.
Combine presets for all three categories
The following example starts an agent using Deepgram for ASR, OpenAI for LLM, and MiniMax for TTS, with no BYOK credentials required for any provider.
- curl
- Python
- Node.js
In this example:
- The
presetfield configures Deepgram Nova 3 for ASR, GPT-5 Mini for LLM, and MiniMax Speech 2.6 Turbo for TTS. - The
llmfield sets the system prompt, greeting, and history length without specifying an endpoint or API key, because those are provided by the preset. - The
ttsfield overrides the default voice selection for MiniMax. - The
asrfield passes a keyword hint to Deepgram.
Presets are independent: you can use one, two, or all three categories in the same request. Categories without a preset require you to supply your own provider credentials.
Reference
For the full list of request parameters, see Start a conversational AI agent.
For provider-specific configuration options available within asr, llm, and tts fields when using presets, see the relevant provider page.