Give OpenClaw a Voice
Point OpenClaw at ListenHub's TTS API and every reply becomes natural-sounding speech.
OpenClaw is an open-source AI assistant framework. Its messages.tts.openai block accepts any OpenAI-compatible TTS endpoint — and ListenHub's /v1/tts is exactly that.
Point OpenClaw at ListenHub and your assistant starts talking: replies are delivered as voice messages on platforms that support them, using ListenHub's expressive multilingual voices.
Requirements
- OpenClaw v2026.3.7 or later
- A ListenHub API key
- A ListenHub account with available credits — see Credits & Pricing
Setup
Add the following to your openclaw.json under messages:
{
"messages": {
"tts": {
"auto": "always",
"provider": "openai",
"openai": {
"baseUrl": "https://api.marswave.ai/openapi/v1",
"apiKey": "$LISTENHUB_API_KEY",
"model": "flowtts",
"voice": "CN-Man-Beijing-V2"
}
}
}
}Replace $LISTENHUB_API_KEY with an API key from your settings. Replace the voice value with any speaker ID from the Speakers API. flowtts is ListenHub's TTS model name — leave it as-is.
Test with curl
Before wiring OpenClaw to ListenHub, verify your API key works:
curl -X POST https://api.marswave.ai/openapi/v1/audio/speech \
-H "Authorization: Bearer $LISTENHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "Hello! This is ListenHub text to speech.",
"voice": "EN-Woman-General-01",
"response_format": "mp3",
"model": "flowtts"
}' \
--output output.mp3On success, output.mp3 is saved to the current directory. Swap voice for any ID from the Speakers API.
auto Modes
The auto field controls when TTS fires on outbound replies:
| Value | Behavior |
|---|---|
"always" | Every reply is converted to speech |
"inbound" | Audio reply only when the incoming message was a voice note |
"tagged" | Audio only when the reply contains a [[tts]] directive |
"off" | Auto-TTS disabled |
"inbound" pairs especially well with Telegram — voice in, voice out.
Available Voices
ListenHub provides natural-sounding voices across multiple languages. A few starting points:
| Speaker ID | Language | Gender |
|---|---|---|
travel-girl-english | English | Female |
leo-9328b6d2 | English | Male |
Browse all available voices with the Speakers API.
Platform Support
Voice messages are delivered natively on these platforms:
| Platform | Support |
|---|---|
| Telegram | ✅ Round voice bubble |
| Discord | ✅ Voice message |
| ✅ Voice note | |
| Feishu / Lark | ❌ Voice messages not yet supported |
| Slack | ❌ Audio file only (no native voice message) |