A standalone Tkinter-based desktop interface to manage, configure, and execute stable-diffusion.cpp processes — supporting text-to-image, image-to-image, video generation, inpainting, and model conversion.
- Modular tabbed UI: Generator, Gallery, Execution History, and Prompt Tag Helper tabs
- Multiple generation modes: txt2img, img2img, video generation (vid_gen), inpainting, model conversion
- T5XXL & LLM text encoder support: Select separate model paths for text encoders
- VAE control: Choose custom VAE decoders, toggle VAE tiling and direct convolution
- Video generation: Flow shift and frame count settings for vid_gen mode
- Collapsible parameter groups: Organized accordion sections for img2img/hires-fix, sampler/scheduler settings, and advanced performance options
- Output preview: Live preview of the last generated image with Open File / Open Folder buttons
- Prompt Tag Helper: Categorized chip tags (art styles, lighting, camera, quality) that append to your prompt
- Execution History: SQLite-backed persistent history with double-click to reload any past run's parameters
- Gallery: Thumbnail grid of all generated outputs with file opening support
- Profile system: Save and load
.envconfiguration presets - Live command preview: See the full CLI command before running
- Wayland-safe clipboard: Ctrl+C/X uses
wl-copywith process isolation to avoid XWayland SIGSEGV crashes - Desktop integration:
.desktopfile for Linux launcher support
- Python 3 with
tkinterlibrary. - stable-diffusion.cpp built binaries in one of:
~/App/stable-diffusion.cpp/build/bin/sd-cli~/App/stable-diffusion.cpp/build/bin/sd-server
- (Linux/Wayland only)
wl-clipboardpackage for clipboard operations:# Debian/Ubuntu sudo apt install wl-clipboard # Arch sudo pacman -S wl-clipboard # Fedora sudo dnf install wl-clipboard
src/— Core Python filesapp.py— Main application window and tab managementrunner.py— Subprocess management for sd-cli/sd-serverstyles.py— Theme, fonts, and UI stylinghistory_db.py— SQLite execution history databaseprofile_manager.py— Profile (.env) loading and savingui/— Modular tab classestab_generator.py— Generator tab (parameters, command preview, logs)tab_gallery.py— Output gallery gridtab_history.py— Execution history treeviewtab_prompt_helper.py— Prompt tag chip selectorwidgets.py— Reusable UI components (CollapsibleFrame, etc.)
profiles/— Environment configuration files (*.env) storing preset optionsmodels/— Folder containing model weights (.safetensors,.gguf,.ckpt)output/— Folder where generated images and videos are saved
- Place models in the
models/directory (or symlink to existing models). - Configure profiles as
.envfiles in theprofiles/directory. - Launch the interface:
python sd-gui.py
The repository includes a helper script ip to quickly detect your machine's primary local network IP and generate a shareable URL for accessing a running sd-server instance.
./ip [port]port: Optional port number (defaults to1234).-h,--help: Show usage information.
- 704 x 384 (or 384 x 704)
- 896 x 512 (or 512 x 896)
- 1024 x 576 (or 576 x 1024)
- 448 x 640 (or 640 x 448)
- 512 x 768 (or 768 x 512)
- 640 x 960 (or 960 x 640)
- 448 x 448
- 512 x 512
- 768 x 768
- stable-diffusion.cpp: A lightweight, pure C/C++ inference implementation for Stable Diffusion, developed by leejet/stable-diffusion.cpp.
- Anima Model: A 2-billion-parameter text-to-image model optimized for anime illustrations, developed by CircleStone Labs & Comfy Org. Community GGUF format quantizations are hosted by n-Arno/Anima-P3-Turbo-AIO-Q4_K.

