小米 TTS 代理技能,将 OpenAI TTSAPI 转换为小米大模型平台 TTS API(api.xiaomimimo.com),支持 Opus/MP3/AAC/FLAC/WAV/PCM 本地转码,用于为机器人添加语音回复或配置 TTS 语音合成。
voice 参数)#音色voice 参数值MiMo-默认mimo_defaultMiMo-中文女声default_zhMiMo-英文女声default_en
input 文本开头加 <style> 标签)#将 <style>风格</style> 置于待合成文本开头,小米的 TTS 会识别并应用对应风格:
风格示例语速控制<style>变快</style> / <style>变慢</style>情绪变化<style>开心</style> / <style>悲伤</style> / <style>生气</style>角色扮演<style>孙悟空</style> / <style>林黛玉</style>风格变化<style>悄悄话</style> / <style>夹子音</style> / <style>台湾腔</style>方言<style>东北话</style> / <style>四川话</style> / <style>粤语</style>唱歌<style>唱歌</style>(必须放在最开头)
样例:
bash
curl -X POST http://127.0.0.1:18899/audio/speech \
-d '{"input":"<style>东北话</style>哎呀妈呀,这天儿也太冷了!","voice":"mimo_default","response_format":"opus"}'
本技能在本地启动一个 HTTP 代理服务(默认 :18899),将 OpenAI TTS API 格式请求转换为小米大模型平台 TTS API( api.xiaomimimo.com),并支持 FFmpeg 硬件转码为 Opus/MP3/AAC/FLAC/WAV/PCM 等格式。
适用场景:为 OpenClaw 配置语音合成、搭建通用 TTS 代理服务。
ffmpeg -version 确认)首次使用本技能时,需要完成以下配置步骤:
创建或更新 ~/.openclaw/tts-proxy.env 文件,内容如下:
bash
# 小米 TTS API 配置
MIMO_TTS_BASE=https://api.xiaomimimo.com
MIMO_TTS_KEY=你的_小米API_Key
TTS_PROXY_PORT=18899
注意:
MIMO_TTS_BASE不要包含/v1后缀,代理会自动添加。 如果使用代理转发小米 API(解决国内访问问题),在MIMO_TTS_BASE中填写代理地址。
代理通过 systemd 服务运行,可实现开机自启和自动管理。
复制服务单元文件并注册:
bash
sudo cp mimo-tts-proxy.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now mimo-tts-proxy.service
sudo systemctl status mimo-tts-proxy.service
bash
curl http://127.0.0.1:18899/health
# 应返回:{"status":"ok","provider":"mimo-v2-tts"}
在 OpenClaw 配置中( ~/.openclaw/openclaw.json),找到或添加 messages.tts 节点:
json
{
"messages": {
"tts": {
"auto": "inbound",
"provider": "openai",
"providers": {
"openai": {
"baseUrl": "http://127.0.0.1:18899",
"apiKey": "not-needed",
"model": "tts-1", # 占位值,代理实际固定使用 mimo-v2-tts
"voice": "mimo_default"
}
}
}
}
}
配置后重启 OpenClaw Gateway 使配置生效。
操作命令查看状态systemctl status mimo-tts-proxy.service查看日志journalctl -u mimo-tts-proxy.service -f重启服务systemctl restart mimo-tts-proxy.service停止服务systemctl stop mimo-tts-proxy.service健康检查curl http://127.0.0.1:18899/health
POST /audio/speech#与 OpenAI TTS API 格式兼容:
bash
curl -X POST http://127.0.0.1:18899/audio/speech \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "<style>开心</style>你好,这是中文语音测试",
"voice": "mimo_default",
"response_format": "opus"
}' \
-o output.opus
参数说明:
参数类型默认值说明inputstring必填要合成的文本voicestringmimo_default音色: mimo_default(默认)/ default_zh(中文女声)/ default_en(英文女声)modelstringtts-1占位值,代理固定使用 mimo-v2-tts``response_formatstringmp3输出格式: opus/ mp3/ aac/ flac/ wav/ pcm/ pcm16
支持的输出格式:
格式MIME 类型说明opusaudio/opus✅ 推荐,飞书等平台支持mp3audio/mpegFFmpeg 转码aacaudio/aacFFmpeg 转码flacaudio/flacFFmpeg 转码wavaudio/wav小米 API 原生输出pcm / pcm16audio/L16PCM 16bit 24kHz 原始音频
GET /health#健康检查:
bash
curl http://127.0.0.1:18899/health
# → {"status":"ok","provider":"mimo-v2-tts"}
bash
systemctl status mimo-tts-proxy.service
journalctl -u mimo-tts-proxy.service -n 50 --no-pager
确认 MIMO_TTS_BASE 不带 /v1 后缀(代理自动添加)
确认 MIMO_TTS_KEY 正确且有 TTS 配额
检查上游小米 API 是否可达: bash
curl -X POST https://api.xiaomimimo.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "api-key: 你的Key" \
-d '{"model":"mimo-v2-tts","messages":[{"role":"assistant","content":"test"}],"audio":{"format":"wav","voice":"mimo_default"}}'
如果播放无声,确认使用 opus 格式(飞书/微信等平台的要求)。 wav 格式在某些平台可能不兼容。
{"error":{"code":"429","message":"monthly quota exhausted"}}
小米 TTS 月度配额用完,需要到小米大模型平台购买增量包或等待下月重置。
文件说明~/.openclaw/tts-proxy.mjs代理脚本~/.openclaw/tts-proxy.env环境变量配置/etc/systemd/system/mimo-tts-proxy.servicesystemd 服务单元http://127.0.0.1:18899代理监听地址