cubiq / comfyui_essentials Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Error occurred when executing ImageRemoveBackground+:
'{}' is not of type 'array'
Failed validating 'type' in schema:
{'items': {'properties': {'data': {'items': {'type': 'number'},
'type': 'array'},
'label': {'type': 'integer'},
'type': {'type': 'string'}},
'type': 'object'},
'type': 'array'}
On instance:
'{}'
File "D:\AI-Starter\ComfyUI_windows\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI-Starter\ComfyUI_windows\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI-Starter\ComfyUI_windows\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI-Starter\ComfyUI_windows\ComfyUI\custom_nodes\ComfyUI_essentials\essentials.py", line 1637, in execute
img = rembg(img, session=rembg_session)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI-Starter\ComfyUI_windows\ComfyUI\python\Lib\site-packages\rembg\bg.py", line 260, in remove
masks = session.predict(img, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI-Starter\ComfyUI_windows\ComfyUI\python\Lib\site-packages\rembg\sessions\sam.py", line 169, in predict
validate(instance=prompt, schema=schema)
File "D:\AI-Starter\ComfyUI_windows\ComfyUI\python\Lib\site-packages\jsonschema\validators.py", line 1312, in validate
raise error
Hi, maybe this project could gain more clarity if there were a little more description of what is added in comfyui using, like for example screenshots of added nodes and maybe one or two screenshot of it integrated in a workflow.
I have a bunch of CUBE files that I use with the LUTs node from the Bilbox collection and they are detected and work just fine there. I placed them in the luts folder in ComfyUI Essentials because I want to reduce the number of extensions with overlapping functions I have. UNfortunately I have refreshed and restarted multiple times but the files fail to be recognised by the ComfyUI Essentials LUTs node. Am I missing something. On a side note, I really appreciate your work and your content on YT. Thank you for the tremendous value you provide to the community.
Error occurred when executing PixelOEPixelize+:
No module named 'pixeloe'
File "F:\ComfyUI_windows_portable\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "F:\ComfyUI_windows_portable\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "F:\ComfyUI_windows_portable\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "F:\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_essentials\essentials.py", line 1655, in execute
from pixeloe.pixelize import pixelize
!!! Exception during processing !!!
Traceback (most recent call last):
File "/src/ComfyUI/execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/src/ComfyUI/execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/src/ComfyUI/execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/src/ComfyUI/custom_nodes/ComfyUI_essentials/essentials.py", line 1604, in execute
from rembg import new_session as rembg_new_session
ModuleNotFoundError: No module named 'rembg'
Mask blur used to blur the outer regions of the mask, but now it blurs the entire mask.
While this change was probably intended, I prefer the old behaviour. Maybe we can get a new node that works like before?
The torchvision Gaussian function runs on the CPU even if your tensor is on the GPU. Here's a blur function that guarantees the blur will run very quickly on the GPU. Some adaptation for the tensor shape may need to be made; this one works for the latent tensor format:
`def gaussian_blur(tensor, kernel_size=5, sigma=1.0):
if len(tensor.shape) == 4: # Batch of images
batch_size, channels, height, width = tensor.shape
else:
raise ValueError("Expected a 4D tensor [B, C, H, W]")
# Create Gaussian kernel
x = torch.arange(-kernel_size // 2 + 1, kernel_size // 2 + 1, device=tensor.device)
x = torch.exp(-x**2 / (2 * sigma**2))
x = x / x.sum()
# Create 2D Gaussian kernel by outer product
kernel = x[:, None] * x[None, :]
# Expand to match input tensor shape [out_channels, in_channels, kernel_height, kernel_width]
kernel = kernel.expand(channels, 1, kernel_size, kernel_size)
# Apply Gaussian blur
blurred = F.conv2d(tensor, kernel, groups=channels, padding=kernel_size // 2)
return blurred`
当我运行K采样器差异化噪波的时候提示Error occurred when executing KSamplerVariationsWithNoise+:
'BaseModel' object has no attribute 'get_model_object'
ERROR:root:!!! Exception during processing !!!
ERROR:root:Traceback (most recent call last):
File "E:\ComfyUI\ComfyUI\execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "E:\ComfyUI\ComfyUI\execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "E:\ComfyUI\ComfyUI\execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "E:\ComfyUI\ComfyUI\custom_nodes\ComfyUI_essentials\essentials.py", line 318, in execute
results = self.save_images(preview, filename_prefix, prompt, extra_pnginfo)
File "E:\ComfyUI\ComfyUI\nodes.py", line 1374, in save_images
img.save(os.path.join(full_output_folder, file), pnginfo=metadata, compress_level=self.compress_level)
AttributeError: 'MaskPreview' object has no attribute 'compress_level'
This error message appear wen trying to extract a mask from a video with ImageBatch2imageList > BBox detector > Masks to masl list > Mask Preview+
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
mask len: 1080
2024-02-02 02:17:21,281 - root - ERROR - !!! Exception during processing !!!
2024-02-02 02:17:21,282 - root - ERROR - Traceback (most recent call last):
File "K:\ComfyUI\ComfyUI\execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI\execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI\execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI\custom_nodes\ComfyUI_essentials\essentials.py", line 397, in execute
preview = mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])).movedim(1, -1).expand(-1, -1, -1, 3)
~~~~~~~~~~^^^^
IndexError: tuple index out of range
Prompt executed in 70.46 seconds
got prompt
2024-02-02 02:23:19,623 - root - ERROR - Failed to validate prompt for output 79:
2024-02-02 02:23:19,624 - root - ERROR - * (prompt):
2024-02-02 02:23:19,624 - root - ERROR - - Required input is missing: images
2024-02-02 02:23:19,624 - root - ERROR - * VHS_VideoCombine 79:
2024-02-02 02:23:19,624 - root - ERROR - - Required input is missing: images
2024-02-02 02:23:19,624 - root - ERROR - Output will be ignored
2024-02-02 02:23:19,629 - root - ERROR - Failed to validate prompt for output 71:
2024-02-02 02:23:19,630 - root - ERROR - * (prompt):
2024-02-02 02:23:19,630 - root - ERROR - - Required input is missing: images
2024-02-02 02:23:19,630 - root - ERROR - * PreviewImage 71:
2024-02-02 02:23:19,630 - root - ERROR - - Required input is missing: images
2024-02-02 02:23:19,630 - root - ERROR - Output will be ignored
2024-02-02 02:23:19,634 - root - ERROR - Failed to validate prompt for output 60:
2024-02-02 02:23:19,634 - root - ERROR - * (prompt):
2024-02-02 02:23:19,634 - root - ERROR - - Required input is missing: images
2024-02-02 02:23:19,634 - root - ERROR - * VHS_VideoCombine 60:
2024-02-02 02:23:19,634 - root - ERROR - - Required input is missing: images
2024-02-02 02:23:19,634 - root - ERROR - Output will be ignored
2024-02-02 02:24:37,807 - root - ERROR - !!! Exception during processing !!!
2024-02-02 02:24:37,808 - root - ERROR - Traceback (most recent call last):
File "K:\ComfyUI\ComfyUI\execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI\execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI\execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI\custom_nodes\ComfyUI_essentials\essentials.py", line 397, in execute
preview = mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])).movedim(1, -1).expand(-1, -1, -1, 3)
~~~~~~~~~~^^^^
IndexError: tuple index out of range
Prompt executed in 78.46 seconds
When I try to input a generated image which background has been removed to StableZero123_Increments node, I am get this error:
Error occurred when executing StableZero123_Increments:
The size of tensor a (4) must match the size of tensor b (3) at non-singleton dimension 1
File "/workspace/ComfyUI/execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/workspace/ComfyUI/execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/workspace/ComfyUI/execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/workspace/ComfyUI/custom_nodes/ComfyUI_essentials/essentials.py", line 753, in encode
output = clip_vision.encode_image(init_image)
File "/workspace/ComfyUI/comfy/clip_vision.py", line 49, in encode_image
pixel_values = clip_preprocess(image.to(self.load_device)).float()
File "/workspace/ComfyUI/comfy/clip_vision.py", line 30, in clip_preprocess
return (image - mean.view([3,1,1])) / std.view([3,1,1])
I used https://github.com/Jcd1230/rembg-comfyui-node to remove background
But if I give it direct from "VAE Decode" then it is working. Why?
Please help me
Workflow JSON in attachment:
sd_3d_bg_rem_steps.json
I'm about to try this plugin since it was suggested by the IPAdapter author here, and surely I'm not the only one interested in it. However, the README leaves a lot to be desired.
There's no need to convert it to Mozilla Developer Network article either, a few screenshots to showcase the plugin provided nodes would be enough and relatively easy to add. Thanks.
Error occurred when executing KSamplerVariationsWithNoise+:
'SDXL' object has no attribute 'get_model_object' 当我运行差异噪波节点的时候弹出以上报错,以前的版本并不会,但是当我更新到最新的版本的时候就出现了错误
No module named 'torchvision.transforms.v2'
No matter what I do, uninstalling comfy, or updating it, I can't get it to work
Thank you Cubiq for all your nodes, especially Image Enhance Difference.
How about a node for Image Histogram please? Almost all photo editing softwares have that tool to check color, tonal range, and identifies under/overexposed photos, among other things.
Moreover, I can also use the MEAN value with the output image of Image Enhance Difference node to quickly gauge the difference between the original and edited images. The larger the Mean number, the more different they are, while a value of 0 (black output image) means both images are identical.
The first thing I would like to say is: Thank you very much for your work, the nodes are very useful
Is it possible to add the total number of pixels to the ImageResize node as an alternative to width and height?
The situation is as follows: we have an upscaler workflow on Suprim, we need to downscale if the image is larger than a certain size.
Using width and height in this case is less convenient than the total number of pixels - it greatly cuts images in 16:9 format, when based on the total number of pixels such images would pass without resizing.
My comfyui version is: ComfyUI: 21714f63ee
Manager: V2.30.1
Can this be solved?
Hi Matteo
Everything was fine with the ksampler with noise injection. The next day nothing worked, it gives black images for the same setting. There's no error message in the terminal and all updates do nothing. It only works for a batch size of 1 over we have black image. Moreover, for the same seed and the same parameters, the image with batch size 1 doesn't give the same image as before.
What could be the problem?
Just for your information before updating I have time to time in the terminal this error. Now it has disappeared, I don't know if it is related to your ksampler.
'## sdxl-ksample [3c7e70]' is broken. Maybe there are missing nodes. (INFO: ### [ERROR] "Multiply" node is not installed. Please install that node through ComfyUI-Mananger. ###)
Thank you
There's an ImageSelector node which allows you to select images within a batch to output for processing, and a RepeatImageBatch, both of which are missing from this set of custom nodes. Currently, in order to do the same process with batch masks requires converting the masks to images. It would be nice to be able to do the same function within the mask context.
Ideally there would be a singular set of ComfyUI nodes that would do the same functions with both batch images and masks regardless. If you know where's the best place to suggest this, let me know and I'll bug them instead :)
!!! Exception during processing!!! 'module' object is not callable
Traceback (most recent call last):
File "H:\Comfyui_2\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "H:\Comfyui_2\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "H:\Comfyui_2\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "H:\Comfyui_2\ComfyUI\custom_nodes\ComfyUI_essentials\essentials.py", line 1660, in execute
img = pixelize(img,
TypeError: 'module' object is not callable
need to change from pixeloe import pixelize in essentials.py to from pixeloe.pixelize import pixelize to run
mask blur node is slow, it takes several minutes to compute, depending on the blur amount, and while it's at work all cpu 20 threads are at 100% (i7-12700h).
Is that normal? This node is the only that blurs enough to be useful with differential diffusion inpainting.
Modified some resolution and it works with sd15.
This is my presets:
def INPUT_TYPES(s):
return {"required": {
"resolution": (["512x768 (2:3 portrait)","576x1024 (9:16 portrait)","640x1536 (9:21 portrait)","704x1408 (1:2 portrait)","768x1024 (3:4 portrait)","768x1216 (2:3 portrait)","768x1152 (2:3 portrait)","768x1344 (9:16 portrait)","768x1280 (3:5 portrait)","832x1216 (2:3 portrait)","840x1176 (5:7 portrait)","896x1152 (3:4 portrait)","512x512 (1:1 square)","1024x1024 (1:1 square)","768x512 (3:2 landscape)","1024x576 (16:9 landscape)","1024x768 (4:3 landscape)","1152x768 (3:2 landscape)","1152x896 (4:3 landscape)","1216x768 (8:5 landscape)","1216x832 (3:2 landscape)","1280x768 (5:3 landscape)","1344x768 (16:9 landscape)","1472x704 (19:9 landscape)","1536x640 (21:9 landscape)",], {"default": "1024x1024 (1:1 square)"}),
"batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}),
}}
Original idea from mikey nodes, but mikey nodes do not output image resolution for control.
Is it possible to have a slider/weight on how much desaturating there is on the image? I don't want it completely remove the color and make the image black and white, but let's say 10% or 20% desaturation.
Thank you in advance.
When .cube files are stored in subdirectories of the ComfyUI_essentials/luts/ directory, they are not available for selection in the Image Apply LUT node.
I got the following error when trying to run the PuLID_refiner workflow on comfyui deployed on a lightning.ai workspace. The CLIPSeg values were: prompt=face, threshold=0.40, smooth=21, dilate=2, blur=23.
Error occurred when executing ApplyCLIPSeg+:
tuple index out of range
File "/teamspace/studios/this_studio/ComfyUI/execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/teamspace/studios/this_studio/ComfyUI/execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/teamspace/studios/this_studio/ComfyUI/execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/teamspace/studios/this_studio/ComfyUI/custom_nodes/ComfyUI_essentials/segmentation.py", line 64, in execute
outputs = T.functional.gaussian_blur(outputs, smooth)
File "/home/zeus/miniconda3/envs/cloudspace/lib/python3.10/site-packages/torchvision/transforms/v2/functional/_misc.py", line 81, in gaussian_blur
return kernel(inpt, kernel_size=kernel_size, sigma=sigma)
File "/home/zeus/miniconda3/envs/cloudspace/lib/python3.10/site-packages/torchvision/transforms/v2/functional/_misc.py", line 146, in gaussian_blur_image
kernel = kernel.expand(shape[-3], 1, kernel.shape[0], kernel.shape[1])
When I tried the same job locally it worked fine. I know this might be a problem with the environment, but if you have any ideas or suggestions I'd greatly appreciate it.
i follow your youtube video and got this error
Error occurred when executing ImageRandomTransform+:
Argument interpolation should be an InterpolationMode
or a corresponding Pillow integer constant, but got InterpolationMode.BILINEAR.
File "D:\ai\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "D:\ai\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "D:\ai\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "D:\ai\ComfyUI\custom_nodes\ComfyUI_essentials\essentials.py", line 419, in execute
out.append(tramsforms(i.unsqueeze(0)))
File "D:\ai\ComfyUI\python\lib\site-packages\torch\nn\modules\module.py", line 1511, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "D:\ai\ComfyUI\python\lib\site-packages\torch\nn\modules\module.py", line 1520, in _call_impl
return forward_call(*args, **kwargs)
File "D:\ai\ComfyUI\python\lib\site-packages\torchvision\transforms\v2_container.py", line 51, in forward
outputs = transform(*inputs)
File "D:\ai\ComfyUI\python\lib\site-packages\torch\nn\modules\module.py", line 1511, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "D:\ai\ComfyUI\python\lib\site-packages\torch\nn\modules\module.py", line 1520, in _call_impl
return forward_call(*args, **kwargs)
File "D:\ai\ComfyUI\python\lib\site-packages\torchvision\transforms\v2_transform.py", line 171, in forward
flat_outputs = [
File "D:\ai\ComfyUI\python\lib\site-packages\torchvision\transforms\v2_transform.py", line 172, in
self._transform(inpt, params) if needs_transform else inpt
File "D:\ai\ComfyUI\python\lib\site-packages\torchvision\transforms\v2_geometry.py", line 972, in _transform
return self._call_kernel(
File "D:\ai\ComfyUI\python\lib\site-packages\torchvision\transforms\v2_transform.py", line 35, in _call_kernel
return kernel(inpt, *args, **kwargs)
File "D:\ai\ComfyUI\python\lib\site-packages\torchvision\transforms\v2\functional_geometry.py", line 1502, in perspective_image
interpolation = _check_interpolation(interpolation)
File "D:\ai\ComfyUI\python\lib\site-packages\torchvision\transforms\v2\functional_geometry.py", line 34, in _check_interpolation
raise ValueError(
Hello,
If "keep_proportion" is set to true and "multiple_of" is set to not 0, the image will not keep its proportions.
My suggestion is to add the cropping position menu (from ImageCrop+) to the 🔧 Image Resize node so the image can be cropped when both keep_proportion and multiple_of are required.
This is my work around at the moment but if it could be combined into a single node that would be a great quality of life.
Thanks
Trying to use "Product Photography Relight v3 " workflow, missing two nodes included in the essentials: ImageResize+ and MaskFromColor+. Tried to install Essentials few times through manager and through git url, restarted, updated comfy. Installed anaconda (someone on another thread wrote it could be useful). import failed every time.
Clicking on font or trying to scroll left and right does not change from 'undefined'.
I have confirmed the normal 'CR Draw Text' node loads fonts that I place there however. What would cause this to not detect any fonts?
The only way I've been able to load a font is to convert the 'font' widget to an input, and then use the 'CR Select Font' node.
This node pack is currently not working for me when downloaded through the manager.
"(IMPORT FAILED) ComfyUI Essentials"
File "C:\Program Files\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_essentials\essentials.py", line 730, in
from comfy_extras.nodes_stable3d import camera_embeddings
ModuleNotFoundError: No module named 'comfy_extras.nodes_stable3d'
Cannot import C:\Program Files\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_essentials module for custom nodes: No module named 'comfy_extras.nodes_stable3d'
The issue gets resolved if I delete the part about StableZero123_Increments from essentials.py
Error occurred when executing ImageApplyLUT+:
No module named 'colour'
File "/mnt/drive0/AIGC/ComfyUI/execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/drive0/AIGC/ComfyUI/execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj. FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/drive0/AIGC/ComfyUI/execution.py", line 74, in map_node_over_list
results. append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/drive0/AIGC/ComfyUI/custom_nodes/ComfyUI_essentials/essentials.py", line 1242, in execute
from colour.io.luts. iridas_cube import read_LUT_IridasCube
Watching your videos, I was hoping to be able to use the Tenser debug to view the sizes of my clip inputs. Do you have a new improved method for viewing those?
Traceback (most recent call last):
File "/notebooks/ComfyUI/nodes.py", line 1906, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/notebooks/ComfyUI/custom_nodes/ComfyUI_essentials/init.py", line 2, in
from .image import IMAGE_CLASS_MAPPINGS, IMAGE_NAME_MAPPINGS
File "/notebooks/ComfyUI/custom_nodes/ComfyUI_essentials/image.py", line 7, in
import torchvision.transforms.v2 as T
ModuleNotFoundError: No module named 'torchvision.transforms.v2'
Cannot import /notebooks/ComfyUI/custom_nodes/ComfyUI_essentials module for custom nodes: No module named 'torchvision.transforms.v2'
I already updated the manager and the node but is still missing.
Any clue? thank you
Error occurred when executing ImageResize+:
'bool' object has no attribute 'startswith'
File "D:\SD\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "D:\SD\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "D:\SD\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "D:\SD\ComfyUI\custom_nodes\ComfyUI_essentials\image.py", line 288, in execute
elif method.startswith('fill'):
节点成功安装了,但是在进入comfyui后还是调用不了节点,判断节点缺失,但在管理器中节点又显示是安装好的
Hello blogger, as shown in the picture, I used the MASK preview node and the prompt was no preview property. I updated comfyui and the system, but couldn't fix the problem. I downloaded a new node (ComfyUI_essentials) to upload the same error. Can you help me see what went wrong? Thank you very much. Puzzled me for a long time.
Sir, after I updated this nodes today, I can't no longer find the Image from Batch and Mask from Batch anymore. I also can't find the replacement nodes for these two in the new version. Any ideas? Thank you in advance.
Instead of Condition: Always, If Bigger, If Smaller
consider using
Process: Resize, Upscale, Downscale
or
Action: Resize, Expand, Shrink
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.