Giter Site home page Giter Site logo

rakataprime / stableswarmui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stability-ai/stableswarmui

0.0 0.0 0.0 1.79 MB

StableSwarmUI

License: Other

Shell 0.14% JavaScript 33.94% Python 1.23% C# 50.99% PowerShell 0.10% CSS 4.59% HTML 8.53% Batchfile 0.20% Jupyter Notebook 0.27%

stableswarmui's Introduction

StableSwarmUI

StableSwarmUI 0.5.0 Alpha.

A Modular Stable Diffusion Web-User-Interface, with an emphasis on making powertools easily accessible, high performance, and extensibility.

You can take it for a test-drive on Google Colab

Status

This project is in ALPHA status. That means all the basic features work, but there's a wide range of core features not yet implemented, and there are many bugs and not-too-great-quality-of-life issues throughout.

Powerusers and developers are encouraged to try it out and help build it, but general/beginner users are advised caution.

Those interested in helping push from Alpha to Beta to Full Release are welcome to submit PRs (read the Contributing document first), and you can contact us here on GitHub or on Discord. I highly recommended reaching out to ask about plans for a feature before PRing it. There may already be specific plans or even a work in progress.

Key feature targets not yet implemented:

  • Image editing tools
  • LoRAs, ControlNets
  • Internal TIs (already supported indirectly as all compatible backends specify these via text anyway, but a listing and handler for them should be present)
  • Text prompt tools (CLIP token counter, wildcards, etc) (some tools like prompt weighting already implicitly supported via backends)
  • Localization / automatic translation
  • LAN usage reliability
  • Mobile browser formatting
  • Self-contained internal mini-backend for simple usages
  • Simple box grids for batches (eg 2x2 squares of images when you generate a batch of 4)
  • Properly display ModelSpec usage-hint/trigger-phrase/etc. (need full detail "Current Model" display in UI, separate from the model selector - probably as a tab within the batch sidebar?)
  • Backends should be self-expanding (that is: one ComfyUI backend in the interface should be able to expand to several)
  • In-UI Comfy workflow Save&Load, and metadata edit (ie to reconfigure which parameters to send over or not)

Installing on Windows

(TODO): Make the .bat link actually be a download link not a view link.

  • Download The Install-Windows.bat file, store it somewhere you want to install at (not Program Files), and run it.
    • It should open a command prompt and install itself.
    • If it closes without going further, try running it again, it sometimes needs to run twice. (TODO: Fix that)
    • It will place an icon on your desktop that you can use to re-launch the server at any time.
    • When the installer completes, it will automatically launch the StableSwarmUI server, and open a browser window to the install page.
    • Follow the install instructions on the page.
    • After you submit, be patient, some of the install processing take a few minutes (downloading models and etc).

(TODO): Even easier self-contained pre-installer, a .msi or .exe that provides a general install screen and lets you pick folder and all.

Installing on Linux

  • Install git, python3 via your OS package manager if they are not already installed.
  • Install DotNET 7 using the instructions at https://dotnet.microsoft.com/en-us/download/dotnet/7.0
  • Open a shell terminal and cd to a directory you want to install into
  • Run shell commands:
    • git clone https://github.com/Stability-AI/StableSwarmUI
    • cd StableSwarmUI
    • ./launch-linux.sh
  • open http://localhost:7801/Install
  • Follow the install instructions on-page.

(TODO): Maybe outlink a dedicated document with per-distro details and whatever. Maybe also make a one-click installer for Linux?

Installing on Mac

(TODO): somebody with Mac experience needs to fill this in. Probably similar to Linux.

Documentation

See the documentation folder.

Motivations

The "Swarm" name is in reference to the original key function of the UI: enabling a 'swarm' of GPUs to all generate images for the same user at once (especially for large grid generations).

This project is built with a C# backend server to maximize performance while only minimally increasing code complexity. While most ML projects tend to be written in Python, that language is simply insufficient to meet performance goals, notably it lacks "true" multithreading capabilities, which was deemed strongly necessary for StableSwarmUI. It is also hoped that building Stable Diffusion tools in C# will enable a wider range of developers to make use of Stable Diffusion (vs being limited to the Python ecosystem).

The project was designed to be heavily modular, such that backends are fully separated from the middle-layer which is fully separated from the frontend UI, and all components are interswappable. This is to enabled extensibility and customization. For example, an extension can easily provide alternative backend generators (this project comes with several built-in, such as ComfyUI, Auto WebUI, StabilityAPI, ...) without having to edit anything else to work. The limitation of this approach is some tools may not easily be intercompatible, eg the StabilityAPI backend has only a select few limited inputs, vs the local backends that have a wider range, and so many parameters don't work with StabilityAPI.

A completely custom HTML/JS frontend was built with the goal of allowing detailed and thorough customization of the UI (as opposed to eg being locked in to the way Gradio generates things).

Legal

This project:

Copyright (C) 2023 Stability.AI

Licensed under the PolyForm Noncommercial License 1.0.0, view LICENSE.txt for details.

(In short: personal usage is free, commercial usage is not)

This license is an initial selection, particularly for the Alpha stage of the project, that is subject to change in the future.

stableswarmui's People

Contributors

mcmonkey4eva avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.