Este proyecto integra el modelo para una Vtuber IA utilizando FastAPI y hilos en Python. Puedes iniciar los servicios de forma independiente o todos a la vez mediante una API REST.
Proyecto que desarrolla una VTuber 2D interactiva impulsada por inteligencia artificial, capaz de responder en tiempo real a los espectadores, hablar con una voz clonada, animarse con Live2D y automatizar tareas de moderación durante transmisiones en vivo. Su objetivo es mejorar la experiencia de creadores de contenido y su audiencia mediante una interacción más natural, divertida y segura. Este proyecto permite a los usuarios iniciar servicios de para el funcionamiento del motor de una Vtuber con IA usando FastAPI y hilos de Python. Todo el proceso es manejado por un servidor ligero y escalable que puedes controlar de forma remota a través de una API REST. Este sistema se puede utilizar para crear un bot que interactúe con el público en tiempo real.
Asegúrate de tener Python 3.8 o superior y pip instalados en tu sistema.
-
Clonar el repositorio:
git clone https://github.com/andrew001s/SandyCore.git cd SandyCore
-
Instalar las dependencias:
Puedes instalar las dependencias con el siguiente comando:
pip install -r requirements.txt
-
Configurar las variables de entorno:
Crea un archivo
.env
en la raíz del proyecto con las siguientes variables (asegúrate de añadir tus propias claves y configuraciones):TWITCH_SECRET=your_secret_here TWITCH_CLIENT_ID=your_client_id_here TWITCH_CHANNEL=your_channel_here REDIRECT_URI=http://localhost:17563 GEMINI_API_KEY=your_gemini_api_key_here TWITCH_BOT_ACCOUNT=your_bot_account_here FISH_API_KEY=your_fish_api_key_here ID_VOICE=your_id_voice_here
Estas variables son necesarias para la autenticación con Twitch, configurar la cuenta del bot y otros servicios. Asegúrate de tener las credenciales correctas y los permisos necesarios antes de ejecutar el proyecto.
-
Ejecutar el servidor:
Una vez que todo esté instalado y configurado, puedes ejecutar el servidor FastAPI con el siguiente comando:
uvicorn app.main:app --reload
Esto iniciará el servidor en
http://127.0.0.1:8000
.
- Descripción: Endpoint raíz para verificar que el servidor está corriendo.
- Respuesta:
{ "message": "Sandy IA corriendo🚀" }
-
Descripción: Inicia los servicios en segundo plano según el parámetro
service
proporcionado. -
Respuesta Exitosa:
{
"message": "Servicios iniciados"
}
-
Descripción: Pausa el micrófono para detener la transcripción de audio.
-
Respuesta:
{
"status": "Micrófono pausado",
"paused": true
}
-
Descripción: Pausa el micrófono para detener la transcripción de audio.
-
Respuesta:
{
"status": "Micrófono reanudado",
"paused": false
}
-
Descripción: Pausa el micrófono para detener la transcripción de audio.
-
Respuesta:
{
"status": "activo", // o "pausado"
"paused": false // o true
}
Este proyecto está bajo una Licencia Dual:
- MIT License: Permite a los usuarios hacer lo que deseen con el código, modificación y distribución, siempre que se incluya la misma licencia.
- GPL-3.0 License: Garantiza que cualquier distribución del código (modificado o no) esté bajo los mismos términos de la GPL-3.0.