99 lines
3.0 KiB
Python
99 lines
3.0 KiB
Python
import os
|
|
import sys
|
|
from .mz_stylize_photo_utils import Utils
|
|
from nodes import MAX_RESOLUTION
|
|
import comfy.utils
|
|
import shutil
|
|
import folder_paths
|
|
import comfy.samplers
|
|
|
|
|
|
AUTHOR_NAME = u"MinusZone"
|
|
CATEGORY_NAME = f"{AUTHOR_NAME} - StylizePhoto"
|
|
|
|
sys.path.append(os.path.join(os.path.dirname(__file__)))
|
|
|
|
import importlib
|
|
|
|
|
|
NODE_CLASS_MAPPINGS = {
|
|
}
|
|
|
|
|
|
NODE_DISPLAY_NAME_MAPPINGS = {
|
|
}
|
|
|
|
|
|
|
|
import importlib
|
|
import mz_stylize_photo_core
|
|
class MZ_StylizePhotoKSamplerNode:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
STYLE_TYPE = [
|
|
"clay.v1"
|
|
]
|
|
return {
|
|
"required":{
|
|
"xl_ckpt_name": (["none"] + folder_paths.get_filename_list("checkpoints"),),
|
|
"image": ("IMAGE",),
|
|
"resolution": ("INT", {"default": 1024, "min": -1, "max": MAX_RESOLUTION}),
|
|
"style_type": (STYLE_TYPE,),
|
|
"seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}),
|
|
"steps": ("INT", {"default": 35, "min": 1, "max": 10000}),
|
|
"cfg": ("FLOAT", {"default": 5.5, "min": 0.0, "max": 100.0, "step":0.1, "round": 0.01}),
|
|
"denoise": ("FLOAT", {"default": 0.75, "min": 0.0, "max": 1.0, "step": 0.01}),
|
|
"positive_prompt": ("STRING", {"default": ""}),
|
|
"negative_prompt": ("STRING", {"default": ""}),
|
|
"watermark": ("STRING", {"default": "ComfyUI\nGenerated by AI", "multiline": True}),
|
|
},
|
|
"optional":{
|
|
"model": ("MODEL",),
|
|
"clip": ("CLIP",),
|
|
"vae": ("VAE",),
|
|
"control_net": ("StylizePhoto_CONTROL_NET",),
|
|
},
|
|
}
|
|
|
|
RETURN_TYPES = ("IMAGE",)
|
|
FUNCTION = "ksampler"
|
|
|
|
CATEGORY = CATEGORY_NAME
|
|
|
|
|
|
def ksampler(self, **kwargs):
|
|
importlib.reload(mz_stylize_photo_core)
|
|
return mz_stylize_photo_core.ksampler(kwargs)
|
|
|
|
|
|
|
|
NODE_CLASS_MAPPINGS["MZ_StylizePhotoKSamplerNode"] = MZ_StylizePhotoKSamplerNode
|
|
NODE_DISPLAY_NAME_MAPPINGS["MZ_StylizePhotoKSamplerNode"] = f"{AUTHOR_NAME} - StylizePhotoKSampler"
|
|
|
|
|
|
class MZ_StylizePhotoControlNetApply:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
importlib.reload(mz_stylize_photo_core)
|
|
required = {}
|
|
for key, _ in mz_stylize_photo_core.CONTROLNET_TYPES.items():
|
|
required[
|
|
f"{key}_control_net_name"
|
|
] = (["none"] + folder_paths.get_filename_list("controlnet"),)
|
|
|
|
|
|
return {"required": required}
|
|
|
|
RETURN_TYPES = ("StylizePhoto_CONTROL_NET",)
|
|
RETURN_NAMES = ("control_net",)
|
|
FUNCTION = "load_controlnet"
|
|
CATEGORY = CATEGORY_NAME
|
|
|
|
def load_controlnet(self, **kwargs):
|
|
importlib.reload(mz_stylize_photo_core)
|
|
return mz_stylize_photo_core.load_controlnet(kwargs)
|
|
|
|
|
|
|
|
NODE_CLASS_MAPPINGS["MZ_StylizePhotoControlNetApply"] = MZ_StylizePhotoControlNetApply
|
|
NODE_DISPLAY_NAME_MAPPINGS["MZ_StylizePhotoControlNetApply"] = f"{AUTHOR_NAME} - StylizePhotoControlNetApply" |