LibreTTS 是一款免费的在线文本转语音工具,支持多种声音选择,可调节语速和语调,提供即时试听和下载功能。
本项目曾用名 Ciallo TTS。
- 🎯 支持超过300种不同语言和口音的声音
- 🔊 实时预览和试听功能
- ⚡ 支持长文本自动分段处理
- 🎛️ 可调节语速和语调
- 📱 响应式设计,支持移动端
- 💾 支持音频下载
- 📝 历史记录功能(最多保存50条)
- 🔌 支持添加自定义OpenAI格式的TTS API
本项目提供以下 API 端点:
-
/api/tts
- 文本转语音 API- 支持 GET/POST 方法
- GET 示例:
/api/tts?t=你好世界&v=zh-CN-XiaoxiaoNeural&r=0&p=0
- POST 示例: 请求体为JSON格式
{"text": "你好世界", "voice": "zh-CN-XiaoxiaoNeural", "rate": 0, "pitch": 0}
-
/api/voices
- 获取可用语音列表 API- 仅支持 GET 方法
- 示例:
/api/voices?l=zh&f=1
(l参数用于筛选语言,f参数指定返回格式)
例如:https://libretts.is-an.org/api/tts
LibreTTS 支持添加自定义 API 端点,目前支持两种格式:
- 支持与 OpenAI TTS API 兼容的服务,如 OpenAI、LMStudio、LocalAI 等
- 请求格式: POST
{ "model": "tts-1", "input": "您好,这是一段测试文本", "voice": "alloy", "response_format": "mp3" }
- 可选参数:
instructions
- 语音风格指导
- 支持与 Microsoft Edge TTS API 兼容的服务
- 请求格式: POST
{ "text": "您好,这是一段测试文本", "voice": "zh-CN-XiaoxiaoNeural", "rate": 0, "pitch": 0 }
-
点击界面上的"管理API"按钮
-
填写以下信息:
- API 名称:自定义名称
- API 端点:语音生成服务地址
- API 密钥:可选,用于授权
- 模型列表端点:可选,用于获取可用模型
- API 格式:选择 OpenAI 或 Edge 格式
- 手动输入讲述人列表:逗号分隔的讲述人列表
- 最大文本长度:可选,限制单次请求的文本长度
-
点击"获取模型"按钮可自动填充可用讲述人列表
-
点击"保存"完成添加
- 导出:将所有自定义 API 配置导出为 JSON 文件
- 导入:从 JSON 文件导入 API 配置
-
Fork 本仓库到你的 GitHub 账号
-
登录 Vercel,点击 "New Project"
-
导入你 fork 的仓库,并选择默认设置部署即可
-
部署完成后,你会获得一个
your-project.vercel.app
的域名
-
Fork 本仓库到你的 GitHub 账号
-
登录 Cloudflare Dashboard,进入 Pages 页面
-
创建新项目,选择从 Git 导入:
- 选择你 fork 的仓库
- 构建设置:
- 构建命令:留空
- 输出目录:
/
- 环境变量:无需设置
-
部署完成后,你会获得一个
xxx.pages.dev
的域名
除了原有配置外,现在项目支持设置环境变量 PASSWORD 来开启访问密码验证。如果 PASSWORD 非空,则用户第一次访问页面时会显示密码输入界面,输入正确后在该设备上后续访问将不再需要验证。