Agora
This guide walks you through configuring Smallest AI as the speech-to-text and text-to-speech provider in Agora Conversational AI Engine. Conversational AI Engine is Agora’s managed pipeline (RTC transport → ASR → LLM → TTS) for building real-time voice agents - vendors are selected declaratively in the agent’s join config, so switching to Smallest AI is a configuration change, not a code change.
Smallest AI is supported as both the ASR and TTS vendor:
- Smallest AI ASR on Agora - Pulse, streamed over WebSocket
- Smallest AI TTS on Agora - Lightning, streamed over WebSocket
Prerequisites
- An Agora App ID and a Conversational AI Engine-enabled project
- A Smallest AI API key - get one from the Smallest AI dashboard
- An LLM provider key (e.g. OpenAI) for the
llmleg of the pipeline
Configuration
Vendors are set per-leg in the agent’s join request. Set vendor to "smallestai" on both the asr and tts blocks.
ASR (smallestai)
Boolean-like parameters (diarize, endpointing, punctuate, etc.) are sent as the strings "true"/"false" - the Python, TypeScript, and Go SDKs convert native booleans automatically.
TTS (smallestai)
Full Agent Config Example
A minimal join config wiring Smallest AI for both legs, with OpenAI as the LLM:
Submit this as the body of the Conversational AI Engine join request described in Agora’s quickstart. Once the agent joins the channel, audio flows: RTC microphone track → Smallest AI Pulse (ASR) → LLM → Smallest AI Lightning (TTS) → RTC audio track.
Notes
- Interruptions (barge-in) are handled by Conversational AI Engine itself: when a user speaks over the agent, the TTS leg is flushed and Lightning synthesis is cancelled mid-stream - no custom logic needed.
- For the full, current parameter list on Agora’s side, see the ASR and TTS provider pages in Agora’s docs.
- For issues or questions about the Smallest AI side of the integration, contact us on Discord.

