Plugins
TTS
Text-to-speech with local Piper voices, StreamElements, and ElevenLabs.
TTS
The TTS plugin speaks text through local Piper voices, StreamElements, or ElevenLabs.
Setup
Open Plugins → TTS → Configure and set up one or more providers:
| Provider | Requirements |
|---|---|
| Local TTS | Download Piper voices in the app |
| StreamElements | StreamElements overlay token |
| ElevenLabs | ElevenLabs API key |
ElevenLabs voices
After a valid API key:
- Open Voices on the configure page.
- Search and copy a voice ID from the table.
- In TTS → ElevenLabs → Speak Text, choose Variable for voice and use
{voiceId}from context.
Choose a default model on the configure page; override per handler or use Use default model.
Handlers
| Handler | Description |
|---|---|
| TTS → Skip | Stop the currently playing TTS message (and discard in-flight synthesis); the next queued clip still plays |
| TTS → Local → Speak Text | Offline Piper voice |
| TTS → StreamElements → Speak Text | Cloud via StreamElements |
| TTS → ElevenLabs → Speak Text | Cloud via ElevenLabs |
Each handler supports a fixed voice or a Variable voice ID.
Speak handlers finish only after their audio has finished playing. Use an action queue with blocking enabled when later actions must wait for that speech to end.
Reference: TTS handlers.