|
3 | 3 |
|
4 | 4 | from .PixArt.loader import load_pixart_state_dict |
5 | 5 | from .Sana.loader import load_sana_state_dict |
| 6 | +from .text_encoders.tenc import load_text_encoder, tenc_names |
6 | 7 |
|
7 | 8 | loaders = { |
8 | 9 | "PixArt": load_pixart_state_dict, |
@@ -31,6 +32,39 @@ def load_unet(self, unet_name, model_type): |
31 | 32 | sd = comfy.utils.load_torch_file(unet_path) |
32 | 33 | return (loader_fn(sd),) |
33 | 34 |
|
| 35 | +class EXMCLIPLoader: |
| 36 | + @classmethod |
| 37 | + def INPUT_TYPES(s): |
| 38 | + files = [] |
| 39 | + files += folder_paths.get_filename_list("clip") |
| 40 | + # if "clip_gguf" in folder_paths.folder_names_and_paths: |
| 41 | + # files += folder_paths.get_filename_list("clip_gguf") |
| 42 | + return { |
| 43 | + "required": { |
| 44 | + "clip_name": (files, ), |
| 45 | + "type": (["PixArt", "MiaoBi", "Sana"],), |
| 46 | + } |
| 47 | + } |
| 48 | + |
| 49 | + RETURN_TYPES = ("CLIP",) |
| 50 | + FUNCTION = "load_clip" |
| 51 | + CATEGORY = "ExtraModels" |
| 52 | + TITLE = "CLIPLoader (ExtraModels)" |
| 53 | + |
| 54 | + def load_clip(self, clip_name, type): |
| 55 | + clip_path = folder_paths.get_full_path("clip", clip_name) |
| 56 | + clip_type = tenc_names.get(type, None) |
| 57 | + |
| 58 | + clip = load_text_encoder( |
| 59 | + ckpt_paths =[clip_path], |
| 60 | + embedding_directory = folder_paths.get_folder_paths("embeddings"), |
| 61 | + clip_type = clip_type |
| 62 | + ) |
| 63 | + return (clip,) |
| 64 | + |
| 65 | +#class EXMResolutionSelect: |
| 66 | + |
34 | 67 | NODE_CLASS_MAPPINGS = { |
35 | 68 | "EXMUnetLoader": EXMUnetLoader, |
| 69 | + "EXMCLIPLoader": EXMCLIPLoader, |
36 | 70 | } |
0 commit comments