SD.Next: Advanced Implementation of Stable Diffusion
 
 
 
 
Go to file
Vladimir Mandic f4d4f8dad5
Merge pull request #2653 from vladmandic/dev
merge dev to master
2023-12-29 09:32:52 -05:00
.github add experimental model update 2023-11-21 12:25:19 -05:00
.vscode vscode: disable format on save 2023-12-18 18:08:17 +03:00
cli minor updates 2023-12-12 14:36:00 -05:00
configs Revert "Merge pull request #2411 from vladmandic/master" 2023-10-26 07:30:01 -04:00
extensions add placeholders 2023-01-06 12:15:25 -05:00
extensions-builtin update docs 2023-12-29 09:25:05 -05:00
html update docs 2023-12-29 09:25:05 -05:00
javascript remove extra logging 2023-12-27 21:03:39 -05:00
models add amused model support and update reference list 2023-12-27 10:15:36 -05:00
modules update docs 2023-12-29 09:25:05 -05:00
repositories fix img2img/inpaint paste params 2023-11-25 11:53:51 -05:00
scripts improve animatediff 2023-12-28 11:30:12 -05:00
train/templates Add pre-commit. 2023-09-04 13:57:47 +02:00
wiki@9a9713ecbb add depth3d support 2023-12-27 13:59:33 -05:00
.eslintrc.json add reference models 2023-11-05 11:07:39 -05:00
.gitignore nitpicks 2023-12-27 19:01:09 -05:00
.gitmodules minor updates 2023-11-10 10:04:15 -05:00
.markdownlint.json Add pre-commit. 2023-09-04 13:57:47 +02:00
.pre-commit-config.yaml Add pre-commit. 2023-09-04 13:57:47 +02:00
.pylintrc Revert "Merge pull request #2411 from vladmandic/master" 2023-10-26 07:30:01 -04:00
CHANGELOG.md update docs 2023-12-29 09:25:05 -05:00
CITATION.cff add cff 2023-12-12 15:55:41 -05:00
LICENSE.txt add license file 2023-01-15 09:24:48 +03:00
README.md update docs 2023-12-29 09:25:05 -05:00
SECURITY.md change onboarding and remove download default model 2023-12-26 13:06:14 -05:00
TODO.md update todo/changelog 2023-10-21 13:53:25 -04:00
installer.py Update changelog 2023-12-29 11:14:52 +03:00
launch.py add support for lora oft, lyco oft, peft 2023-12-24 11:30:04 -05:00
motd add motd 2023-10-09 08:46:48 -04:00
package.json diffusers img2img and inpaint 2023-07-22 15:39:41 -04:00
pyproject.toml add reference to original, reimplement control-xs 2023-12-27 08:52:04 -05:00
requirements.txt add amused model support and update reference list 2023-12-27 10:15:36 -05:00
webui.bat Update webui.bat 2023-12-13 14:47:46 +10:30
webui.ps1 update startup scripts 2023-11-04 08:22:57 -04:00
webui.py tracing and control improvements 2023-12-20 17:33:19 -05:00
webui.sh Add DISABLE_IPEXRUN environment variable 2023-12-14 19:53:21 +03:00

README.md

SD.Next

Stable Diffusion implementation with advanced features

Sponsors Last Commit License Discord

Wiki | Discord | Changelog


Notable features

All individual features are not listed here, instead check ChangeLog for full list of changes

  • Multiple backends!
    Original | Diffusers
  • Multiple diffusion models!
    Stable Diffusion 1.5/2.1 | SD-XL | LCM | Segmind | Kandinsky | Pixart-α | Würstchen | aMUSEd | DeepFloyd IF | UniDiffusion | SD-Distilled | BLiP Diffusion | etc.
  • Built-in Control for Text, Image, Batch and video processing!
    ControlNet | ControlNet XS | Control LLLite | T2I Adapters | IP Adapters
  • Multiplatform!
    Windows | Linux | MacOS with CPU | nVidia | AMD | IntelArc | DirectML | OpenVINO | ONNX+Olive
  • Platform specific autodetection and tuning performed on install
  • Optimized processing with latest torch developments with built-in support for torch.compile and multiple compile backends
  • Improved prompt parser
  • Enhanced Lora/LoCon/Lyco code supporting latest trends in training
  • Built-in queue management
  • Enterprise level logging and hardened API
  • Modern localization and hints engine
  • Broad compatibility with existing extensions ecosystem and new extensions manager
  • Built in installer with automatic updates and dependency management
  • Modernized UI with theme support and number of built-in themes (dark and light)

Screenshot-Dark Screenshot-Control Screenshot-Light


Backend support

SD.Next supports two main backends: Original and Diffusers:

  • Original: Based on LDM reference implementation and significantly expanded on by A1111
    This is the default backend and it is fully compatible with all existing functionality and extensions
    Supports SD 1.x and SD 2.x models
    All other model types such as SD-XL, LCM, PixArt, Segmind, Kandinsky, etc. require backend Diffusers
  • Diffusers: Based on new Huggingface Diffusers implementation
    Supports original SD models as well as all models listed below
    See wiki article for more information

Model support

Additional models will be added as they become available and there is public interest in them

Also supported are modifiers such as:

  • LCM and Turbo (Adversarial Diffusion Distillation) networks
  • All LoRA types such as LoCon, LyCORIS, HADA, IA3, Lokr, OFT
  • AnimateDiff for SD 1.5
  • IP-Adapters for SD 1.5 and SD-XL

[!IMPORTANT]

  • Loading any model other than standard SD 1.x / SD 2.x requires use of backend Diffusers
  • Loading any other models using Original backend is not supported
  • Loading manually download model .safetensors files is supported for SD 1.x / SD 2.x / SD-XL models only
  • For all other model types, use backend Diffusers and use built in Model downloader or
    select model from Networks -> Models -> Reference list in which case it will be auto-downloaded and loaded

Platform support

  • nVidia GPUs using CUDA libraries on both Windows and Linux
  • AMD GPUs using ROCm libraries on Linux
    Support will be extended to Windows once AMD releases ROCm for Windows
  • Intel Arc GPUs using OneAPI with IPEX XPU libraries on both Windows and Linux
  • Any GPU compatible with DirectX on Windows using DirectML libraries
    This includes support for AMD GPUs that are not supported by native ROCm libraries
  • Any GPU or device compatible with OpenVINO libraries on both Windows and Linux
  • Apple M1/M2 on OSX using built-in support in Torch with MPS optimizations
  • ONNX/Olive (experimental)

Install

[!TIP]

  • Server can run without virtual environment,
    Recommended to use VENV to avoid library version conflicts with other applications
  • nVidia/CUDA / AMD/ROCm / Intel/OneAPI are auto-detected if present and available,
    For any other use case such as DirectML, ONNX/Olive, OpenVINO specify required parameter explicitly
    or wrong packages may be installed as installer will assume CPU-only environment
  • Full startup sequence is logged in sdnext.log,
    so if you encounter any issues, please check it first

Run

Once SD.Next is installed, simply run webui.ps1 or webui.bat (Windows) or webui.sh (Linux or MacOS)

Below is partial list of all available parameters, run webui --help for the full list:

Server options:
  --config CONFIG                  Use specific server configuration file, default: config.json
  --ui-config UI_CONFIG            Use specific UI configuration file, default: ui-config.json
  --medvram                        Split model stages and keep only active part in VRAM, default: False
  --lowvram                        Split model components and keep only active part in VRAM, default: False
  --ckpt CKPT                      Path to model checkpoint to load immediately, default: None
  --vae VAE                        Path to VAE checkpoint to load immediately, default: None
  --data-dir DATA_DIR              Base path where all user data is stored, default:
  --models-dir MODELS_DIR          Base path where all models are stored, default: models
  --share                          Enable UI accessible through Gradio site, default: False
  --insecure                       Enable extensions tab regardless of other options, default: False
  --listen                         Launch web server using public IP address, default: False
  --auth AUTH                      Set access authentication like "user:pwd,user:pwd""
  --autolaunch                     Open the UI URL in the system's default browser upon launch
  --docs                           Mount Gradio docs at /docs, default: False
  --no-hashing                     Disable hashing of checkpoints, default: False
  --no-metadata                    Disable reading of metadata from models, default: False
  --no-download                    Disable download of default model, default: False
  --backend {original,diffusers}   force model pipeline type

Setup options:
  --debug                          Run installer with debug logging, default: False
  --reset                          Reset main repository to latest version, default: False
  --upgrade                        Upgrade main repository to latest version, default: False
  --requirements                   Force re-check of requirements, default: False
  --quick                          Run with startup sequence only, default: False
  --use-directml                   Use DirectML if no compatible GPU is detected, default: False
  --use-openvino                   Use Intel OpenVINO backend, default: False
  --use-ipex                       Force use Intel OneAPI XPU backend, default: False
  --use-cuda                       Force use nVidia CUDA backend, default: False
  --use-rocm                       Force use AMD ROCm backend, default: False
  --use-xformers                   Force use xFormers cross-optimization, default: False
  --skip-requirements              Skips checking and installing requirements, default: False
  --skip-extensions                Skips running individual extension installers, default: False
  --skip-git                       Skips running all GIT operations, default: False
  --skip-torch                     Skips running Torch checks, default: False
  --skip-all                       Skips running all checks, default: False
  --experimental                   Allow unsupported versions of libraries, default: False
  --reinstall                      Force reinstallation of all requirements, default: False
  --safe                           Run in safe mode with no user extensions

Notes

Extensions

SD.Next comes with several extensions pre-installed:

Collab

  • We'd love to have additional maintainers with full admin rights. If you're interested, ping us!
  • In addition to general cross-platform code, desire is to have a lead for each of the main platforms. This should be fully cross-platform, but we'd really love to have additional contributors and/or maintainers to join and help lead the efforts on different platforms.

Goals

This project started as a fork from Automatic1111 WebUI and it grew significantly since then,
but although it diverged considerably, any substantial features to original work is ported to this repository as well.

The idea behind the fork is to enable latest technologies and advances in text-to-image generation.

Sometimes this is not the same as "as simple as possible to use".

General goals:

  • Multi-model
    • Enable usage of as many as possible txt2img and img2img generative models
  • Cross-platform
    • Create uniform experience while automatically managing any platform specific differences
  • Performance
    • Enable best possible performance on all platforms
  • Ease-of-Use
    • Automatically handle all requirements, dependencies, flags regardless of platform
    • Integrate all best options for uniform out-of-the-box experience without the need to tweak anything manually
  • Look-and-Feel
    • Create modern, intuitive and clean UI
  • Up-to-Date
    • Keep code up to date with latest advanced in text-to-image generation

Credits

Docs

If you're unsure how to use a feature, best place to start is Wiki and if its not there,
check ChangeLog for when feature was first introduced as it will always have a short note on how to use it

Sponsors

Allan GrantBrent OzarMatthew RunoHELLO WORLD SASSalad Technologiesa.v.mantzaris