From d9fd5b620806aeba4528e69847ea8ea9f79acbe2 Mon Sep 17 00:00:00 2001 From: Inoland Date: Sun, 26 Oct 2025 14:39:30 +0400 Subject: [PATCH] update --- src/comfyui_ino_nodes/configs/models.json | 46 ++++++++++++++++++--- src/comfyui_ino_nodes/utils/model_helper.py | 15 ++++++- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/src/comfyui_ino_nodes/configs/models.json b/src/comfyui_ino_nodes/configs/models.json index b689369..2be8043 100644 --- a/src/comfyui_ino_nodes/configs/models.json +++ b/src/comfyui_ino_nodes/configs/models.json @@ -4,16 +4,12 @@ "id": 0, "name": "Flux1Dev", "type": "flux", - "unet": "flux1dev/flux1-dev.safetensors", "weight_type": "default", "use_dual_clip": true, "use_flux_encoder": false, "use_flux_guidance": true, "guidance": 3.5, "use_negative_prompt": false, - "clip1": "clip_l.safetensors", - "clip2": "t5/t5xxl_fp16.safetensors", - "vae": "flux1dev/ae.safetensors", "use_cfg": false, "cfg": 1, "sampler_name": "euler", @@ -22,7 +18,47 @@ "denoise": 1, "tags": "", "description": "original flux1 dev from blackforest", - "lora_compatible": "" + "lora_compatible": "", + "unet": { + "host": "hf", + "model_type": "diffusion_models", + "model_subfolder": "flux1dev", + "repo_id": "black-forest-labs/FLUX.1-dev", + "filename": "flux1-dev.safetensors", + "subfolder": "", + "repo_type": "", + "revision": "" + }, + "clip1": { + "host": "hf", + "model_type": "diffusion_models", + "model_subfolder": "flux1dev", + "repo_id": "comfyanonymous/flux_text_encoders", + "filename": "clip_l.safetensors", + "subfolder": "", + "repo_type": "", + "revision": "" + }, + "clip2": { + "host": "hf", + "model_type": "diffusion_models", + "model_subfolder": "flux1dev", + "repo_id": "comfyanonymous/flux_text_encoders", + "filename": "t5xxl_fp16.safetensors", + "subfolder": "", + "repo_type": "", + "revision": "" + }, + "vae": { + "host": "hf", + "model_type": "diffusion_models", + "model_subfolder": "flux1dev", + "repo_id": "black-forest-labs/FLUX.1-dev", + "filename": "ae.safetensors", + "subfolder": "", + "repo_type": "", + "revision": "" + } }, { "id": 1, diff --git a/src/comfyui_ino_nodes/utils/model_helper.py b/src/comfyui_ino_nodes/utils/model_helper.py index 09f7a7c..2c7f9c4 100644 --- a/src/comfyui_ino_nodes/utils/model_helper.py +++ b/src/comfyui_ino_nodes/utils/model_helper.py @@ -1,6 +1,6 @@ from pathlib import Path from huggingface_hub import hf_hub_download - +from inopyutils import InoJsonHelper import folder_paths import node_helpers @@ -69,6 +69,7 @@ class InoHuggingFaceDownloadFile: return { "required": { "enabled": ("BOOLEAN", {"default": True, "label_off": "OFF", "label_on": "ON"}), + "dict_as_input": ("STRING", {"default": "{}"}), "model_type": (MODEL_TYPES, {}), "model_subfolder": ("STRING", {"default": "flux1dev"}), "repo_id": ("STRING", {"default": ""}), @@ -87,10 +88,20 @@ class InoHuggingFaceDownloadFile: RETURN_NAMES = ("success", "msg", "model_type", "abs_path", "rel_path") FUNCTION = "function" - async def function(self, enabled, model_type, model_subfolder, repo_id, filename, subfolder, token, repo_type, revision,): + async def function(self, enabled, dict_as_input, model_type, model_subfolder, repo_id, filename, subfolder, token, repo_type, revision,): if not enabled: return (False, "", "", ) + input_config = InoJsonHelper.string_to_dict(dict_as_input) + if input_config["success"]: + model_type = input_config["data"].get("model_type", model_type) + model_subfolder = input_config["data"].get("model_subfolder", model_subfolder) + repo_id = input_config["data"].get("repo_id", repo_id) + filename = input_config["data"].get("filename", filename) + subfolder = input_config["data"].get("subfolder", subfolder) + repo_type = input_config["data"].get("repo_type", repo_type) + revision = input_config["data"].get("revision", revision) + parent_path = Path(folder_paths.get_input_directory()).parent model_path: Path = parent_path / "models" / model_type / model_subfolder