| name | voice |
| description | Convert text to speech audio using the `metabot voice tts` CLI. Use when the user asks you to speak, say something aloud, generate audio, or produce a voice recording. |
Text-to-Speech (Voice Output)
Generate MP3 audio from text using the metabot voice tts CLI.
Quick Commands
metabot voice tts "Hello, this is a test"
metabot voice tts "Hello" --play
metabot voice tts "Hello" -o greeting.mp3
metabot voice tts "Hello" --provider doubao --voice zh_female_wanqudashu_moon_bigtts
echo "Long text here" | metabot voice tts
echo "Long text" | metabot voice tts -o output.mp3
When to Use
- User asks you to "say", "speak", "read aloud", or "generate audio/voice"
- User wants a voice recording or audio version of text
- User requests TTS (text-to-speech) output
Available Providers & Voices
Edge TTS (default, free, no key needed):
zh-CN-XiaoyiNeural (default) — Female Chinese
zh-CN-YunxiNeural — Male Chinese
zh-CN-XiaoxiaoNeural — Female Chinese
en-US-JennyNeural — Female English
Doubao (default when Volcengine keys configured):
zh_female_wanqudashu_moon_bigtts (default) — Female Chinese
- Other Volcengine voice IDs from the TTS console
OpenAI (when OPENAI_API_KEY set):
alloy (default), echo, fable, onyx, nova, shimmer
ElevenLabs (when ELEVENLABS_API_KEY set):
- Voice IDs from the ElevenLabs console
Text Limits
- Doubao: ~300 Chinese characters (longer text is auto-truncated)
- OpenAI / ElevenLabs / Edge: ~4000 characters
Guidelines
- For short text (greetings, alerts), use inline:
metabot voice tts "text"
- For longer text, pipe through stdin:
echo "..." | metabot voice tts
- The output file is MP3 format
- Use
--play only when the user explicitly wants to hear the audio (it blocks until playback completes)
- When saving files for the user, use
-o with a descriptive filename
- To send the audio to the user in Feishu, copy the file to the outputs directory:
cp /tmp/metabot-voice-xxx.mp3 /tmp/metabot-outputs/<chatId>/