Rapida
This guide walks you through configuring Smallest AI as the TTS and STT provider in Rapida, an open-source voice AI orchestration platform you can self-host or run managed. Rapida lets you pick a provider independently per capability — use Smallest AI for both TTS and STT, or mix it with other providers.
Prerequisites
- A Rapida instance — self-hosted (see the voice-ai repository) or managed
- A Smallest AI API key — get one from the Smallest AI dashboard
Setup
Add a Smallest AI credential
Add a new provider credential, select Smallest AI, and paste your API key.
Configure TTS
On your assistant’s deployment, set the text-to-speech provider to Smallest AI and choose a Model:
lightning_v3.1— standard pool, voice cloning supported, 12 languages (voices:magnus,devansh,kartik,maithili,liam,avery, and more)lightning_v3.1_pro— premium pool with curated American, British, and Indian voices (English + Hindi) (voices:meher,kaitlyn,blake,sophie,sam,aviraj, and more)
The Voice dropdown is scoped to whichever model you picked — Pro voices aren’t offered under lightning_v3.1 and vice versa, so a mismatched pairing isn’t selectable from the UI in the first place. Set the Language, and optionally a Speed (0.5–2.0).
Configure STT
Set the speech-to-text provider to Smallest AI. The Model is pulse — Rapida’s integration streams over Pulse’s realtime WebSocket, so pulse-pro (pre-recorded/HTTP-only) isn’t offered here. Set the Language, or leave it unset for auto-detect.
Optional feature toggles are also available — word/sentence timestamps, speaker diarization, PII/PCI redaction, inverse text normalization, and punctuation formatting. See the Configuration Reference below.
Configuration Reference
Rapida stores provider options as listen.* (STT) / speak.* (TTS) keys.
All seven listen.* feature flags are opt-in — Rapida only sends them to Smallest when explicitly set, so behavior is unchanged if you don’t touch them.
Notes
- Rapida routes TTS requests to
wss://api.smallest.ai/waves/v1/tts/liveand STT requests towss://api.smallest.ai/waves/v1/pulse/get_text, identifying itself with anX-Source: rapidaheader on both. - Interruptions are handled by Rapida’s pipeline: on barge-in, the TTS connection is closed and reopened for the next turn — no custom logic needed on the Smallest AI side.
- If a
speak.voice.id/speak.modelpairing the API doesn’t support is sent (e.g. a Pro-only voice withlightning_v3.1), Rapida surfaces it as an error on that turn rather than hanging — the dashboard’s model-scoped voice dropdown is the main safeguard, this is the fallback for free-typed voice IDs. - For issues with the Smallest AI integration in Rapida, open an issue in the Rapida repository or contact us on Discord.

