• v0.1.0 ac614be190

    v0.1.0 - 首发:ByteDance TTS → OpenAI API 适配服务
    Go CI/CD Deploy to Baota / build-and-deploy (push) Has been cancelled
    Stable

    sun released 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 直接双击或命令行运行

    🚀 快速开始

    1. 下载 tts_server.exe
    2. 设置环境变量(参考 .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
    
    1. 服务启动后访问:http://localhost:8080/health 查看状态
    2. 客户端调用:
    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