Merge pull request #7 from Mohamad-Stability/V2_updates

Fast upscale, Style, Search and Recolor, and added key override for BG rem
This commit is contained in:
Nitrosocke
2025-02-21 17:01:52 +01:00
committed by GitHub
2 changed files with 62 additions and 5 deletions
+5 -2
View File
@@ -1,4 +1,4 @@
from .stability_api import StabilityConservativeUpscale, StabilityCreativeUpscale, StabilityRemoveBackground, StabilityInpainting, StabilityErase, StabilityCore, StabilityImageUltra, StabilitySearchAndReplace, StabilityOutpainting, StabilitySD3, StabilityControlSketch, StabilityControlStructure
from .stability_api import StabilityConservativeUpscale, StabilityCreativeUpscale, StabilityRemoveBackground, StabilityInpainting, StabilityErase, StabilityCore, StabilityImageUltra, StabilitySearchAndReplace, StabilityOutpainting, StabilitySD3, StabilityControlSketch, StabilityControlStructure, StabilityFastUpscale, StabilityStyle, StabilitySearchAndRecolor
NODE_CLASS_MAPPINGS = {
"Stability Conservative Upscale": StabilityConservativeUpscale,
@@ -11,6 +11,9 @@ NODE_CLASS_MAPPINGS = {
"Stability Search and Replace": StabilitySearchAndReplace,
"Stability Outpainting": StabilityOutpainting,
"Stability SD3": StabilitySD3,
"Stability Control Skech": StabilityControlSketch,
"Stability Control Sketch": StabilityControlSketch,
"Stability Control Structure": StabilityControlStructure,
"Stability Fast Upscale": StabilityFastUpscale,
"Stability Style": StabilityStyle,
"Stability Search and Recolor": StabilitySearchAndRecolor,
}
+57 -3
View File
@@ -52,8 +52,9 @@ class StabilityBase:
image = kwargs.get('image', None)
if image is not None:
kwargs["mode"] = "image-to-image"
kwargs.pop("aspect_ratio", None)
if self.API_ENDPOINT != "stable-image/control/style":
kwargs["mode"] = "image-to-image"
kwargs.pop("aspect_ratio", None)
image = ToPILImage()(image.squeeze(0).permute(2,0,1))
image.save(buffered, format="PNG")
files = self._get_files(buffered, **kwargs)
@@ -222,6 +223,10 @@ class StabilityRemoveBackground(StabilityBase):
"required": {
"image": ("IMAGE",),
},
"optional": {
"output_format": (["png", "webp"],),
"api_key_override": ("STRING", {"multiline": False}),
}
}
@@ -304,7 +309,7 @@ class StabilitySD3(StabilityBase):
ACCEPT = "image/*"
INPUT_SPEC = {
"required": {
"model": (["sd3", "sd3-turbo"],),
"model": (["sd3.5-large", "sd3.5-large-turbo", "sd3.5-medium", "sd3-large", "sd3-large-turbo", "sd3-medium"],),
"prompt": ("STRING", {"multiline": True}),
},
"optional": {
@@ -372,3 +377,52 @@ class StabilityControlStructure(StabilityBase):
"api_key_override": ("STRING", {"multiline": False}),
},
}
class StabilityFastUpscale(StabilityBase):
API_ENDPOINT = "stable-image/upscale/fast"
ACCEPT = "image/*"
INPUT_SPEC = {
"required": {
"image": ("IMAGE",),
},
"optional": {
"output_format": (["png", "webp", "jpeg"],),
"api_key_override": ("STRING", {"multiline": False}),
}
}
class StabilityStyle(StabilityBase):
API_ENDPOINT = "stable-image/control/style"
ACCEPT = "image/*"
INPUT_SPEC = {
"required": {
"image": ("IMAGE",),
"prompt": ("STRING", {"multiline": True}),
},
"optional": {
"negative_prompt": ("STRING", {"multiline": True}),
"aspect_ratio": (["16:9", "1:1", "21:9", "2:3", "3:2", "4:5", "5:4", "9:16", "9:21"],),
"fidelity": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01}),
"seed": ("INT", {"default": 0, "min": 0, "max": 4294967294}),
"output_format": (["png", "webp", "jpeg"],),
"api_key_override": ("STRING", {"multiline": False}),
}
}
class StabilitySearchAndRecolor(StabilityBase):
API_ENDPOINT = "stable-image/edit/search-and-recolor"
ACCEPT = "image/*"
INPUT_SPEC = {
"required": {
"image": ("IMAGE",),
"select_prompt": ("STRING", {"multiline": True}),
"prompt": ("STRING", {"multiline": True}),
},
"optional": {
"negative_prompt": ("STRING", {"multiline": True}),
"grow_mask": ("INT", {"default": 3, "min": 0, "max": 20}),
"seed": ("INT", {"default": 0, "min": 0, "max": 4294967294}),
"output_format": (["png", "webp", "jpeg"],),
"api_key_override": ("STRING", {"multiline": False}),
}
}