该项目使用edge-tts提供了本地兼容的,与OpenAI兼容的文本到语音(TTS)API。它模拟了OpenAI TTS端点( /v1/audio/speech ),使用户能够像OpenAI API一样从文本中生成语音。
edge-tts使用Microsoft Edge的在线文本对语音服务,因此它是完全免费的。
在Docker Hub上查看此项目
/v1/audio/speech具有相似的请求结构和行为。edge-tts等效物。requirements.txt中安装依赖项。git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-tts.env文件,并具有以下变量: API_KEY=your_api_key_here
PORT=5050
DEFAULT_VOICE=en-US-AndrewNeural
DEFAULT_RESPONSE_FORMAT=mp3
DEFAULT_SPEED=1.2
DEFAULT_LANGUAGE=en-US
REQUIRE_API_KEY=True
或者,使用以下内容复制默认值.env.example :
cp .env.example .envdocker compose up --build(注意:Docker-Compose与Docker Compose不同)
使用-d运行以在“分离模式”下运行Docker,这意味着它将在后台运行并释放您的终端。
docker compose up -d或者,直接与Docker一起运行:
docker build -t openai-edge-tts .
docker run -p 5050:5050 --env-file .env openai-edge-tts要在后台运行容器,请在docker run命令之后添加-d :
docker run -d -p 5050:5050 --env-file .env openai-edge-ttshttp://localhost:5050中访问。 如果您希望直接使用Python运行此项目,请按照以下步骤设置虚拟环境,安装依赖项并启动服务器。
git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-tts创建并激活虚拟环境以隔离依赖性:
# For macOS/Linux
python3 -m venv venv
source venv/bin/activate
# For Windows
python -m venv venv
venv S cripts a ctivate使用pip安装requirements.txt中列出的所需软件包。txt:
pip install -r requirements.txt在根目录中创建.env文件并设置以下变量:
API_KEY=your_api_key_here
PORT=5050
DEFAULT_VOICE=en-US-AndrewNeural
DEFAULT_RESPONSE_FORMAT=mp3
DEFAULT_SPEED=1.2
DEFAULT_LANGUAGE=en-US
REQUIRE_API_KEY=True
配置后,使用以下方式启动服务器
python app/server.py服务器将开始在http://localhost:5050开始运行。
现在,您可以在http://localhost:5050/v1/audio/speech和其他可用端点上与API进行交互。有关请求示例,请参见使用部分。
/v1/audio/speech从输入文本生成音频。可用参数:
必需参数:
可选参数:
"tts-1" )。edge-tts语音(默认: "en-US-AndrewNeural" )。mp3 , opus , aac , flac , wav , pcm (默认: mp3 )。1.2 。带有curl的示例请求并将输出保存到mp3文件:
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! Just let me know how I can help bring your ideas to life.",
"voice": "echo",
"response_format": "mp3",
"speed": 1.2
} '
--output speech.mp3或者,与OpenAI API端点参数保持一致:
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"model": "tts-1",
"input": "Hello, I am your AI assistant! Just let me know how I can help bring your ideas to life.",
"voice": "alloy"
} '
--output speech.mp3这是英语以外的其他语言的例子:
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"model": "tts-1",
"input": "じゃあ、行く。電車の時間、調べておくよ。",
"voice": "ja-JP-KeitaNeural"
} '
--output speech.mp3edge-tts声音。edge-tts声音,并提供语言支持信息。欢迎捐款!请分配存储库,并为任何改进创建拉动请求。
该项目是根据GNU通用公共许可证v3.0(GPL-3.0)许可的,可接受的用例旨在个人用途。有关企业或非个人使用openai-edge-tts ,请通过[email protected]与我联系
提示
localhost您有192.168.0.1
在访问其他服务器 /计算机上的端点或从另一个来源(例如Open WebUI)进行调用时,您需要将URL从localhost更改为本地IP(例如192.168.0.1或类似)时,可能是这种情况。
打开管理面板,转到设置 - >音频
下面,您可以看到正确配置的屏幕截图,用于使用此项目代替OpenAI端点
笔记
查看官方文档与Openai Edge TTS开放WebUI集成
在版本1.6.8中,任何内容都增加了对“通用OpenAI TTS提供商”的支持 - 这意味着我们可以将此项目用作nothinglylm中的TTS提供商
打开设置并转到语音和演讲(在AI提供者的领导下)
下面,您可以看到正确配置的屏幕截图,用于使用此项目代替OpenAI端点
your_api_key_here永远不需要更换 - 不需要“真实” API键。使用您想要的任何字符串。docker run -d -p 5050:5050 -e API_KEY=your_api_key_here -e PORT=5050 travisvn/openai-edge-tts:latest播放语音样本,并查看所有可用的边缘TTS声音