一个本地 MiMo TTS 测试台,用于测试以下三个模型:
mimo-v2.5-ttsmimo-v2.5-tts-voicedesignmimo-v2.5-tts-voiceclone
项目是零依赖 Node 服务:同一个进程提供静态前端页面和本地 API 代理。API Key 只在服务端读取,不暴露到浏览器代码里。
- 三个 MiMo V2.5 TTS 模型切换测试。
- 内置多段名著测试文本。
MiMo-V2.5-TTS支持内置音色选择。VoiceDesign支持输入音色描述。VoiceClone支持上传mp3/wav或浏览器录音。- 上传样本超过 MiMo base64 10 MB 限制时,前端会自动截取一段较适合的人声片段并转为
wav。 - 生成结果会缓存到本地服务器;相同模型、文本、音色、指令和参考音频再次生成时会直接播放缓存文件。
- 支持播放和下载返回音频。
- 提供请求 JSON 预览,便于调试。
MiMo 官方 TTS 文档使用 OpenAI 兼容的聊天补全接口:
- Endpoint:
POST <MIMO_API_BASE_URL>/chat/completions - Header:
api-key: <MIMO_API_KEY> - 合成文本放在
assistantmessage 的content - 风格指令或音色描述放在
usermessage 的content - 音频参数放在
audio - 返回音频位于
choices[0].message.audio.data
官方文档:https://platform.xiaomimimo.com/static/docs/usage-guide/speech-synthesis-v2.5.md
复制 .env.example 为 .env,然后填入你的 API Key。
MIMO_API_KEY=your_mimo_api_key_here
# Standard MiMo API: https://api.xiaomimimo.com/v1
# Token Plan CN API: https://token-plan-cn.xiaomimimo.com/v1
MIMO_API_BASE_URL=https://api.xiaomimimo.com/v1
PORT=8787
HOST=127.0.0.1
TTS_CACHE_DIR=.cache/tts变量说明:
MIMO_API_KEY:MiMo 开放平台 API Key。MIMO_API_BASE_URL:MiMo API Base URL。普通开放平台默认使用https://api.xiaomimimo.com/v1;如果使用 Token Plan,中国区一般使用https://token-plan-cn.xiaomimimo.com/v1。PORT:本地服务端口,默认8787。HOST:监听地址。本地运行推荐127.0.0.1,Docker 运行需要0.0.0.0。TTS_CACHE_DIR:TTS 文件缓存目录,默认.cache/tts。公网部署建议挂载持久化目录或 Docker volume。
项目不需要安装第三方依赖,Node.js 18+ 即可。
npm run dev打开:
http://127.0.0.1:8787
健康检查:
Invoke-RestMethod http://127.0.0.1:8787/api/healthnpm test
npm run buildnpm test 会验证 MiMo payload 构造、VoiceClone data URL 校验、返回音频解析等服务端逻辑。npm run build 使用 node --check 做语法检查。
服务端会用完整 MiMo 请求 payload 生成 SHA-256 cache key。参与缓存匹配的内容包括模型、合成文本、风格指令、内置音色,以及 VoiceClone 的参考音频 data URL。
缓存命中时,服务端不会再次调用 MiMo API,而是返回 /api/audio/<cache-key>.<ext>。页面会直接播放本地服务器上的音频文件,并显示缓存命中状态。
缓存目录默认是 .cache/tts,可以用 TTS_CACHE_DIR 修改。
docker build -t mimo-tts-test .使用环境变量直接运行:
docker run --rm `
-p 8787:8787 `
-v mimo-tts-cache:/app/.cache/tts `
-e HOST=0.0.0.0 `
-e PORT=8787 `
-e TTS_CACHE_DIR="/app/.cache/tts" `
-e MIMO_API_KEY="your_mimo_api_key_here" `
-e MIMO_API_BASE_URL="https://api.xiaomimimo.com/v1" `
mimo-tts-test如果使用 Token Plan,中国区通常把 MIMO_API_BASE_URL 改为:
-e MIMO_API_BASE_URL="https://token-plan-cn.xiaomimimo.com/v1"使用 .env 文件运行:
docker run --rm `
-p 8787:8787 `
-v mimo-tts-cache:/app/.cache/tts `
--env-file .env `
-e HOST=0.0.0.0 `
-e TTS_CACHE_DIR="/app/.cache/tts" `
mimo-tts-test浏览器访问:
http://127.0.0.1:8787
页面会提示这些建议,且只作为建议:
- 使用清晰、单人、少背景声的人声片段。
mp3或wav都可以。- 几秒到几十秒都可以,通常 10-30 秒更稳定。
- 文件过大时无需手动裁剪,页面会自动截取一段较合适内容。
.
├── index.html
├── src/
│ ├── main.js
│ └── styles.css
├── server/
│ ├── index.js
│ ├── audioCache.js
│ ├── audioCache.test.js
│ ├── mimoApi.js
│ ├── mimoApi.test.js
│ └── runTests.js
├── .env.example
├── Dockerfile
└── package.json