跳到主要内容
注意

本教程是社区贡献内容,不属于 OPL 数据空间官方支持范围。

openai-edge-tts 集成到 OPL 数据空间

什么是 openai-edge-tts

OpenAI Edge TTS 是一个模拟 OpenAI Speech API 的文本转语音服务,适合在支持自定义 endpoint URL 的场景中直接替代 OpenAI TTS。

它底层使用 edge-tts,借助 Edge 浏览器的免费朗读能力,从而获得高质量、低成本的 TTS。

试听声音

openedai-speech 有什么不同

  • openedai-speech 更偏向本地、离线、多后端能力
  • openai-edge-tts 更轻量,直接用 edge-tts 生成音频

前提

  • 已安装 Docker
  • OPL 数据空间正在运行

快速开始

最简单的方式:

docker run -d -p 5050:5050 travisvn/openai-edge-tts:latest

这会在 5050 端口启动服务,并使用默认配置。

在 OPL 数据空间中配置

进入 管理员面板 → 设置 → 语音,设置对应的 TTS 项:

  • Text-to-Speech Engine:OpenAI
  • API Base URL:http://localhost:5050/v1
    • 容器场景下也可改用 host.docker.internal
  • API Key:默认可用 your_api_key_here
  • TTS Voice:任选一个 OpenAI 兼容 voice,或 Edge TTS 支持的 voice
信息

默认 API Key 是 your_api_key_here。如果你不需要额外安全限制,可以继续沿用。

使用 Python 运行

如果你不想用 Docker,也可以:

git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-tts
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app/server.py

然后服务会在 http://localhost:5050 启动。

API 使用概览

核心端点:

  • POST /v1/audio/speech
  • GET/POST /v1/models
  • GET/POST /v1/voices
  • GET/POST /v1/voices/all

示例:

curl -X POST http://localhost:5050/v1/audio/speech \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_api_key_here" \
  -d '{
    "input": "Hello, I am your AI assistant!",
    "voice": "echo",
    "response_format": "mp3",
    "speed": 1.0
  }' \
  --output speech.mp3

Docker 快速配置

也可以在 docker run 里直接传环境变量:

docker run -d -p 5050:5050 \
  -e API_KEY=your_api_key_here \
  -e DEFAULT_VOICE=en-US-AvaNeural \
  -e DEFAULT_RESPONSE_FORMAT=mp3 \
  -e DEFAULT_SPEED=1.0 \
  travisvn/openai-edge-tts:latest

故障排查

  • 确认 5050 端口对 OPL 数据空间可达
  • Docker 中若 localhost 不通,改用 host.docker.internal
  • 直接 curl 测试 /v1/audio/speech
  • 检查 voice 名称是否有效

更多问题见 音频排障指南