Spaces:
Configuration error
Configuration error
import os | |
import folder_paths | |
import comfy.sd | |
import comfy.diffusers_load | |
from .tokenizer import MiaoBiTokenizer | |
class MiaoBiCLIPLoader: | |
def INPUT_TYPES(s): | |
return { | |
"required": { | |
"clip_name": (folder_paths.get_filename_list("clip"),), | |
} | |
} | |
RETURN_TYPES = ("CLIP",) | |
FUNCTION = "load_mbclip" | |
CATEGORY = "ExtraModels/MiaoBi" | |
TITLE = "MiaoBi CLIP Loader" | |
def load_mbclip(self, clip_name): | |
clip_type = comfy.sd.CLIPType.STABLE_DIFFUSION | |
clip_path = folder_paths.get_full_path("clip", clip_name) | |
clip = comfy.sd.load_clip( | |
ckpt_paths=[clip_path], | |
embedding_directory=folder_paths.get_folder_paths("embeddings"), | |
clip_type=clip_type | |
) | |
# override tokenizer | |
clip.tokenizer.clip_l = MiaoBiTokenizer() | |
return (clip,) | |
class MiaoBiDiffusersLoader: | |
def INPUT_TYPES(cls): | |
paths = [] | |
for search_path in folder_paths.get_folder_paths("diffusers"): | |
if os.path.exists(search_path): | |
for root, subdir, files in os.walk(search_path, followlinks=True): | |
if "model_index.json" in files: | |
paths.append(os.path.relpath(root, start=search_path)) | |
return { | |
"required": { | |
"model_path": (paths,), | |
} | |
} | |
RETURN_TYPES = ("MODEL", "CLIP", "VAE") | |
FUNCTION = "load_mbcheckpoint" | |
CATEGORY = "ExtraModels/MiaoBi" | |
TITLE = "MiaoBi Checkpoint Loader (Diffusers)" | |
def load_mbcheckpoint(self, model_path, output_vae=True, output_clip=True): | |
for search_path in folder_paths.get_folder_paths("diffusers"): | |
if os.path.exists(search_path): | |
path = os.path.join(search_path, model_path) | |
if os.path.exists(path): | |
model_path = path | |
break | |
unet, clip, vae = comfy.diffusers_load.load_diffusers( | |
model_path, | |
output_vae = output_vae, | |
output_clip = output_clip, | |
embedding_directory = folder_paths.get_folder_paths("embeddings") | |
) | |
# override tokenizer | |
clip.tokenizer.clip_l = MiaoBiTokenizer() | |
return (unet, clip, vae) | |
NODE_CLASS_MAPPINGS = { | |
"MiaoBiCLIPLoader": MiaoBiCLIPLoader, | |
"MiaoBiDiffusersLoader": MiaoBiDiffusersLoader, | |
} |