A modular, local-first AI image generation engine โ built to be forked, extended, and owned.
I.R.I.S. is an open-source AI image generation platform designed as a foundation, not a locked product.
Think of it as Linux for AI image generation:
You get a fully working system โ
but you decide how it evolves.
No cloud. No accounts. No telemetry. No vendor lock-in.
- ๐ง Local-first โ everything runs on your machine
- ๐ Open Source โ modify, fork, redistribute
- ๐งฉ Modular architecture โ UI, backend, models are replaceable
- ๐งช Experiment-friendly โ designed for tinkering & research
- ๐ Production-capable โ APIs, WebSockets, scaling-ready
This repository provides a fully functional reference implementation, not a closed product.
- Modern React Frontend โ Responsive UI built with React 18 & Tailwind CSS
- Plugin System โ Install, manage, and use custom AI models via ZIP packages
- Advanced Image Upscaler โ AI-powered upscaling from 2x to 16x with multiple models
- Local Model Management โ Load models from local directories (HuggingFace Hub format)
- Multiple AI models (anime, realistic, pixel art, SDXL)
- Text-to-Image generation with real-time progress
- WebSocket streaming for live updates
- Persistent prompt history (server-side)
- Multi-GPU support (NVIDIA CUDA, AMD ROCm, Intel Arc XPU, Apple MPS, CPU)
- DRAM Extension โ System RAM fallback for low VRAM GPUs (4GB+)
- Multiple Upscalers โ Real-ESRGAN, Anime v3, Tile Mode, Lanczos
- Custom resolutions (256ร256 โ 2048ร2048)
- Hardware monitoring โ CPU, RAM, GPU power draw
- Device switching โ Switch between GPU/CPU at runtime
- Discord bot integration โ Auto-post generated images
- Discord Rich Presence โ Show generation status
- Python 3.9 โ 3.11
- GPU recommended (4 GB VRAM minimum)
- CUDA 11.8+ / ROCm 5.6+ / oneAPI (optional, CPU mode supported)
git clone https://github.com/KaiTooast/iris.git cd iris python -m venv venv # Windows venv\Scripts\activate # Linux / macOS source venv/bin/activate pip install -r requirements.txt # Build React frontend build_frontend.bat # Windows # or manually: cd frontend && npm install && npm run build # Optional: Copy environment template cp .env.example .env
# Windows (use venv python directly) .\venv\Scripts\python.exe src/start.py # Linux / macOS python src/start.py # Server Modes python src/start.py # React frontend (default) python src/start.py --mode react # React frontend (explicit) python src/start.py --mode api # API only (no frontend) # Without Discord bot python src/start.py --no-bot
๐ Frontend: http://localhost:8000
๐ Upscaler: http://localhost:8000/upscaler
๐ Admin Panel: http://localhost:8000/admin
iris/
โโโ src/ # Backend & core logic
โ โโโ api/ # FastAPI server & routes
โ โ โโโ server.py # Main server (generation, upscaling, settings)
โ โ โโโ middleware/ # Rate limiting
โ โ โโโ routes/ # API endpoints (system, devices)
โ โ โโโ services/ # NSFW filter, pipeline, history, queue
โ โโโ core/ # Model loading & generation
โ โโโ services/ # Discord bot
โ โโโ utils/ # Logging, file management
โ โโโ start.py # Entry point
โ
โโโ frontend/ # Modern React Web UI
โ โโโ src/
โ โ โโโ pages/ # HomePage, GeneratePage, GalleryPage, SettingsPage
โ โ โโโ components/ # Reusable components
โ โ โโโ store/ # Zustand state management
โ โ โโโ lib/ # API utilities
โ โโโ package.json
โ โโโ vite.config.js
โ
โโโ static/ # Static assets & runtime data
โ โโโ css/ # Stylesheets
โ โโโ js/ # JavaScript
โ โโโ config/ # Bot config files
โ โโโ data/ # History (prompts_history.json)
โ
โโโ assets/ # Static assets (thumbnails, icons)
โ โโโ thumbnails/ # Model thumbnails (WebP)
โ
โโโ outputs/ # Generated images
โโโ Logs/ # Runtime logs
โโโ docs/ # Documentation
โ
โโโ settings.json # Runtime settings
โโโ requirements.txt # Python dependencies
{
"dramEnabled": true,
"vramThreshold": 6,
"maxDram": 16,
"discordEnabled": false
}| Setting | Description |
|---|---|
dramEnabled |
Use system RAM when VRAM is low |
vramThreshold |
VRAM threshold (GB) to enable DRAM Extension |
maxDram |
Maximum system RAM to use (GB) |
discordEnabled |
Auto-start Discord bot |
HOST=0.0.0.0 PORT=8000 DEFAULT_MODEL=anime_kawai # Discord Bot (optional) DISCORD_BOT_TOKEN=your_token DISCORD_CHANNEL_NEW_IMAGES=channel_id DISCORD_CHANNEL_VARIATIONS=channel_id DISCORD_CHANNEL_UPSCALED=channel_id
| Tier | GPU | VRAM | Notes |
|---|---|---|---|
| Minimum | NVIDIA GTX 1650 | 4 GB | The birthplace. Small models, DRAM Extension recommended. |
| Sweet Spot | AMD Radeom RX 9070 | 16 GB | Best Price to Performance. |
| Advanced | NVIDIA RTX 4070 Super | 12 GB | Faster inference, still VRAM-limited. |
| Professional | NVIDIA RTX 3090 Ti / 4090 | 24 GB | No-compromise local AI & SDXL. |
| God Tier | NVIDIA RTX 5090 | 32 GB | Near Industrial scale. (Overkill for most) |
| Tier | GPU | VRAM | Architecture | AI Accelerators | Notes |
|---|---|---|---|---|---|
| Minimum | AMD RX 5700 XT | 8 GB | RDNA1 | None | Entry-level AMD support. DRAM Extension recommended. |
| Good | AMD RX 6800 XT | 16 GB | RDNA2 | None | Solid performance for SD 1.5 models. |
| Recommended | AMD RX 7800 XT | 16 GB | RDNA3 | Matrix Cores | Excellent AI performance with Matrix Cores. |
| High-End | AMD RX 7900 XTX | 24 GB | RDNA3 | Matrix Cores | SDXL-ready with Matrix Core acceleration. |
| Latest | AMD RX 9070 XT | 16 GB | RDNA4 | Enhanced AI Accelerators | Next-gen AI acceleration, optimized for diffusion models. |
๐ก AMD GPU Note: RDNA3+ GPUs (RX 7000/9000 series) include dedicated Matrix Cores for AI workloads, providing significant performance improvements over RDNA1/2. RDNA4 (RX 9000 series) features enhanced AI accelerators specifically optimized for diffusion models.
๐ก Developer Note: I.R.I.S. was developed and tested on a GTX 1650, proving functionality on low-end hardware.
I.R.I.S. features a flexible plugin system that allows you to install, manage, and use custom AI models without modifying source code.
Plugins are ZIP packages containing:
manifest.jsonโ Model metadata and HuggingFace repository referencethumbnail.webpโ Preview image for the UI
Access the Plugin Manager at http://localhost:8000/plugins
Features:
- ๐ฆ Install plugins via drag-and-drop ZIP upload
- โ Enable/disable plugins without uninstalling
- ๐๏ธ Uninstall plugins with one click
- ๐ฅ Automatic model downloads from HuggingFace
- ๐ Search and filter by model type, base, or status
- ๐ผ๏ธ Visual thumbnails for easy identification
- Create manifest.json:
{
"name": "My Custom Model",
"description": "A custom AI model for specific use cases",
"version": "1.0.0",
"thumbnail": "thumbnail.webp",
"hf_repo": "author/model-repo-id",
"type": "txt2img",
"base": "sd1.5",
"recommended_steps": 30,
"recommended_cfg": 7.5,
"supports_negative_prompt": true
}-
Add a thumbnail (512ร512 or 768ร768 WebP image)
-
Package as ZIP:
zip my-model-plugin.zip manifest.json thumbnail.webp
- Install via Plugin Manager UI
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | โ | Display name (max 100 chars) |
description |
string | โ | Short description (max 500 chars) |
version |
string | โ | Semantic version (X.Y.Z) |
thumbnail |
string | โ | Thumbnail filename |
hf_repo |
string | โ | HuggingFace repo (author/model) |
type |
string | โ | txt2img or img2img |
base |
string | โ | sd1.5, sd2.1, sdxl, or flux |
recommended_steps |
integer | โ | Default steps (1-200) |
recommended_cfg |
number | โ | Default CFG scale (1-30) |
supports_negative_prompt |
boolean | โ | Negative prompt support |
# List all plugins GET /api/plugins/list # Install plugin POST /api/plugins/install Content-Type: multipart/form-data Body: file=plugin.zip # Enable plugin POST /api/plugins/enable/{plugin_id} # Disable plugin POST /api/plugins/disable/{plugin_id} # Uninstall plugin DELETE /api/plugins/uninstall/{plugin_id} # Get plugin details GET /api/plugins/{plugin_id} # WebSocket for download progress WS /ws/download/{plugin_id}
I.R.I.S. comes with 11 pre-installed plugins:
- Dreamshaper 8 (versatile allround model)
- Anime Kawai Diffusion
- Abyssorangemix3 (semi-realistic anime)
- Counterfeit V3.0 (detailed illustrations)
- Openjourney (artistic style)
- Pixel Art Diffusion
- Anything V5 (classic anime)
- Stable Diffusion 2.1 (realistic photos)
- Waifu Diffusion
- Stable Diffusion 3.5 Medium (AMD GPU optimized)
- Animagine XL 3.1 (high-quality anime SDXL)
๐ View Plugin Development Guide - Complete guide for creating custom plugins.
- REST API for generation, gallery, system info
- WebSocket streams for:
- Generation progress
- Model download progress
- Gallery updates
- Multi-page synchronization
Perfect for custom frontends, automation, or external clients.
๐ View Full API Documentation - Complete reference for REST endpoints, WebSocket messages, and error handling.
You are explicitly encouraged to:
- Replace the frontend entirely
- Add your own models or pipelines
- Build a token or subscription system
- Deploy in a private or public datacenter
- Run on NVIDIA, AMD, or Intel GPUs (experimental)
- Fork this into a commercial or closed product
I.R.I.S. does not enforce a business model.
Creative Commons Attribution 4.0 (CC BY 4.0)
You may use, modify, redistribute, and commercialize this project โ attribution is required.
See LICENSE for details.
Contributions are welcome โ from small fixes to major architectural changes.
Please read CONTRIBUTING.md before submitting a pull request.
I.R.I.S. is not built to compete with cloud AI platforms.
It exists to give control back to developers and creators.
If you value:
- ownership over subscriptions
- experimentation over lock-in
- transparency over black boxes
then this project is for you.