-
v0.1.0 - 首发:ByteDance TTS → OpenAI API 适配服务
StableGo CI/CD Deploy to Baota / build-and-deploy (push) Has been cancelledreleased this
2026-05-19 18:36:26 +08:00 | 118 commits to main since this release🎉 首个正式版本 v0.1.0
将字节跳动豆包 TTS v3 API封装为 OpenAI 兼容接口的轻量级 HTTP 适配服务,可直接替换 OpenAI
/v1/audio/speech接入到任意支持 OpenAI TTS 的客户端(如 LobeChat、NextChat、Open WebUI 等)。✨ 核心特性
- 🔌 OpenAI 兼容:完全兼容
POST /v1/audio/speech,无需修改客户端代码 - 🚀 独立可执行文件:单个
tts_server.exe(约 6.7 MB),无需 Go 环境,开箱即用 - 🎚️ 语速调节:支持
speed参数(0.25 ~ 4.0),自动映射到字节跳动speech_rate - 🔐 API Key 鉴权:可选的 Bearer Token 鉴权,支持多 Key 配置
- 🛡️ 限流保护:基于客户端 IP 的速率限制(默认 100 次/分钟)+ 最大并发数限制(默认 10)
- 📊 健康检查:
/health端点提供运行时统计、内存信息、错误率等监控数据 - 🌐 CORS 支持:开箱即用的跨域支持
- ⚡ 流式解析:底层使用流式读取字节跳动响应,内存占用低
- 🪶 零外部依赖:纯 Go 静态编译,无需 CGO、无需 DLL
📦 下载
平台 文件 说明 Windows x64 tts_server.exe直接双击或命令行运行 🚀 快速开始
- 下载
tts_server.exe - 设置环境变量(参考
.env.example):
$env:BYTEDANCE_TTS_API_KEY="你的火山引擎 API Key" $env:BYTEDANCE_TTS_RESOURCE_ID="seed-tts-1.0" $env:BYTEDANCE_TTS_SPEAKER="你的音色 ID" .\tts_server.exe- 服务启动后访问:
http://localhost:8080/health查看状态 - 客户端调用:
curl -X POST http://localhost:8080/v1/audio/speech \ -H "Content-Type: application/json" \ -d '{"model":"tts-1","input":"你好,世界","voice":"alloy","speed":1.0}' \ --output hello.wav⚙️ 环境变量
变量 必需 默认值 说明 BYTEDANCE_TTS_API_KEY✅ - 火山引擎 API Key BYTEDANCE_TTS_RESOURCE_ID✅ - 资源 ID(决定使用 1.0 / 2.0 模型) BYTEDANCE_TTS_SPEAKER✅ - 发音人 ID BYTEDANCE_TTS_TIMEOUT❌ 30s请求超时时间 OPENAI_TTS_API_KEY❌ - OpenAI 兼容鉴权 Key(多个用逗号分隔) PORT❌ 8080监听端口 📋 限制
- 单次输入文本最大 5000 字符
- 请求体最大 1 MB
- 默认音频格式:WAV,采样率 24000 Hz
🔧 构建说明
如果想自行编译:
go mod tidy CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o tts_server.exe
Full Changelog: 这是首个版本 🎊
---Downloads
- 🔌 OpenAI 兼容:完全兼容