EDEN OS V2
Private, self-healing, triple-redundant bidirectional diffusion avatar system.
Architecture
- Gateway: FastAPI (port 8000) β handles xAI Grok-4 chat + TTS, WebSocket frame streaming
- Router: Pipeline orchestrator with 5 auto-routing features (port 8100)
- Watchdog: Sidecar that monitors frame quality every 3s, triggers failover (port 8200)
- 5 Pipelines: MuseTalk (P0), InfiniteTalk (P1), Ditto (P2), StableAvatar (P3), LiveAvatar 14B (P4)
- Frontend: React + Vite with WebSocket streaming and CSS fallback animation
Key commands
# Local development
docker compose up # Start all services
docker compose up gateway router pipeline0 watchdog # Minimal stack
# Build
docker build -t eden-os-v2 .
# Push to Docker Hub
docker tag eden-os-v2 edenberyl/eden-os-v2:latest
docker push edenberyl/eden-os-v2:latest
# Frontend dev
cd frontend && npm run dev
Models
Models are stored on Seagate 5TB at D:\eden-models\ and mounted into containers via Docker volumes. Models are NOT baked into the Docker image β they are pulled at runtime from HF Hub.
Pipeline priority (smallest β largest for fastest failover)
P4 LiveAvatar (1.26 GB) β fastest to load, primary
P0 MuseTalk (6.37 GB) β fast backup
P2 Ditto (6.45 GB) β mid backup
P3 StableAvatar (18.49 GB) β heavy backup
P1 InfiniteTalk (85.02 GB) β nuclear, largest, most capable
Dual-track architecture:
- Track 1 (Main): Tries smallest pipeline first
- Track 2 (Backup): Escalates through remaining on failure
Failover is agent-enhanced (Grok-4-fast via xAI API) with static-threshold fallback. Watchdog detects static frames every 3s and triggers intelligent failover.
RunPod idle sleep
Pod auto-stops after 5 minutes of inactivity to save costs.
Configure via RUNPOD_IDLE_TIMEOUT_S env var (default: 300s).
Environment
All secrets go in .env (see .env.template). Never commit .env.