wave three

This commit is contained in:
Alex "mcmonkey" Goodwin
2024-06-21 16:04:19 -07:00
parent 52229056b6
commit d3bf4e96c0
45 changed files with 94 additions and 94 deletions

View File

@@ -1,3 +1,3 @@
This folder is for Google-Colab related files.
View the notebook on Google Colab: https://colab.research.google.com/github/Stability-AI/StableSwarmUI/blob/master/colab/colab-notebook.ipynb
View the notebook on Google Colab: https://colab.research.google.com/github/mcmonkeyprojects/SwarmUI/blob/master/colab/colab-notebook.ipynb

View File

@@ -19,7 +19,7 @@ Argument | Default | Description
`--host` | `localhost` | Can be used to override the 'Network.Host' server setting.
`--port` | `7801` | Can be used to override the 'Network.Port' server setting.
`--asp_loglevel` | `warning` | Sets the minimum log level for ASP.NET web logger, as any of: `Trace`, `Debug`, `Information`, `Warning`, `Error`, `Critical`, `None`. Note 'information' here spams debug output.
`--loglevel` | `Info` | Minimum StableSwarmUI log level, as any of: `Debug`, `Info`, `Init`, `Warning`, `Error`, `None`. 'Info' here is the normal usage data.
`--loglevel` | `Info` | Minimum SwarmUI log level, as any of: `Debug`, `Info`, `Init`, `Warning`, `Error`, `None`. 'Info' here is the normal usage data.
`--user_id` | `local` | Set the local user's default UserID (for running in single-user mode, not useful in shared mode).
`--lock_settings` | `false` | If enabled, blocks in-UI editing of server settings by admins. Settings cannot be modified in this mode without editing the settings file and restarting the server.
`--ngrok-path` | (None) | If specified, will be used as the path to an `ngrok` executable, and will automatically load and configure ngrok when launching, to share your UI instance on a publicly accessible URL.

View File

@@ -6,8 +6,8 @@
These are the presets used on DreamStudio.
- Download this file: [SDXL Official Presets.json](https://github.com/Stability-AI/StableSwarmUI/releases/download/0.5.6-Alpha/SDXL.Official.Presets.json) and save it somewhere (anywhere, desktop is fine)
- Open StableSwarmUI and open the `Presets` tab at the bottom
- Download this file: [SDXL Official Presets.json](https://github.com/mcmonkeyprojects/SwarmUI/releases/download/0.6.5-Beta/SDXL.Official.Presets.json) and save it somewhere (anywhere, desktop is fine)
- Open SwarmUI and open the `Presets` tab at the bottom
- Click on the `Import Presets` button
- drag the presets file in to the box that appears
- Click the `Import` button at the bottom

View File

@@ -1,4 +1,4 @@
# Internally called by StableSwarmUI
# Internally called by SwarmUI
# python -s launchtools/pickle-to-safetensors.py <path> <fp16(true/false)>
import os, sys, glob, traceback

View File

@@ -63,7 +63,7 @@ public class BackendHandler
public BackendHandler()
{
RegisterBackendType<SwarmSwarmBackend>("swarmswarmbackend", "Swarm-API-Backend", "Connection StableSwarmUI to another instance of StableSwarmUI as a backend.", true, true);
RegisterBackendType<SwarmSwarmBackend>("swarmswarmbackend", "Swarm-API-Backend", "Connect SwarmUI to another instance of SwarmUI as a backend.", true, true);
Program.ModelRefreshEvent += () =>
{
foreach (SwarmSwarmBackend backend in RunningBackendsOfType<SwarmSwarmBackend>())

View File

@@ -19,7 +19,7 @@ public static class NetworkBackendUtils
public static HttpClient MakeHttpClient()
{
HttpClient client = new(new SocketsHttpHandler() { PooledConnectionLifetime = TimeSpan.FromMinutes(10) });
client.DefaultRequestHeaders.UserAgent.ParseAdd($"StableSwarmUI/{Utilities.Version}");
client.DefaultRequestHeaders.UserAgent.ParseAdd($"SwarmUI/{Utilities.Version}");
client.Timeout = TimeSpan.FromMinutes(10);
return client;
}

View File

@@ -1,7 +1,7 @@
# Automatic1111 Stable-Diffusion-WebUI Backend Extension for StableSwarmUI
# Automatic1111 Stable-Diffusion-WebUI Backend Extension for SwarmUI
This extension enables the use of [AUTOMATIC1111/Stable-Diffusion-WebUI](https://github.com/AUTOMATIC1111/stable-diffusion-webui) ("Auto WebUI") as a backend provider for StableSwarmUI.
This extension enables the use of [AUTOMATIC1111/Stable-Diffusion-WebUI](https://github.com/AUTOMATIC1111/stable-diffusion-webui) ("Auto WebUI") as a backend provider for SwarmUI.
### API vs Self-Start
@@ -15,6 +15,6 @@ This extension enables the use of [AUTOMATIC1111/Stable-Diffusion-WebUI](https:/
(TODO)
### Basic Usage Within StableSwarmUI
### Basic Usage Within SwarmUI
(TODO)

View File

@@ -626,7 +626,7 @@ public abstract class ComfyUIAPIAbstractBackend : AbstractT2IBackend
"comfy_sampler" or "comfyui_sampler" or "sampler" => user_input.GetString(ComfyUIBackendExtension.SamplerParam) ?? (string.IsNullOrWhiteSpace(defVal) ? "euler" : defVal),
"comfy_scheduler" or "comfyui_scheduler" or "scheduler" => user_input.GetString(ComfyUIBackendExtension.SchedulerParam) ?? (string.IsNullOrWhiteSpace(defVal) ? "normal" : defVal),
"model" => user_input.Get(T2IParamTypes.Model).ToString(ModelFolderFormat),
"prefix" => $"StableSwarmUI_{Random.Shared.Next():X4}_",
"prefix" => $"SwarmUI_{Random.Shared.Next():X4}_",
"loras" => getLoras(),
_ => fillDynamic()
};

View File

@@ -15,7 +15,7 @@ class SwarmLatentBlendMasked:
RETURN_TYPES = ("LATENT",)
FUNCTION = "blend"
CATEGORY = "StableSwarmUI/images"
CATEGORY = "SwarmUI/images"
def blend(self, samples0, samples1, blend_factor, mask):
samples_out = samples0.copy()

View File

@@ -40,7 +40,7 @@ class SwarmClipSeg:
}
}
CATEGORY = "StableSwarmUI/masks"
CATEGORY = "SwarmUI/masks"
RETURN_TYPES = ("MASK",)
FUNCTION = "seg"

View File

@@ -103,7 +103,7 @@ class SwarmExtractLora:
}
}
CATEGORY = "StableSwarmUI/models"
CATEGORY = "SwarmUI/models"
RETURN_TYPES = ()
FUNCTION = "extract_lora"
OUTPUT_NODE = True
@@ -131,7 +131,7 @@ class SwarmExtractLora:
# Can't easily autodetect all the correct modelspec info, but at least supply some basics
out_metadata = {
"modelspec.title": f"(Extracted LoRA) {save_filename}",
"modelspec.description": f"LoRA extracted in StableSwarmUI"
"modelspec.description": f"LoRA extracted in SwarmUI"
}
if metadata:
out_metadata.update(json.loads(metadata))

View File

@@ -14,7 +14,7 @@ class SwarmImageScaleForMP:
}
}
CATEGORY = "StableSwarmUI/images"
CATEGORY = "SwarmUI/images"
RETURN_TYPES = ("IMAGE",)
FUNCTION = "scale"
@@ -46,7 +46,7 @@ class SwarmImageCrop:
}
}
CATEGORY = "StableSwarmUI/images"
CATEGORY = "SwarmUI/images"
RETURN_TYPES = ("IMAGE",)
FUNCTION = "crop"
@@ -67,7 +67,7 @@ class SwarmVideoBoomerang:
}
}
CATEGORY = "StableSwarmUI/video"
CATEGORY = "SwarmUI/video"
RETURN_TYPES = ("IMAGE",)
FUNCTION = "boomerang"

View File

@@ -19,7 +19,7 @@ class SwarmInputGroup:
},
}
CATEGORY = "StableSwarmUI/inputs"
CATEGORY = "SwarmUI/inputs"
RETURN_TYPES = ("GROUP",)
FUNCTION = "do_input"
@@ -55,7 +55,7 @@ class SwarmInputInteger:
} | STANDARD_REQ_INPUTS,
} | STANDARD_OTHER_INPUTS
CATEGORY = "StableSwarmUI/inputs"
CATEGORY = "SwarmUI/inputs"
RETURN_TYPES = ("INT",)
FUNCTION = "do_input"
@@ -78,7 +78,7 @@ class SwarmInputFloat:
} | STANDARD_REQ_INPUTS,
} | STANDARD_OTHER_INPUTS
CATEGORY = "StableSwarmUI/inputs"
CATEGORY = "SwarmUI/inputs"
RETURN_TYPES = ("FLOAT",)
FUNCTION = "do_input"
@@ -97,7 +97,7 @@ class SwarmInputText:
} | STANDARD_REQ_INPUTS,
} | STANDARD_OTHER_INPUTS
CATEGORY = "StableSwarmUI/inputs"
CATEGORY = "SwarmUI/inputs"
RETURN_TYPES = ("STRING",)
FUNCTION = "do_input"
@@ -116,7 +116,7 @@ class SwarmInputModelName:
} | STANDARD_REQ_INPUTS,
} | STANDARD_OTHER_INPUTS
CATEGORY = "StableSwarmUI/inputs"
CATEGORY = "SwarmUI/inputs"
RETURN_TYPES = ("",)
FUNCTION = "do_input"
@@ -134,7 +134,7 @@ class SwarmInputCheckpoint:
} | STANDARD_REQ_INPUTS,
} | STANDARD_OTHER_INPUTS
CATEGORY = "StableSwarmUI/inputs"
CATEGORY = "SwarmUI/inputs"
RETURN_TYPES = ("MODEL", "CLIP", "VAE")
FUNCTION = "do_input"
@@ -153,7 +153,7 @@ class SwarmInputDropdown:
} | STANDARD_REQ_INPUTS,
} | STANDARD_OTHER_INPUTS
CATEGORY = "StableSwarmUI/inputs"
CATEGORY = "SwarmUI/inputs"
RETURN_TYPES = ("STRING", "",)
FUNCTION = "do_input"
@@ -171,7 +171,7 @@ class SwarmInputBoolean:
} | STANDARD_REQ_INPUTS,
} | STANDARD_OTHER_INPUTS
CATEGORY = "StableSwarmUI/inputs"
CATEGORY = "SwarmUI/inputs"
RETURN_TYPES = ("BOOLEAN",)
FUNCTION = "do_input"
@@ -190,7 +190,7 @@ class SwarmInputImage:
} | STANDARD_REQ_INPUTS,
} | STANDARD_OTHER_INPUTS
CATEGORY = "StableSwarmUI/inputs"
CATEGORY = "SwarmUI/inputs"
RETURN_TYPES = ("IMAGE","MASK",)
FUNCTION = "do_input"

View File

@@ -11,7 +11,7 @@ class SwarmEmbedLoaderListProvider:
}
}
CATEGORY = "StableSwarmUI/internal"
CATEGORY = "SwarmUI/internal"
RETURN_TYPES = ("EMBEDDING",)
FUNCTION = "load_embed"

View File

@@ -222,7 +222,7 @@ class SwarmKSampler:
}
}
CATEGORY = "StableSwarmUI/sampling"
CATEGORY = "SwarmUI/sampling"
RETURN_TYPES = ("LATENT",)
FUNCTION = "run_sampling"

View File

@@ -18,7 +18,7 @@ class SwarmOffsetEmptyLatentImage:
}
}
CATEGORY = "StableSwarmUI/latents"
CATEGORY = "SwarmUI/latents"
RETURN_TYPES = ("LATENT",)
FUNCTION = "generate"

View File

@@ -25,7 +25,7 @@ class SwarmLoadImageB64:
}
}
CATEGORY = "StableSwarmUI/images"
CATEGORY = "SwarmUI/images"
RETURN_TYPES = ("IMAGE", "MASK")
FUNCTION = "load_image_b64"

View File

@@ -16,7 +16,7 @@ class SwarmLoraLoader:
}
}
CATEGORY = "StableSwarmUI/models"
CATEGORY = "SwarmUI/models"
RETURN_TYPES = ("MODEL", "CLIP")
FUNCTION = "load_loras"

View File

@@ -13,7 +13,7 @@ class SwarmSquareMaskFromPercent:
}
}
CATEGORY = "StableSwarmUI/masks"
CATEGORY = "SwarmUI/masks"
RETURN_TYPES = ("MASK",)
FUNCTION = "mask_from_perc"
@@ -48,7 +48,7 @@ class SwarmOverMergeMasksForOverlapFix:
}
}
CATEGORY = "StableSwarmUI/masks"
CATEGORY = "SwarmUI/masks"
RETURN_TYPES = ("MASK",)
FUNCTION = "mask_overmerge"
@@ -68,7 +68,7 @@ class SwarmCleanOverlapMasks:
}
}
CATEGORY = "StableSwarmUI/masks"
CATEGORY = "SwarmUI/masks"
RETURN_TYPES = ("MASK","MASK",)
FUNCTION = "mask_overlap"
@@ -91,7 +91,7 @@ class SwarmCleanOverlapMasksExceptSelf:
}
}
CATEGORY = "StableSwarmUI/masks"
CATEGORY = "SwarmUI/masks"
RETURN_TYPES = ("MASK",)
FUNCTION = "mask_clean"
@@ -112,7 +112,7 @@ class SwarmExcludeFromMask:
}
}
CATEGORY = "StableSwarmUI/masks"
CATEGORY = "SwarmUI/masks"
RETURN_TYPES = ("MASK",)
FUNCTION = "mask_exclude"
@@ -133,7 +133,7 @@ class SwarmMaskBounds:
}
}
CATEGORY = "StableSwarmUI/masks"
CATEGORY = "SwarmUI/masks"
RETURN_TYPES = ("INT", "INT", "INT", "INT")
RETURN_NAMES = ("x", "y", "width", "height")
FUNCTION = "get_bounds"
@@ -180,7 +180,7 @@ class SwarmMaskBlur:
RETURN_TYPES = ("MASK",)
FUNCTION = "blur"
CATEGORY = "StableSwarmUI/masks"
CATEGORY = "SwarmUI/masks"
def blur(self, mask, blur_radius, sigma):
if blur_radius == 0:
@@ -211,7 +211,7 @@ class SwarmMaskThreshold:
RETURN_TYPES = ("MASK",)
FUNCTION = "threshold"
CATEGORY = "StableSwarmUI/masks"
CATEGORY = "SwarmUI/masks"
def threshold(self, mask, min, max):
mask = mask.clamp(min, max)

View File

@@ -14,7 +14,7 @@ class SwarmReferenceOnly:
}
}
CATEGORY = "StableSwarmUI/sampling"
CATEGORY = "SwarmUI/sampling"
RETURN_TYPES = ("MODEL", "LATENT")
FUNCTION = "reference_only"

View File

@@ -16,7 +16,7 @@ class SwarmSaveImageWS:
}
}
CATEGORY = "StableSwarmUI/images"
CATEGORY = "SwarmUI/images"
RETURN_TYPES = ()
FUNCTION = "save_images"
OUTPUT_NODE = True
@@ -52,7 +52,7 @@ class SwarmSaveAnimatedWebpWS:
},
}
CATEGORY = "StableSwarmUI/video"
CATEGORY = "SwarmUI/video"
RETURN_TYPES = ()
FUNCTION = "save_images"
OUTPUT_NODE = True

View File

@@ -17,7 +17,7 @@ class SwarmClipTextEncodeAdvanced:
}
}
CATEGORY = "StableSwarmUI/clip"
CATEGORY = "SwarmUI/clip"
RETURN_TYPES = ("CONDITIONING",)
FUNCTION = "encode"

View File

@@ -36,7 +36,7 @@ class SwarmModelTiling:
}
}
CATEGORY = "StableSwarmUI/sampling"
CATEGORY = "SwarmUI/sampling"
RETURN_TYPES = ("MODEL",)
FUNCTION = "adapt"
@@ -63,7 +63,7 @@ class SwarmTileableVAE:
}
}
CATEGORY = "StableSwarmUI/sampling"
CATEGORY = "SwarmUI/sampling"
RETURN_TYPES = ("VAE",)
FUNCTION = "adapt"

View File

@@ -18,7 +18,7 @@ class SwarmUnsampler:
}
}
CATEGORY = "StableSwarmUI/sampling"
CATEGORY = "SwarmUI/sampling"
RETURN_TYPES = ("LATENT",)
FUNCTION = "unsample"

View File

@@ -12,7 +12,7 @@ class SwarmRemBg:
}
}
CATEGORY = "StableSwarmUI/images"
CATEGORY = "SwarmUI/images"
RETURN_TYPES = ("IMAGE", "MASK",)
FUNCTION = "rem"

View File

@@ -25,7 +25,7 @@ class SwarmSaveAnimationWS:
},
}
CATEGORY = "StableSwarmUI/video"
CATEGORY = "SwarmUI/video"
RETURN_TYPES = ()
FUNCTION = "save_images"
OUTPUT_NODE = True

View File

@@ -14,7 +14,7 @@ class SwarmYoloDetection:
},
}
CATEGORY = "StableSwarmUI/masks"
CATEGORY = "SwarmUI/masks"
RETURN_TYPES = ("MASK",)
FUNCTION = "seg"

View File

@@ -1,8 +1,8 @@
# ComfyUI Backend Extension For StableSwarmUI
# ComfyUI Backend Extension For SwarmUI
This extension enables the use of [ComfyUI](https://github.com/comfyanonymous/ComfyUI) as a backend provider for StableSwarmUI.
This extension enables the use of [ComfyUI](https://github.com/comfyanonymous/ComfyUI) as a backend provider for SwarmUI.
Among other benefits, this enables you to use custom ComfyUI-API workflow files within StableSwarmUI.
Among other benefits, this enables you to use custom ComfyUI-API workflow files within SwarmUI.
You can also view the ComfyUI node graph and work with custom workflows directly in the UI when any comfy backend is enabled.
@@ -14,24 +14,24 @@ You can also view the ComfyUI node graph and work with custom workflows directly
### Installation (Self-Start)
- First: Have a valid ComfyUI install. The StableSwarmUI installer automatically provides you one (if not disabled) as `dlbackend/comfy/ComfyUI/main.py`.
- First: Have a valid ComfyUI install. The SwarmUI installer automatically provides you one (if not disabled) as `dlbackend/comfy/ComfyUI/main.py`.
- Go to `Server` -> `Backends`, and click `ComfyUI Self-Starting`, and fill in the `StartScript` path as above. Other values can be left default or configured to your preference.
- Save the backend, and it should just work.
### Installation (API)
- First: have a valid and working ComfyUI installation.
- Make sure it uses the exact same model paths as your StableSwarmUI instance does. This means that if you have eg `OfficialStableDiffusion/sd_xl_base_1.0.safetensors` in Swarm, you need have *EXACTLY* that in ComfyUI. The only exception is Windows paths that use `\` instead of `/` are fine, Swarm will automatically correct for that (If you use Self-Start, this is automatically managed from your Swarm settings).
- Make sure it uses the exact same model paths as your SwarmUI instance does. This means that if you have eg `OfficialStableDiffusion/sd_xl_base_1.0.safetensors` in Swarm, you need have *EXACTLY* that in ComfyUI. The only exception is Windows paths that use `\` instead of `/` are fine, Swarm will automatically correct for that (If you use Self-Start, this is automatically managed from your Swarm settings).
- Note that swarm may leave stray Input or Output images in the ComfyUI folder that you may wish to clean up (if you use Self-Start, this will be prevented automatically).
- Swarm provides extra Comfy nodes automatically to Self-Start ComfyUI instances from folders within the ComfyUI extension folder, including `DLNodes` and `ExtraNodes` - it is highly recommended you copy these to your remote Comfy's `custom_nodes` path.
### Basic Usage Within StableSwarmUI
### Basic Usage Within SwarmUI
(TODO)
### Using Workflows In The UI
(TODO): explain the Node tab and how to use it within StableSwarmUI, link out to Comfy docs for usage of the node editor itself.
(TODO): explain the Node tab and how to use it within SwarmUI, link out to Comfy docs for usage of the node editor itself.
- When using a custom workflow in the main Generate tab:
- Default nodes (KSampler, LoadCheckpoint, etc) will automatically detect and link to standard Swarm workflows.

View File

@@ -423,7 +423,7 @@ public class WorkflowGenerator
{
return CreateNode("SaveImage", new JObject()
{
["filename_prefix"] = $"StableSwarmUI_{Random.Shared.Next():X4}_",
["filename_prefix"] = $"SwarmUI_{Random.Shared.Next():X4}_",
["images"] = image
}, id);
}

View File

@@ -1,6 +1,6 @@
# Dynamic Thresholding
StableSwarmUI extension that implements support for [Dynamic Thresholding](https://github.com/mcmonkeyprojects/sd-dynamic-thresholding), built in by default to Swarm.
SwarmUI extension that implements support for [Dynamic Thresholding](https://github.com/mcmonkeyprojects/sd-dynamic-thresholding), built in by default to Swarm.
Dynamic Thresholding is a technique that allows for generating at very large CFG Scale values without the image burning.

View File

@@ -465,7 +465,7 @@ class GridGenClass {
</div>
<div class="hoverable-minor-hint-text">
When using numbered parameters, you can type for example "<code>1, 2, .., 10</code>" to automatically have the "<code>..</code>" part filled in.
&emsp;You can prefix any value with "<code>SKIP:</code>" (in all caps) to automatically skip that value (but keep it listed in the grid).&emsp;<a href="https://github.com/Stability-AI/StableSwarmUI/blob/master/src/BuiltinExtensions/GridGenerator/README.md" target="_blank">Full README/docs here</a>
&emsp;You can prefix any value with "<code>SKIP:</code>" (in all caps) to automatically skip that value (but keep it listed in the grid).&emsp;<a href="https://github.com/mcmonkeyprojects/SwarmUI/blob/master/src/BuiltinExtensions/GridGenerator/README.md" target="_blank">Full README/docs here</a>
</div>`;
this.mainDiv.appendChild(this.settingsDiv);
this.mainDiv.appendChild(this.axisDiv);

View File

@@ -12,8 +12,8 @@ using SixLabors.Fonts;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Drawing.Processing;
using static StableSwarmUI.Builtin_GridGeneratorExtension.GridGenCore;
using Image = StableSwarmUI.Utils.Image;
using static SwarmUI.Builtin_GridGeneratorExtension.GridGenCore;
using Image = SwarmUI.Utils.Image;
using ISImage = SixLabors.ImageSharp.Image;
using ISImageRGBA = SixLabors.ImageSharp.Image<SixLabors.ImageSharp.PixelFormats.Rgba32>;
@@ -29,8 +29,8 @@ public class GridGeneratorExtension : Extension
ScriptFiles.Add("Assets/grid_gen.js");
StyleSheetFiles.Add("Assets/grid_gen.css");
ASSETS_DIR = $"{FilePath}/Assets";
EXTRA_FOOTER = $"Images area auto-generated by an AI (Stable Diffusion) and so may not have been reviewed by the page author before publishing.\n<script src=\"stableswarmui_gridgen_local.js?vary={Utilities.VaryID}\"></script>";
EXTRA_ASSETS.Add("stableswarmui_gridgen_local.js");
EXTRA_FOOTER = $"Images area auto-generated by an AI (Stable Diffusion) and so may not have been reviewed by the page author before publishing.\n<script src=\"swarmui_gridgen_local.js?vary={Utilities.VaryID}\"></script>";
EXTRA_ASSETS.Add("swarmui_gridgen_local.js");
PromptReplaceParameter = T2IParamTypes.Register<string>(new("[Grid Gen] Prompt Replace", "Replace text in the prompt (or negative prompt) with some other text.",
"", VisibleNormally: false, AlwaysRetain: true, Toggleable: true, ChangeWeight: -6, ParseList: (list) =>
{
@@ -118,7 +118,7 @@ public class GridGeneratorExtension : Extension
GridRunnerPostDryHook = (runner, param, set) =>
{
param.ApplySpecialLogic();
StableSwarmUIGridData data = runner.Grid.LocalData as StableSwarmUIGridData;
SwarmUIGridData data = runner.Grid.LocalData as SwarmUIGridData;
if (data.Claim.ShouldCancel)
{
Logs.Debug("Grid gen hook cancelling per user interrupt request.");
@@ -219,7 +219,7 @@ public class GridGeneratorExtension : Extension
};
PostPreprocessCallback = (runner) =>
{
StableSwarmUIGridData data = runner.Grid.LocalData as StableSwarmUIGridData;
SwarmUIGridData data = runner.Grid.LocalData as SwarmUIGridData;
data.Claim.Extend(runner.TotalRun, 0, 0, 0);
data.AddOutput(BasicAPIFeatures.GetCurrentStatusRaw(data.Session));
if (data.SaveConfig is not null && runner.Grid.OutputType == Grid.OutputyTypeEnum.WEB_PAGE)
@@ -295,7 +295,7 @@ public class GridGeneratorExtension : Extension
public List<string> Replacements = [];
}
public class StableSwarmUIGridData
public class SwarmUIGridData
{
public List<Task> Rendering = [];
@@ -409,7 +409,7 @@ public class GridGeneratorExtension : Extension
baseParams.Remove(T2IParamTypes.Images);
baseParams.Remove(T2IParamTypes.SaveIntermediateImages);
await sendStatus();
StableSwarmUIGridData data = new()
SwarmUIGridData data = new()
{
Session = session,
Claim = claim,

View File

@@ -1,6 +1,6 @@
# Grid Generator Extension
Infinite-dimensional multi-axis image grid generator tool for StableSwarmUI.
Infinite-dimensional multi-axis image grid generator tool for SwarmUI.
### Concept
@@ -38,6 +38,6 @@ Operates as a "Tool" within the "Tools" UI, built into Swarm by default as an of
### History
The first version of this tool was [Infinity Grid Generator for Automatic1111's Stable-Diffusion-WebUI](https://github.com/mcmonkeyprojects/sd-infinity-grid-generator-script). It has a very special place in my heart as it was used by Stability employees, which was a key factor that led to me (Alex "mcmonkey" Goodwin) getting hired by Stability, and being given the opportunity to build bigger-and-better tools like StableSwarmUI!
The first version of this tool was [Infinity Grid Generator for Automatic1111's Stable-Diffusion-WebUI](https://github.com/mcmonkeyprojects/sd-infinity-grid-generator-script). It has a very special place in my heart as it was used by Stability employees, which was a key factor that led to me (Alex "mcmonkey" Goodwin) getting hired by Stability, and being given the opportunity to build bigger-and-better tools like SwarmUI!
That version had custom config files to enable added metadata (titles, descriptions, etc) for grid axis values - this will eventually be reimplemented to the Swarm version.

View File

@@ -374,7 +374,7 @@ public class Program
Extension extension = Activator.CreateInstance(extType) as Extension;
extension.ExtensionName = extType.Name;
Extensions.Add(extension);
string[] possible = extType.Namespace.StartsWith("StableSwarmUI.") ? builtins : extras;
string[] possible = extType.Namespace.StartsWith("SwarmUI.") ? builtins : extras;
foreach (string path in possible)
{
if (File.Exists($"src/{path}/{extType.Name}.cs"))

View File

@@ -209,7 +209,7 @@ public class Settings : AutoConfiguration
public class OutPath : AutoConfiguration
{
[ConfigComment("Builder for output file paths. Can use auto-filling placeholders like '[model]' for the model name, '[prompt]' for a snippet of prompt text, etc.\n"
+ $"Full details in <a target=\"_blank\" href=\"{Utilities.RepoDocsRoot}/User%20Settings.md#path-format\">the docs here</a>")]
+ $"Full details in <a target=\"_blank\" href=\"{Utilities.RepoDocsRoot}User%20Settings.md#path-format\">the docs here</a>")]
public string Format = "raw/[year]-[month]-[day]/[hour][minute]-[prompt]-[model]-[seed]";
[ConfigComment("How long any one part can be.\nDefault is 40 characters.")]
@@ -325,7 +325,7 @@ public class Settings : AutoConfiguration
public override string[] GetOptions => ["", .. AutoCompleteListHelper.FileNames];
}
[ConfigComment($"Optional source file for auto-completion texts (inside Data/Autocompletions).\nSee <a target=\"_blank\" href=\"{Utilities.RepoDocsRoot}/Features/Autocompletions.md#word-lists\">docs/Features/Autocompletions</a> for info.")]
[ConfigComment($"Optional source file for auto-completion texts (inside Data/Autocompletions).\nSee <a target=\"_blank\" href=\"{Utilities.RepoDocsRoot}Features/Autocompletions.md#word-lists\">docs/Features/Autocompletions</a> for info.")]
[SettingsOptions(Impl = typeof(AutocompletionsImpl))]
public string AutoCompletionsSource = "";
}

View File

@@ -1,6 +1,6 @@
@page
@{
ViewData["Title"] = "StableSwarmUI Installer";
ViewData["Title"] = "SwarmUI Installer";
}
@section Header {
<link rel="stylesheet" href="/css/installer.css?vary=@Utilities.VaryID" />
@@ -17,7 +17,7 @@
}
<div class="headline">
<h1>StableSwarmUI Installer</h1>
<h1>SwarmUI Installer</h1>
<span class="auto-input-name translate">Language</span>
<ul class="nav" style="display:inline-block" role="tablist">
<li class="nav-item dropdown">
@@ -47,7 +47,7 @@
All Stable Diffusion models are subject to licensing defined by Stability AI and/or the model creator.
Generally all are free for personal usage, but commercial usage may come under restrictions.
For example, the SDXL 1.0 Base license can be found <a href="https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENSE.md">Here</a>.
<br>StableSwarmUI itself is free for personal usage as well, and licensing specifics can be found <a href="https://github.com/Stability-AI/StableSwarmUI/blob/master/LICENSE.txt">Here</a>.
<br>SwarmUI itself is free for personal usage as well, and licensing specifics can be found <a href="https://github.com/mcmonkeyprojects/SwarmUI/blob/master/LICENSE.txt">Here</a>.
<br>By using this software you agree to follow its license and the applicable licenses of any models included or separately downloaded.
</div>
@@ -137,7 +137,7 @@
</div>
<div id="installer_section_installed_for" style="display: none;">
<div class="install_q_head">Who is this StableSwarmUI installation going to be used by?</div>
<div class="install_q_head">Who is this SwarmUI installation going to be used by?</div>
<div class="install_hint">This is to determine a preset of core settings. You can always change this later.</div>
<br>
<fieldset class="form-group" id="installed_for_selection_field">
@@ -172,10 +172,10 @@
<div class="modal-body">
Generally, you want a GPU with at least 8 GiB of VRAM to run properly. More is better. If you have at least 4, you'll be able to run SDv1 with lowered settings, but SDXL may be out of reach.
<br>&bullet; An Nvidia RTX 20-series or newer is recommended, though some older cards can still work.
<br>&bullet; AMD GPUs should work, but are not currently correctly scanned by StableSwarmUI.
<br>&bullet; AMD GPUs should work, but are not currently correctly scanned by SwarmUI.
<br>&bullet; Intel or Mac GPUs may work, but will require special configuration that this installer does not yet perform for you.
<br>&bullet; CPU execution is possible, but is extremely slow and not recommended.
<br>&bullet; If you have multiple GPUs, StableSwarmUI can use all of them. You will have to configure this manually in the Server Backends settings page later.
<br>&bullet; If you have multiple GPUs, SwarmUI can use all of them. You will have to configure this manually in the Server Backends settings page later.
<hr>
You have: @WebUtil.CheckGPUIsSufficient()
</div>
@@ -253,7 +253,7 @@
<br>&bullet; Backend: <span class="final_confirm_info" id="backend_val_info"></span>
<br>&bullet; Model: <span class="final_confirm_info" id="model_val_info"></span>
<br>Are you sure this is all correct?
<div class="install_hint">This is your last chance to go back and change before installing. If you want to change your choices later, there's a settings menu available within StableSwarmUI, and models can be downloaded any time you wish and put in the models folder.</div>
<div class="install_hint">This is your last chance to go back and change before installing. If you want to change your choices later, there's a settings menu available within SwarmUI, and models can be downloaded any time you wish and put in the models folder.</div>
<br><button id="installer_button_confirm" class="btn btn-primary basic-button" autocomplete="off">Yes, I'm sure (Install Now)</button>
<div class="install_output" id="install_output"></div>
<div class="install_output" id="install_progress_spot"></div>

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - StableSwarmUI</title>
<title>@ViewData["Title"] - SwarmUI</title>
@{
string themeId = "modern_dark";
// TODO: Identify user by auth header and use their settings to determine theme
@@ -39,6 +39,6 @@
@RenderBody()
<script src="/js/site.js?vary=@Utilities.VaryID"></script>
@RenderSection("Scripts", required: false)
<div id="version_display" class="version-display">StableSwarmUI v<span>@Utilities.Version</span><span> (@Program.CurrentGitDate)</span></div>
<div id="version_display" class="version-display">SwarmUI v<span>@Utilities.Version</span><span> (@Program.CurrentGitDate)</span></div>
</body>
</html>

View File

@@ -240,7 +240,7 @@
<h5>Format:</h5>
<div class="btn-group" role="group">
<input type="radio" class="btn-check" name="btnradio" id="export_preset_format_json" autocomplete="off" checked="" onchange="exportPresetsButton()">
<label class="btn btn-outline-primary translate" for="export_preset_format_json">StableSwarmUI JSON</label>
<label class="btn btn-outline-primary translate" for="export_preset_format_json">SwarmUI JSON</label>
<input type="radio" class="btn-check" name="btnradio" id="export_preset_format_csv" autocomplete="off" onchange="exportPresetsButton()">
<label class="btn btn-outline-primary translate" for="export_preset_format_csv">Prompt only CSV</label>
</div>
@@ -616,7 +616,7 @@
<div class="card-header translate">Stability API Key</div>
<div class="card-body">
<p class="card-text translate">
To use the Stability API in StableSwarmUI, you must set your key.
To use the Stability API in SwarmUI, you must set your key.
<br>To get your key, <a href="https://platform.stability.ai/account/keys" target="_blank" rel="noreferrer noopener">go here</a>.
<br>
<br>Once you have your key, enter it below and click save:
@@ -709,7 +709,7 @@
<div class="card-header translate">Server</div>
<div class="card-body">
<p class="card-text">
The "Server" tab provides access to StableSwarmUI's server internals, including:
The "Server" tab provides access to SwarmUI's server internals, including:
<br>&bullet; The <a href="#Settings-Backends" onclick="getRequiredElementById('serverbackendstabbutton').click()">Backends</a> tab, which allows you to configure and manage backends (the underlying engines that provide the generation core, or remote instances of swarm this instance is connected to)
<br>&bullet; The <a href="#Settings-Server" onclick="getRequiredElementById('serverconfigtabbutton').click()">Server Configuration</a> tab, which allows you to configure and manage Swarm's settings (such as models directory, server host port, etc)
<br>&bullet; The <a href="#Server-Logs" onclick="getRequiredElementById('logtabbutton').click()">Logs</a> tab, which allows you to view the server logs (eg if you get an error, check Logs -&gt; Debug)
@@ -771,7 +771,7 @@
<div class="card-header">DotNET @Utilities.DotNetVersMissing Missing</div>
<div class="card-body">
<p id="dotnet_missing_message" class="card-text">
You do not seem to have DotNET @Utilities.DotNetVersMissing installed - this will be required in a future version of StableSwarmUI.
You do not seem to have DotNET @Utilities.DotNetVersMissing installed - this will be required in a future version of SwarmUI.
<br>Please install DotNET SDK @(Utilities.DotNetVersMissing).0 from <a href="https://dotnet.microsoft.com/en-us/download/dotnet/@(Utilities.DotNetVersMissing).0">https://dotnet.microsoft.com/en-us/download/dotnet/@(Utilities.DotNetVersMissing).0</a>
</p>
</div>

View File

@@ -5,7 +5,7 @@ using SixLabors.ImageSharp.Processing;
using SwarmUI.Accounts;
using SwarmUI.Utils;
using ISImage = SixLabors.ImageSharp.Image;
using Image = StableSwarmUI.Utils.Image;
using Image = SwarmUI.Utils.Image;
using SixLabors.ImageSharp.PixelFormats;
using System;

View File

@@ -524,7 +524,7 @@ public class T2IParamTypes
NoPreviews = Register<bool>(new("No Previews", "If checked, tells the server that previews are not desired.\nMay make generations slightly faster in some cases.",
"false", IgnoreIf: "false", IsAdvanced: true, Group: GroupSwarmInternal, AlwaysRetain: true, OrderPriority: -14
));
BackendType = Register<string>(new("[Internal] Backend Type", "Which StableSwarmUI backend type should be used for this request.",
BackendType = Register<string>(new("[Internal] Backend Type", "Which SwarmUI backend type should be used for this request.",
"Any", IgnoreIf: "Any", GetValues: (_) => ["Any", .. Program.Backends.BackendTypes.Keys],
IsAdvanced: true, Permission: "param_backend_type", Group: GroupSwarmInternal, AlwaysRetain: true, OrderPriority: -10
));

View File

@@ -60,11 +60,11 @@ public static class Utilities
}
}
/// <summary>StableSwarmUI's current version.</summary>
/// <summary>SwarmUI's current version.</summary>
public static readonly string Version = Assembly.GetEntryAssembly()?.GetName().Version.ToString();
/// <summary>URL to where the documentation files start.</summary>
public const string RepoDocsRoot = "https://github.com/Stability-AI/StableSwarmUI/blob/master/docs/";
public const string RepoDocsRoot = "https://github.com/mcmonkeyprojects/SwarmUI/blob/master/docs/";
/// <summary>Current git commit (if known -- empty if unknown).</summary>
public static string GitCommit = "";
@@ -734,7 +734,7 @@ public static class Utilities
{
void Warn()
{
Logs.Warning($"You do not seem to have DotNET {vers} installed - this will be required in a future version of StableSwarmUI.");
Logs.Warning($"You do not seem to have DotNET {vers} installed - this will be required in a future version of SwarmUI.");
Logs.Warning($"Please install DotNET SDK {vers}.0 from https://dotnet.microsoft.com/en-us/download/dotnet/{vers}.0");
}
DotNetVersMissing = vers;

View File

@@ -220,7 +220,7 @@ public class API
(StringBuilder docText, StringBuilder toc) = docs.GetOrCreate(type.Name, () => (new(), new()));
if (docText.Length == 0)
{
docText.Append($"# StableSwarmUI API Documentation - {type.Name}\n\n> This is a subset of the API docs, see [/docs/API.md](/docs/API.md) for general info.\n\n");
docText.Append($"# SwarmUI API Documentation - {type.Name}\n\n> This is a subset of the API docs, see [/docs/API.md](/docs/API.md) for general info.\n\n");
docText.Append(type.GetCustomAttribute<APIClassAttribute>()?.Description ?? "(CLASS DESCRIPTION NOT SET)");
docText.Append("\n\n#### Table of Contents:\n\n!!!TABLE_OF_CONTENTS!!!\n");
}

View File

@@ -5,7 +5,7 @@ using SwarmUI.DataHolders;
using System;
using System.Net.WebSockets;
using System.Reflection;
using static StableSwarmUI.DataHolders.DataHolderHelper;
using static SwarmUI.DataHolders.DataHolderHelper;
namespace SwarmUI.WebAPI;

View File

@@ -14,7 +14,7 @@ using System.IO;
using System.Linq;
using System.Net.WebSockets;
using System.Runtime.InteropServices;
using Image = StableSwarmUI.Utils.Image;
using Image = SwarmUI.Utils.Image;
using ISImage = SixLabors.ImageSharp.Image;
using ISImageRGBA = SixLabors.ImageSharp.Image<SixLabors.ImageSharp.PixelFormats.Rgba32>;