fb753ce1b11d5fa1ec0e7b749c0f38cfa8ccf4ed
🎙️ TTS Proxy Service
小米 MiMo TTS 音频转换代理服务,提供实时 TTS 接口和 Web 管理界面。
架构
听书 App / curl ──HTTP──▶ 本服务 ──API──▶ 小米 MiMo TTS
│
├── 智能文本分段(>2000字自动切分拼接)
├── TTS 自动重试(5xx 错误最多重试 3 次)
└── MP3 缓存
快速启动
# 1. 配置 API Key
cp .env.example .env
# 编辑 .env 填入 MIMO_API_KEY
# 2. 启动
docker compose up -d
# 3. 访问
# 管理界面: http://your-server:3333
# TTS 接口: http://your-server:3333/api/tts
核心功能
POST /api/tts — 实时 TTS
文本进 → MP3 出。支持 JSON 和 Form 两种格式,长文本自动分段拼接。
# JSON 格式
curl -X POST http://localhost:3333/api/tts \
-H "Content-Type: application/json" \
-d '{"text": "你好世界", "style": "开心", "voice": ""}' \
-o output.mp3
# Form 格式(百度兼容)
curl -X POST http://localhost:3333/api/tts \
-d "tex=你好世界" \
-o output.mp3
GET /health — 健康检查
管理接口(需 Bearer Token)
| 接口 | 方法 | 说明 |
|---|---|---|
/admin/api/preview |
POST | TTS 试听,返回音频 URL |
/admin/api/config |
GET | 查看当前配置 |
接入听书 App
在 App 中配置 TTS 音频源:
- URL:
http://your-server:3333/api/tts - Method: POST
- Body:
{"text": "{{speakText}}"} - Content-Type:
audio/mpeg
App 模板变量:{{speakText}}(文本)、{{speakSpeed}}(语速 5-50)
App 只能动态传文本。voice/style 需在 JSON body 中写死,或通过其他客户端调用时传入。
环境变量
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
MIMO_API_KEY |
✅ | - | MiMo TTS API Key |
MIMO_API_ENDPOINT |
❌ | https://api.xiaomimimo.com/v1/chat/completions |
API 地址 |
MIMO_TTS_MODEL |
❌ | mimo-v2-audio-tts |
模型名称 |
MIMO_VOICE |
❌ | mimo_default |
默认音色 |
API_TOKEN |
❌ | - | 管理接口 Bearer Token(留空则不鉴权) |
MiMo TTS 风格参考
| 类别 | 示例 |
|---|---|
| 情感 | 开心 / 悲伤 / 生气 / 平静 |
| 语速 | 语速慢 / 语速快 / 悄悄话 |
| 角色 | 像个大将军 / 像个小孩 / 孙悟空 |
| 方言 | 东北话 / 四川话 / 台湾腔 / 粤语 |
不使用 Docker
pip install -r requirements.txt
# 系统需安装 ffmpeg
export MIMO_API_KEY=your_key
cd app && python main.py
Description
Languages
Python
52.6%
HTML
40.9%
Shell
4.8%
Dockerfile
1.7%