feat(plugin): external lora node
This commit is contained in:
parent
1ae295b806
commit
7dfc7a4ff8
51
comfy-nodes/external_lora.py
Normal file
51
comfy-nodes/external_lora.py
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
import folder_paths
|
||||||
|
from PIL import Image, ImageOps
|
||||||
|
import numpy as np
|
||||||
|
import torch
|
||||||
|
import folder_paths
|
||||||
|
|
||||||
|
|
||||||
|
class ComfyUIDeployExternalLora:
|
||||||
|
@classmethod
|
||||||
|
def INPUT_TYPES(s):
|
||||||
|
return {
|
||||||
|
"required": {
|
||||||
|
"input_id": (
|
||||||
|
"STRING",
|
||||||
|
{"multiline": False, "default": "input_lora"},
|
||||||
|
),
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"default_lora_name": (folder_paths.get_filename_list("loras"), ),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_TYPES = (folder_paths.get_filename_list("loras"),)
|
||||||
|
RETURN_NAMES = ("path",)
|
||||||
|
|
||||||
|
FUNCTION = "run"
|
||||||
|
|
||||||
|
CATEGORY = "deploy"
|
||||||
|
|
||||||
|
def run(self, input_id, default_lora_name=None):
|
||||||
|
import requests
|
||||||
|
import os
|
||||||
|
import uuid
|
||||||
|
|
||||||
|
if input_id and input_id.startswith('http'):
|
||||||
|
unique_filename = str(uuid.uuid4()) + ".safetensors"
|
||||||
|
print(unique_filename)
|
||||||
|
print(folder_paths.folder_names_and_paths["loras"][0][0])
|
||||||
|
destination_path = os.path.join(folder_paths.folder_names_and_paths["loras"][0][0], unique_filename)
|
||||||
|
print(destination_path)
|
||||||
|
print("Downloading external lora - " + input_id + " to " + destination_path)
|
||||||
|
response = requests.get(input_id, headers={'User-Agent': 'Mozilla/5.0'}, allow_redirects=True)
|
||||||
|
with open(destination_path, 'wb') as out_file:
|
||||||
|
out_file.write(response.content)
|
||||||
|
return (unique_filename,)
|
||||||
|
else:
|
||||||
|
return (default_lora_name,)
|
||||||
|
|
||||||
|
|
||||||
|
NODE_CLASS_MAPPINGS = {"ComfyUIDeployExternalLora": ComfyUIDeployExternalLora}
|
||||||
|
NODE_DISPLAY_NAME_MAPPINGS = {"ComfyUIDeployExternalLora": "External Lora (ComfyUI Deploy)"}
|
@ -4,4 +4,5 @@ export const customInputNodes: Record<string, string> = {
|
|||||||
ComfyUIDeployExternalImageAlpha: "string - (public image url)",
|
ComfyUIDeployExternalImageAlpha: "string - (public image url)",
|
||||||
ComfyUIDeployExternalNumber: "float",
|
ComfyUIDeployExternalNumber: "float",
|
||||||
ComfyUIDeployExternalNumberInt: "integer",
|
ComfyUIDeployExternalNumberInt: "integer",
|
||||||
|
ComfyUIDeployExternalLora: "string - (public lora download url)",
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user