Этот проект предоставляет локальный API, совместимый с OpenAI, с использованием Edge-TTS, с использованием edge-tts . Он эмулирует конечную точку Openai TTS ( /v1/audio/speech ), позволяя пользователям генерировать речь из текста с различными параметрами голоса и скоростью воспроизведения, как API OpenAI.
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 Compose в «Отдельный режим», что означает, что он будет работать в фоновом режиме и освободить ваш терминал.
docker compose up -dВ качестве альтернативы бегите напрямую с Docker :
docker build -t openai-edge-tts .
docker run -p 5050:5050 --env-file .env openai-edge-tts Чтобы запустить контейнер в фоновом режиме, добавьте -d после команды docker run :
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 :
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 .
Теперь вы можете взаимодействовать с API по адресу http://localhost:5050/v1/audio/speech и другие доступные конечные точки. См. Раздел использования примеров запроса.
/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Или, чтобы соответствовать параметрам конечной точки API OpenAI:
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 General Public Public License v3.0 (GPL-3.0), и приемлемый вариант использования предназначен для личного использования. Для предприятия или не личностного использования openai-edge-tts , свяжитесь со мной по адресу [email protected]
Кончик
Поменяйте localhost на ваш местный IP (например, 192.168.0.1 ), если у вас есть проблемы
Это может быть так, что при доступе к этой конечной точке на другом сервере / компьютере или когда вызов сделан из другого источника (например, Open WebUI), вам необходимо изменить URL с localhost на свой локальный IP (что -то вроде 192.168.0.1 или аналогично)
Откройте панель администратора и перейдите к настройкам -> Аудио
Ниже вы можете увидеть скриншот правильной конфигурации для использования этого проекта, чтобы заменить конечную точку Openai
Примечание
Посмотреть официальные документы для открытой интеграции WebUI с Openai Edge TTS
В версии 1.6.8, что угодно, добавлена поддержка «общих поставщиков Openai TTS» - это означает, что мы можем использовать этот проект в качестве поставщика TTS во всем
Откройте настройки и перейдите к голосу и речи (при поставщиках искусственного интеллекта)
Ниже вы можете увидеть скриншот правильной конфигурации для использования этого проекта, чтобы заменить конечную точку 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Играть в голосовые образцы и увидеть все доступные голоса Edge TTS