tts
Веб-сервис для озвучки текстов с использованием Microsoft Edge TTS.
Возможности
Заголовок раздела «Возможности»- 🎤 Преобразование текста в речь с использованием Edge TTS
- 💾 Хранение аудиофайлов в MinIO
- 🗑️ Автоматическое удаление файлов через 1 час
- 🎨 Современный UI на основе @localzet/ui-kit
- 🐳 Docker контейнеризация
- 🚀 CI/CD для автоматической сборки и публикации в GHCR
Структура проекта
Заголовок раздела «Структура проекта»Быстрый старт
Заголовок раздела «Быстрый старт»- Запустите MinIO и сервисы:
docker-compose up -d- Backend будет доступен на
http://localhost:8000 - Frontend будет доступен на
http://localhost:3000 - MinIO Console будет доступна на
http://localhost:9001(minioadmin/minioadmin)
Конфигурация
Заголовок раздела «Конфигурация»Переменные окружения
Заголовок раздела «Переменные окружения»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
Заголовок раздела «API Endpoints»GET /- Информация о сервисеGET /api/voices- Список доступных голосовPOST /api/generate- Генерация аудио из текстаGET /api/download/{file_id}- Скачать аудиофайлDELETE /api/cleanup- Ручная очистка старых файловGET /api/health- Health check
Очистка файлов
Заголовок раздела «Очистка файлов»Файлы автоматически удаляются через 1 час после создания. Очистка выполняется через отдельный контейнер cleanup, который запускается каждые 3600 секунд (1 час).
Интервал очистки можно настроить через переменную окружения CLEANUP_INTERVAL_HOURS (по умолчанию: 1 час).
Исходный код · AGPL-3.0