A desktop application for generating AI images locally using Stable Diffusion models from HuggingFace
ExoGen.webm
ExoGen is a privacy-focused desktop application that lets you generate AI images completely offline on your own machine. Download models from HuggingFace, configure generation parameters, and create stunning images without sending your data to the cloud.
Why ExoGen?
- 🔒 100% Private - Everything runs locally, your prompts and images never leave your computer
- 💰 Free Forever - No API costs, no subscriptions, completely free and open-source
- 🚀 Powerful - Support for various Stable Diffusion models from HuggingFace
- ⚡ Fast - GPU acceleration support for lightning-fast generation
- 🎨 Flexible - Advanced controls for fine-tuning your generations
- 🎨 AI Image Generation - Create images from text prompts using Stable Diffusion models
- 🤖 Smart Model Recommendations - Get model suggestions based on your hardware capabilities
- 🔍 HuggingFace Integration - Browse and download models directly from HuggingFace
- 🎭 LoRA Support - Apply LoRA models for fine-tuned styles and characters with adjustable weights
- 🔎 High-Resolution Upscaling - Enhance images with Hires.fix using AI upscalers (Real-ESRGAN) or traditional methods
- 📊 Real-Time Progress - See generation phases and model loading progress in real-time
- 🎨 Styles System - Search, filter, and apply style presets with automatic defaults for new users
- 📜 Generation History - Browse past generations in fullscreen photoview with navigation
- 📝 Backend Logs - Stream and monitor backend logs in real-time
- 💾 Memory Configuration - Configure GPU and RAM memory allocation with visual previews
- 🔄 Automatic Updates - Get notified and install updates seamlessly
- ⚙️ Advanced Configuration
- Sampling methods (Euler, DPM++, etc.)
- Seed control for reproducible results
- Batch generation support
- 🖥️ Fully Offline - Works completely offline after initial model download
- 🔒 Privacy-Focused - All processing happens locally on your machine
Before you begin, ensure you have the following installed:
- Python 3.11+ - Required for the AI backend (Download)
- CUDA - Required for Nvidia GPU acceleration (Download)
- RAM: 8GB minimum (16GB recommended for larger models)
- GPU: Recommended for faster generation (CPU mode available but slower)
- Storage: 30GB+ free disk space for models
- OS: Windows, macOS, or Linux
-
Download the latest release for your platform from the Releases page:
- Windows:
.exeinstaller - macOS:
.dmginstaller - Linux:
.AppImage,.deb, or.rpmpackage
- Windows:
-
Run the installer and launch ExoGen
The application will automatically:
- Set up the Python backend
- Install required Python dependencies
- Open the application window
pnpm run dev- Start Next.js development server with Turbopackpnpm run desktop- Run full desktop app (Next.js + Electron + Python backend)pnpm run desktop:local- Run frontend only (for Python backend development)pnpm test- Run test suitepnpm run type-check- Run TypeScript type checkingpnpm run lint- Run ESLintpnpm run format- Format code with Prettierpnpm run build- Build for production distribution
# Clone the backend repository
git clone https://github.com/andyngdz/exogen_backend.git
# Start the backend (in the exogen_backend directory)
cd exogen_backend
# Follow the backend README for setup instructions
# Start frontend development (in the exogen directory)
pnpm run desktop:local
# Run tests
pnpm test
# Run tests in watch mode
pnpm test -- --watch
# Run tests with coverage
pnpm run test:coverage
# Check code quality
pnpm run type-check
pnpm run lint
pnpm run format# Build the application
pnpm run buildThe build output will be in the dist/ directory:
- Windows:
.exeinstaller - macOS:
.dmginstaller - Linux:
.AppImage,.deb,.rpmpackages
ExoGen uses Vitest and React Testing Library for comprehensive testing.
# Run all tests
pnpm test
# Run tests in watch mode
pnpm test -- --watch
# Run tests with coverage report
pnpm run test:coverage
# Run specific test file
pnpm test -- path/to/test.tsxTests are co-located with source files in __tests__/ directories.
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feat/amazing-feature) - Commit your changes using Conventional Commits
feat:for new featuresfix:for bug fixesdocs:for documentation changes
- Push to your branch (
git push origin feat/amazing-feature) - Open a Pull Request
feat(generators): add new sampling method
fix(model-search): resolve download timeout issue
docs: update installation instructions- Built with Next.js
- Desktop powered by Electron
- Models from HuggingFace
- UI components from HeroUI
- Animations by Framer Motion
If you encounter any issues or have questions:
- Check the Issues page
- Open a new issue with detailed information
⭐ Star this repository if you find it helpful!