commit 4c785361b04126d75322cdb7564a7a223aa938f0 Author: zwbcc Date: Sat Mar 28 20:12:54 2026 +0800 Initial commit: MiniMax TTS 工具页面 diff --git a/README.md b/README.md new file mode 100644 index 0000000..22931e1 --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +# MiniMax TTS 文字转语音工具 + +> 基于 MiniMax API 的文字转语音 Web 界面,单 HTML 文件,开箱即用。 + +**在线地址(需在有网络的环境下访问):** `http://10.0.10.110:8197/speech-t2a.html` + +--- + +## 功能特性 + +- 🌐 支持 MiniMax 全部 TTS 模型(speech-2.8-hd、speech-02-hd 等) +- 🔄 支持 hex 音频流实时播放(自动解码) +- 📦 支持下载为 .wav 文件 +- ⚙️ 实时调节语速 +- 🎯 自动携带认证头 + +--- + +## 快速使用 + +### 1. 直接打开 +在浏览器访问: +``` +http://10.0.10.110:8197/speech-t2a.html +``` + +### 2. 本地部署(Python) +```bash +cd /path/to/speech-t2a +python3 -m http.server 8197 +# 访问 http://localhost:8197/speech-t2a.html +``` + +### 3. 本地部署(Nginx) +```nginx +server { + listen 8197; + root /path/to/speech-t2a; + index speech-t2a.html; + location / { + try_files $uri $uri/ =404; + } +} +``` + +--- + +## API 说明 + +- **端点:** `POST https://api.minimaxi.com/v1/t2a_v2` +- **备用:** `POST https://api-bj.minimaxi.com/v1/t2a_v2` +- **认证:** `Authorization: Bearer ` +- **返回格式:** hex 编码的音频数据(非 base64) + +--- + +## 模型列表 + +| 模型 | 说明 | +|------|------| +| `speech-2.8-hd` | 高清音质(推荐) | +| `speech-2.6-hd` | 高清音质 | +| `speech-2.8-turbo` | 快速生成 | +| `speech-2.6-turbo` | 快速生成 | +| `speech-02-hd` | 克隆音质 | +| `speech-02-turbo` | 克隆快速 | + +--- + +## 已知问题 + +- 音频数据为 hex 编码,需用 `parseInt(hex.substr(i*2, 2), 16)` 解码,不能用 `atob()` +- fetch 的 Authorization header 必须是纯 ASCII,API Key 中不能有非 ISO-8859-1 字符 +- 跨域音频无法使用 Web Audio API 分析器 + +--- + +## 截图 + +![MiniMax TTS](screenshot.png) diff --git a/speech-t2a.html b/speech-t2a.html new file mode 100644 index 0000000..eca7cfc --- /dev/null +++ b/speech-t2a.html @@ -0,0 +1,799 @@ + + + + + + MiniMax Speech HD TTS + + + +
+

🎙️ MiniMax Speech HD TTS

+

HTTP 流式文字转语音 · speech-2.8-hd

+ + + + +
+ + +

+ 填写后回车或点击空白处保存。刷新页面不丢失。 +

+
+ +
+
+
+ + +
+
+ + +
+
+ +
+ + +
+ +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+
+ +
+ + +
+ 0 / 10000 +
+
+ +
+ + +
+
+ + +
+ +
+
+
+ + +
+
+ + 空闲 +
+
+
+
+ + + +