🎙️ ReporterTTS

基于 IndexTTS 的文字转语音服务

上传声纹 · 调整参数 · 生成高质量语音

加载中…

🗣️ 文字转语音

⚙️ 高级生成参数 点击展开 / 折叠
快速推理模式
对长文本使用 batched-bucket 推理,可加速 2-10 倍
随机采样
关闭后使用贪心 / 束搜索,输出更确定但多样性降低

🎛️ GPT-2 采样参数

1.0
采样温度:越高越多样/随机,越低越稳定/保守。推荐 0.7–1.2
0.8
仅从累积概率前 P 的 token 中采样。越低越聚焦
30
仅从概率最高的 K 个 token 中采样。0 = 不限制
2
束搜索宽度。1 = 无束搜索,越大越慢但可能更稳定
10.0
重复惩罚:防止 mel-token 循环/重复。太低可能导致重复噪音
0.0
长度偏好:>0 倾向更长输出,<0 倾向更短

📐 分句与生成长度

300
单句生成 mel-token 上限。过小会截断音频,过大则增加推理时间
120
文本分句粒度。80–200 较佳。过大过小均影响质量
1
快速推理分桶大小。越大越快但占用更多显存
1.2
输出语速倍率。>1 更快,<1 更慢(推荐 1.1–1.4)

🎧 生成结果

🎭 声纹管理


上传新声纹

提示:上传一段 5–15 秒的清晰语音作为声纹参考(.wav 格式)。名称仅允许字母、数字、连字符和下划线。

💾 缓存管理

相同声纹 + 相同文本 + 相同参数的请求将直接返回缓存音频,无需重新生成。

加载中…

📡 API 文档

默认无需身份验证;若配置环境变量 TTS_ACCESS_TOKEN,则所有 API 调用都必须带 Authorization: Bearer <token>。Base URL 即本服务地址。

POST /v1/audio/speech — OpenAI 兼容接口
完全模拟 OpenAI TTS API 规范。可直接用于 Open WebUI、ChatGPT-Next-Web 等应用。
参数类型默认值说明
modelstringtts-1模型名称(可忽略)
inputstring必填,要合成的文本
voicestring必填,声纹名称。若不存在则自动回退到第一个可用声纹
response_formatstringmp3格式:mp3, opus, aac, flac, wav, pcm
speedfloat1.0语速 (0.25–4.0)
💡 在 Open WebUI 中使用:
1. TTS Engine: 选择 OpenAI
2. API Base URL: 填写 http://<IP>:8000/v1
3. API Key: 填写本服务的 TTS_ACCESS_TOKEN (若未开启则随便填)
4. TTS Voice: 填写上方声纹列表中的名称(如 reporter-zh

    
POST /api/tts — 文字转语音(支持全部高级参数)
发送表单数据,返回 WAV 音频文件。除 voicetext 外,其余参数均为可选。
参数类型默认值说明
voicestring必填,声纹名称
textstring必填,要合成的文字
temperaturefloat1.0采样温度 (0.05–2.0)
top_pfloat0.8Nucleus 采样概率 (0–1)
top_kint30Top-K 采样 (0=不限)
do_samplebooltrue是否随机采样
num_beamsint2束搜索宽度 (1–10)
repetition_penaltyfloat10.0重复惩罚 (0.1–20)
length_penaltyfloat0.0长度偏好 (-2–2)
max_mel_tokensint300单句 mel-token 上限 (50–2000)
max_text_tokens_per_segmentint120分句粒度 (20–300)
fast_modebooltrue启用 batched-bucket 快速推理
bucket_sizeint1快速推理分桶大小 (1–8)
speech_ratefloat1.2输出语速倍率 (0.5–2.0)

    
GET /api/voices — 获取声纹列表
返回 JSON 数组,每个元素包含 namefilenamesize_kb

    
POST /api/voices — 上传声纹
上传 .wav 文件并指定声纹名称(表单字段 name + file)。

    
DELETE /api/voices/{name} — 删除声纹
按名称删除指定声纹。

    
GET /api/system — 系统信息与默认参数
返回设备类型、GPU 型号、CUDA 版本、模型状态,以及所有默认生成参数。

    
GET /api/cache — 缓存统计
返回 TTS 缓存统计信息,包含缓存文件数量和总大小。

    
DELETE /api/cache — 清空缓存
删除所有缓存的 TTS 音频文件。

    
GET /health — 健康检查
返回 {"status":"ok"}{"status":"degraded"}