tts
Веб-сервис для озвучки текстов с использованием Microsoft Edge TTS.
Возможности
Section titled “Возможности”- 🎤 Преобразование текста в речь с использованием Edge TTS
- 💾 Хранение аудиофайлов в MinIO
- 🗑️ Автоматическое удаление файлов через 1 час
- 🎨 Современный UI на основе @localzet/ui-kit
- 🐳 Docker контейнеризация
- 🚀 CI/CD для автоматической сборки и публикации в GHCR
Структура проекта
Section titled “Структура проекта”Быстрый старт
Section titled “Быстрый старт”- Запустите MinIO и сервисы:
docker-compose up -d- Backend будет доступен на
http://localhost:8000 - Frontend будет доступен на
http://localhost:3000 - MinIO Console будет доступна на
http://localhost:9001(minioadmin/minioadmin)
Конфигурация
Section titled “Конфигурация”Переменные окружения
Section titled “Переменные окружения”Backend:
MINIO_ENDPOINT- Endpoint MinIO (по умолчанию:minio:9000)MINIO_ACCESS_KEY- Access key для MinIOMINIO_SECRET_KEY- Secret key для MinIOMINIO_BUCKET- Имя bucket (по умолчанию:tts-audio)MINIO_SECURE- Использовать HTTPS (по умолчанию:false)
MinIO:
MINIO_ROOT_USER- Root пользователь (по умолчанию:minioadmin)MINIO_ROOT_PASSWORD- Root пароль (по умолчанию:minioadmin)
API Endpoints
Section titled “API Endpoints”GET /- Информация о сервисеGET /api/voices- Список доступных голосовPOST /api/generate- Генерация аудио из текстаGET /api/download/{file_id}- Скачать аудиофайлDELETE /api/cleanup- Ручная очистка старых файловGET /api/health- Health check
Очистка файлов
Section titled “Очистка файлов”Файлы автоматически удаляются через 1 час после создания. Очистка выполняется через отдельный контейнер cleanup, который запускается каждые 3600 секунд (1 час).
Интервал очистки можно настроить через переменную окружения CLEANUP_INTERVAL_HOURS (по умолчанию: 1 час).
Source · AGPL-3.0