自定义 TTS API 渠道
这是什么?
自定义 TTS API 渠道允许你对接任意第三方 TTS 服务。只要你的 API 接口符合规定的协议格式,就可以在视频翻译软件中使用。
适用场景:
- 已有自建的 TTS 服务
- 使用第三方 TTS 中转服务
- 需要对接特殊的语音合成接口
API 接口协议
请求方式
- 方法:
POST - Content-Type:
application/x-www-form-urlencoded
请求参数
| 参数名 | 类型 | 说明 |
|---|---|---|
text | string | 需要合成的文本 |
language | string | 文字所属语言代码(如 zh-cn, en, ja, ko 等) |
voice | string | 配音角色名称 |
rate | string | 语速调整值,格式为 0 或 +数字% 或 -数字%,代表在正常速度基础上进行加减速的百分比 |
ostype | string | 操作系统类型:win32、mac 或 linux |
extra | string | 额外参数(可在软件中配置) |
支持的语言代码
zh-cn, zh-tw, en, ja, ko, ru, de, fr, tr, th, vi, ar, hi, hu, es, pt, it响应格式
返回 JSON 格式数据:
json
{
"code": 0,
"msg": "ok",
"data": "https://example.com/audio.mp3"
}字段说明:
| 字段 | 说明 |
|---|---|
code | 状态码:0 表示成功,>0 表示失败 |
msg | 状态信息:成功时为 ok,失败时为错误原因 |
data | 成功时返回 MP3 文件的完整 URL 地址,失败时为空 |
data 字段支持的格式
API 返回的 data 字段支持以下几种格式:
- URL 地址:以
http开头的完整 URL,软件会自动下载音频文件 - Base64 数据:以
data:audio开头的 Base64 编码音频数据 - Hex 编码音频:JSON 对象中包含
audio字段,值为 Hex 编码的音频数据
在视频翻译软件中使用
第一步:配置 API 地址
- 打开软件,进入 菜单 → TTS设置 → 自定义 TTS API
- 在 API 地址 中填写你的接口地址
- 如果有额外参数,在 extra 字段中填写
第二步:测试连接
- 点击 测试 按钮
- 如果返回成功,说明接口配置正确
- 保存设置
第三步:使用配音
- 回到主界面
- 在 配音渠道 中选择
自定义 TTS API - 选择目标语言和配音角色
- 开始配音
实现示例
以下是一个简单的 Python Flask 实现示例:
python
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/tts', methods=['POST'])
def tts():
text = request.form.get('text', '')
language = request.form.get('language', '')
voice = request.form.get('voice', '')
rate = request.form.get('rate', '0')
# 在这里调用你的 TTS 服务
# audio_url = your_tts_service(text, voice, rate)
return jsonify({
"code": 0,
"msg": "ok",
"data": audio_url # 返回音频文件的 URL
})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)注意事项
- API 地址必须以
http://或https://开头 - 返回的 JSON 格式必须严格符合协议要求
- 音频文件必须是 MP3 格式
- 如果返回 URL,必须是可直接访问的完整地址
- 建议 API 服务部署在本地(如
127.0.0.1)以获得最佳性能
常见问题
| 问题 | 解决方案 |
|---|---|
| API URL error | 检查地址格式是否正确 |
| Connection refused | 确保 API 服务正在运行 |
| 返回数据格式错误 | 检查 JSON 格式是否符合协议 |
| 无法下载音频 | 检查返回的 URL 是否可访问 |
