diff --git a/comfy-nodes/outerport_load_model.py b/comfy-nodes/outerport_load_model.py new file mode 100644 index 0000000..e7acbe5 --- /dev/null +++ b/comfy-nodes/outerport_load_model.py @@ -0,0 +1,39 @@ +import folder_paths +from PIL import Image, ImageOps +import numpy as np +import torch +import folder_paths +from tqdm import tqdm + +class AnyType(str): + def __ne__(self, __value: object) -> bool: + return False + + +WILDCARD = AnyType("*") + + +class OuterPortLoadModel: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "ckpt_name": (folder_paths.get_filename_list("checkpoints"), {"tooltip": "The name of the checkpoint (model) to load."}), + } + } + RETURN_TYPES = ("MODEL", "CLIP", "VAE") + OUTPUT_TOOLTIPS = ("The model used for denoising latents.", + "The CLIP model used for encoding text prompts.", + "The VAE model used for encoding and decoding images to and from latent space.") + FUNCTION = "load_checkpoint" + + CATEGORY = "loaders" + DESCRIPTION = "Loads a diffusion model checkpoint, diffusion models are used to denoise latents." + + def load_checkpoint(self, ckpt_name): + ckpt_path = folder_paths.get_full_path("checkpoints", ckpt_name) + out = comfy.sd.load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) + return out[:3] + +NODE_CLASS_MAPPINGS = {"OuterPortLoadModel": OuterPortLoadModel} +NODE_DISPLAY_NAME_MAPPINGS = {"OuterPortLoadModel": "Outer Port Load Model"}