Searge-SDXL: EVOLVED v4.3.2
Version 4.x is here.
I made a convenient install script that can install the extension and workflow, the python dependencies, and it also offer the option to download the required models.
Please read the install instructions in the readme file for more information about the install script and how to use it.
Description
Some custom nodes for ComfyUI and an easy to use SDXL 1.0 workflow. A detailed description can be found on the project repository site, here: Github Link
Installing
Detailed install instruction can be found here: Link to the readme file on Github
Usage Notes
The workflow is in the workflow folder, please load it from the JSON files to make sure you are using the latest versions of it.
The images in the examples folder have workflows embedded.
How to use this workflow
Here is an amazing Youtube video that Nerdy Rodent made about version 3.4 of the workflow. Many things have changed in v4.0 but the basics still apply. And while you are watching it, don't forget to subscribe to the channel.
Link to the Nerdy Rodent video
Updates
What's new in v4.3.2?
This is a minor update to make the workflow and custom node extension compatible with the latest changes in ComfyUI.
What's new in v4.3.1?
This is a minor update to make the workflow and custom node extension compatible with the latest changes in ComfyUI.
What's new in v4.3?
This update added support for FreeU v2 in addition to FreeU v1.
New Features
Support for FreeU v2 has been added and is included in the v4.3 workflow
Added more presets for FreeU and a selector to switch between v1 and v2
Updated the example images to embed the v4.3 workflow
What's new in v4.2?
This update contains bug fixes that address issues found after v4.0 was released.
Bug Fixes
A recent change in ComfyUI conflicted with my implementation of inpainting, this is now fixed and inpainting should
work again
New Features
Support for FreeU has been added and is included in the v4.2 workflow
Note: the images in the example folder are still embedding v4.1 of the workflow, to use FreeU load the new
workflow from the.jsonfile in theworkflowfolder
What's new in v4.1?
This update contains bug fixes that address issues found after v4.0 was released.
Bug Fixes
The high resolution latent detailer was not properly set up in the processing pipeline and did nothing
The debug printer node was broken - I didn't notice that because it was not connected in any of the v4.0 workflows
A bug related to generating with batch sizes larger than 1 has been fixed, it's now working properly
Other Changes
The images in the
examplesfolder have been updated to embed the v4.1 workflow
What's new in v4.0?
A complete re-write of the custom node extension and the SDXL workflow
Highly optimized processing pipeline, now up to 20% faster than in older workflow versions
Support for Controlnet and Revision, up to 5 can be applied together
Multi-LoRA support with up to 5 LoRA's at once
Better Image Quality in many cases, some improvements to the SDXL sampler were made that can produce images
with higher qualityImproved High Resolution modes that replace the old "Hi-Res Fix" and should generate better images
... many more things, too many to mention them all here
Description
What's new in v4.3.2?
This is a minor update to make the workflow and custom node extension compatible with the latest changes in ComfyUI.
What's new in v4.3.1?
This is a minor update to make the workflow and custom node extension compatible with the latest changes in ComfyUI.
What's new in v4.3?
This update added support for FreeU v2 in addition to FreeU v1.
New Features
Support for FreeU v2 has been added and is included in the v4.3 workflow
Added more presets for FreeU and a selector to switch between v1 and v2
Updated the example images to embed the v4.3 workflow
FAQ
Comments (90)
How would i go about adding a "face fix" of sorts? that automatically scans for faces and improves them?
After searching around a bit i landed on something called "ComfyUI-Impact-Pack" because that apparently has the best "face fix" stuff out there for ComfyUI, but i'm completely lost on trying to tie that to the end of your workflow (in part because their examples are just as crap as every other ComfyUI example.. it's referring nodes i don't even know where to get?...)
Any chance you can elaborate on how YOU would automatically fix faces with ComfyUI (+ anything) and your workflow? and maybe show a workflow that includes this?
Thanks!
I'm super interested in a FaceDetailer node integrated into this amazing workflow! I have put out a bounty for someone to extend the workflow to include one that includes lora loading with separate text prompts (hopefully).
I've put out a 500 buzz bounty for this and I would love if @searge was able to get the reward and integrate it into the official workflow!
Thanks again for all the awesome work!
Error occurred when executing SeargeFreeU: SeargeFreeU.get() missing 1 required positional argument: 'freeu_version' File "C:\ComfyUI_windows_portable\ComfyUI\execution.py", line 153, in recursive_execute output_data, output_ui = get_output_data(obj, input_data_all) File "C:\ComfyUI_windows_portable\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 "C:\ComfyUI_windows_portable\ComfyUI\execution.py", line 76, in map_node_over_list results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
same here
ERROR:root:!!! Exception during processing !!!
ERROR:root:Traceback (most recent call last):
File "S:\Comfy\ComfyUI\execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "S:\Comfy\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 "S:\Comfy\ComfyUI\execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "S:\Comfy\ComfyUI\custom_nodes\SeargeSDXL\modules\magic_box.py", line 269, in process
(data, stage_result) = self.run_stage(stage, data, stage_input)
File "S:\Comfy\ComfyUI\custom_nodes\SeargeSDXL\modules\magic_box.py", line 248, in run_stage
(data, stage_result) = stage_processor.process(data, stage_input)
File "S:\Comfy\ComfyUI\custom_nodes\SeargeSDXL\modules\stage_vae_decode_sampled.py", line 77, in process
image = NodeWrapper.vae_decoder.decode(vae_model, latent)[0]
File "S:\Comfy\ComfyUI\nodes.py", line 267, in decode
return (vae.decode(samples["samples"]), )
AttributeError: 'NoneType' object has no attribute 'decode'
same error here running on M1 Studio Pro - previous version was all fine and dandy, hopefully can be fixed (love this workflow) cheers
Hey - gettin all these errors:
Error occurred when executing SeargeMagicBox: module 'comfy.sample' has no attribute 'broadcast_cond' File "/Users/aibrain/ComfyUI/execution.py", line 153, in recursive_execute output_data, output_ui = get_output_data(obj, input_data_all) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/aibrain/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 "/Users/aibrain/ComfyUI/execution.py", line 76, in map_node_over_list results.append(getattr(obj, func)(**slice_dict(input_data_all, i))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/aibrain/ComfyUI/custom_nodes/SeargeSDXL/modules/magic_box.py", line 269, in process (data, stage_result) = self.run_stage(stage, data, stage_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/aibrain/ComfyUI/custom_nodes/SeargeSDXL/modules/magic_box.py", line 248, in run_stage (data, stage_result) = stage_processor.process(data, stage_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/aibrain/ComfyUI/custom_nodes/SeargeSDXL/modules/stage_sampling.py", line 126, in process latent = sampler(base_model, base_positive, base_negative, latent, seed, steps, cfg, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/aibrain/ComfyUI/custom_nodes/SeargeSDXL/modules/node_wrapper.py", line 99, in sdxl_sampler result = sdxl_ksampler(base_model, refiner_model, noise_seed, base_steps, refiner_steps, cfg, sampler_name, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/aibrain/ComfyUI/custom_nodes/SeargeSDXL/modules/custom_sdxl_ksampler.py", line 356, in sdxl_ksampler samples = sdxl_sample(base_model, refiner_model, noise, base_steps, refiner_steps, cfg, sampler_name, scheduler, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/aibrain/ComfyUI/custom_nodes/SeargeSDXL/modules/custom_sdxl_ksampler.py", line 184, in sdxl_sample pos_base_copy = comfy.sample.broadcast_cond(base_positive, noise.shape[0], device)
Previous version was working fine and dandy - cheers
Same issue here, worked fine before.
Great workflow otherwise.
same
I'm working on a fix. Some recent changes in ComfyUI are causing my custom sdxl sampler to be incompatible. Until it's fixed, and if you are familiar with git, the last ComfyUI commit that works before the breaking changes were introduced is 3fce8881ca0f24e268fac1dc6e85d2b4cbdb0355
@searge awesome - thanks for looking into it - managed to get that commit working and seems OK again... thanks!
I used:
(once inside your comfyui folder)
git reset --hard 3fce8881ca0f24e268fac1dc6e85d2b4cbdb0355
Getting the following error using this in Manjaro - Arch Linux - Error occurred when executing SeargeMagicBox:
module 'comfy.sample' has no attribute 'broadcast_cond' File
"/home/zono50/Applications/ComfyUI/execution.py", line 153, in recursive_execute output_data, output_ui = get_output_data(obj, input_data_all) File "/home/zono50/Applications/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 "/home/zono50/Applications/ComfyUI/execution.py", line 76, in map_node_over_list results.append(getattr(obj, func)(**slice_dict(input_data_all, i))) File "/home/zono50/Applications/ComfyUI/custom_nodes/SeargeSDXL/modules/magic_box.py", line 269, in process (data, stage_result) = self.run_stage(stage, data, stage_input) File "/home/zono50/Applications/ComfyUI/custom_nodes/SeargeSDXL/modules/magic_box.py", line 248, in run_stage (data, stage_result) = stage_processor.process(data, stage_input) File "/home/zono50/Applications/ComfyUI/custom_nodes/SeargeSDXL/modules/stage_sampling.py", line 126, in process latent = sampler(base_model, base_positive, base_negative, latent, seed, steps, cfg, File "/home/zono50/Applications/ComfyUI/custom_nodes/SeargeSDXL/modules/node_wrapper.py", line 94, in sdxl_sampler result = sdxl_ksampler(base_model, None, noise_seed, base_steps, 0, cfg, sampler_name, File "/home/zono50/Applications/ComfyUI/custom_nodes/SeargeSDXL/modules/custom_sdxl_ksampler.py", line 356, in sdxl_ksampler samples = sdxl_sample(base_model, refiner_model, noise, base_steps, refiner_steps, cfg, sampler_name, scheduler, File "/home/zono50/Applications/ComfyUI/custom_nodes/SeargeSDXL/modules/custom_sdxl_ksampler.py", line 184, in sdxl_sample pos_base_copy = comfy.sample.broadcast_cond(base_positive, noise.shape[0], device)
same here please post if u fix
I'm working on a fix. Some recent changes in ComfyUI are causing my custom sdxl sampler to be incompatible. Until it's fixed, and if you are familiar with git, the last ComfyUI commit that works before the breaking changes were introduced is 3fce8881ca0f24e268fac1dc6e85d2b4cbdb0355
Appreciate the information. Will install that commit, thank you
@searge Appreciate all the hard work you do
The error that most of you reported is most likely related to an improper file size of the SD_XL models downloaded by the installer. In my case, they were much smaller than expected. I downloaded the models separately and it now works just fine.
Also, the same error occurs if you try to load an SD_1.5 model - it doesn't work with it (it does not support 1.5 by design)!
The file that you call older is actually the newer of the two. The original SDXL release had an issue with the VAE, so they released an updated model of SDXL 1.0 that embeds the SDXL 0.9 VAE.
@searge I stand corrected: the second one is not older, it has the 0.9 VAE baked-in. Both have the same base model ver 1.0
The error I saw was related to an improper file size of the models downloaded by the installer - they were much smaller than expected. I downloaded the models separately and it now works. the same error occurs if you try to load the SD_1.5 model - it doesn't work with it!
This workflow is explicitly made for SDXL and doesn't work with SD 1.5
@searge Yes, I want to point out that it is not designed to work with 1.5, but it came out wrong. I hope now it is more clear - not an error but to be aware of.
I am a huge fan of you bro. Your works SeargeXL and MCP are equivalently awesome. Pure applauses for you.
I run gloal Gen AI business and want to suggest a collaborative research opportunities.
Our goal is to make 'Midjourney for human portraits' and thought you might be interested.
Would you contact me for the detail?
- mail: [email protected]
- discord: eric_sdxl
First of all huge thanks for making this - upped my image quality by 200% :)
Is it possible to tell your default save node where to save the images? as in the folder? I noticed the "convert save folder to input" but cant figure out how to tell him the path.
NVM
Putting this into a .bat file worked just fine.
"python main.py --output-directory xxxx"
Glad to hear that you like the workflow
This is incredible. Thank you so much!
Glad to hear that you like the workflow
First of all, thanks for all the hard work, this is great!
Just one thing. I like the idea of saving params to a separate text file because it makes it easier to organize and analyze generations. But I don't like how it clutters the image folder. Any chance you could add an optional setting to set a log folder? Like relative to where the image is saved. If it was just like "./params" and then it would create a "params" folder and put the text files there, that would be perfect.
i get this error message cant fix this can someone help please?
MagicBox: MPS backend out of memory (MPS allocated: 16.34 GB, other allocations: 1.38 GB, max allowed: 18.13 GB). Tried to allocate 620.16 MB on private pool. Use PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 to disable upper limit for memory allocations (may cause system failure). File "/Users/artem/ComfyUI/execution.py", line 153, in recursive_execute output_data, output_ui = get_output_data(obj, input_data_all) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/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 "/Users/artem/ComfyUI/execution.py", line 76, in map_node_over_list results.append(getattr(obj, func)(**slice_dict(input_data_all, i))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/custom_nodes/SeargeSDXL/modules/magic_box.py", line 269, in process (data, stage_result) = self.run_stage(stage, data, stage_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/custom_nodes/SeargeSDXL/modules/magic_box.py", line 248, in run_stage (data, stage_result) = stage_processor.process(data, stage_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/custom_nodes/SeargeSDXL/modules/stage_sampling.py", line 126, in process latent = sampler(base_model, base_positive, base_negative, latent, seed, steps, cfg, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/custom_nodes/SeargeSDXL/modules/node_wrapper.py", line 99, in sdxl_sampler result = sdxl_ksampler(base_model, refiner_model, noise_seed, base_steps, refiner_steps, cfg, sampler_name, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/custom_nodes/SeargeSDXL/modules/custom_sdxl_ksampler.py", line 356, in sdxl_ksampler samples = sdxl_sample(base_model, refiner_model, noise, base_steps, refiner_steps, cfg, sampler_name, scheduler, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/custom_nodes/SeargeSDXL/modules/custom_sdxl_ksampler.py", line 190, in sdxl_sample base_samples = base_sampler.sample(noise, pos_base_copy, neg_base_copy, cfg=cfg, latent_image=latent_image, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/samplers.py", line 691, in sample return sample(self.model, noise, positive, negative, cfg, self.device, sampler(), sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/samplers.py", line 597, in sample samples = sampler.sample(model_wrap, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/samplers.py", line 557, in sample samples = getattr(k_diffusion_sampling, "sample_{}".format(sampler_name))(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **extra_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/k_diffusion/sampling.py", line 580, in sample_dpmpp_2m denoised = model(x, sigmas[i] s_in, *extra_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1519, in wrappedcall_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1528, in callimpl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/samplers.py", line 274, in forward out = self.inner_model(x, sigma, cond=cond, uncond=uncond, cond_scale=cond_scale, model_options=model_options, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1519, in wrappedcall_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1528, in callimpl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/samplers.py", line 264, in forward return self.apply_model(*args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/samplers.py", line 261, in apply_model out = sampling_function(self.inner_model.apply_model, x, timestep, uncond, cond, cond_scale, model_options=model_options, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/samplers.py", line 249, in sampling_function cond, uncond = calc_cond_uncond_batch(model_function, cond, uncond, x, timestep, max_total_area, model_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/samplers.py", line 224, in calc_cond_uncond_batch output = model_options['model_function_wrapper'](model_function, {"input": input_x, "timestep": timestep_, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/custom_nodes/SeargeSDXL/modules/custom_sdxl_ksampler.py", line 64, in unet_function return func(input_x, timestep, c) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/model_base.py", line 68, in apply_model model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, **extra_conds).float() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1519, in wrappedcall_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1528, in callimpl return forward_call(*args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/custom_nodes/SeargeSDXL/modules/custom_sdxl_ksampler.py", line 70, in new_unet_forward x0 = old_unet_forward(self, x, timesteps, context, y, control, transformer_options, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/ldm/modules/diffusionmodules/openaimodel.py", line 625, in forward h = forward_timestep_embed(module, h, emb, context, transformer_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/ldm/modules/diffusionmodules/openaimodel.py", line 56, in forward_timestep_embed x = layer(x, context, transformer_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1519, in wrappedcall_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1528, in callimpl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/ldm/modules/attention.py", line 560, in forward x = block(x, context=context[i], transformer_options=transformer_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1519, in wrappedcall_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1528, in callimpl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/ldm/modules/attention.py", line 390, in forward return checkpoint(self._forward, (x, context, transformer_options), self.parameters(), self.checkpoint) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/ldm/modules/diffusionmodules/util.py", line 123, in checkpoint return func(*inputs) ^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/ldm/modules/attention.py", line 455, in forward n = self.attn1(n, context=contextattn1, value=value_attn1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1519, in wrappedcall_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1528, in callimpl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/ldm/modules/attention.py", line 366, in forward out = optimized_attention(q, k, v, self.heads) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/ldm/modules/attention.py", line 177, in attention_sub_quad hidden_states = efficient_dot_product_attention( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/ldm/modules/sub_quadratic_attention.py", line 236, in efficient_dot_product_attention return compute_query_chunk_attn( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/artem/ComfyUI/comfy/ldm/modules/sub_quadratic_attention.py", line 160, in getattention_scores_no_kv_chunking attn_probs = attn_scores.softmax(dim=-1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^
This was the best all-round winner ComfyUI workflow so for until the last Comfy update.
Unfortunately, the workflow is broken now.It gives me the below error:
AttributeError: module 'comfy.sample' has no attribute 'convert_cond'
🤔 Do you know is there a way we can overcome this error?
I just released the hotfix to v4.3.2 that makes the workflow compatible with the latest version of ComfyUI
@searge really appreciate your fast response 🫡
@searge, do you have any idea why this error might printed on the screen?
Error occurred when executing SeargeMagicBox: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument mat1 in method wrapper_CUDA_addmm)
@NeoAnthropocene I was getting that error from using the wrong controlnet models, it only works with the ones that say "lora-256"
Getting the following error:
Registered sys.path: ['/content/drive/MyDrive/ComfyUI/custom_nodes/comfyui_controlnet_aux-main/src/controlnet_aux', '/content/drive/MyDrive/ComfyUI/custom_nodes/comfyui_controlnet_aux-main/src/custom_midas_repo', '/content/drive/MyDrive/ComfyUI/custom_nodes/comfyui_controlnet_aux-main/src/custom_detectron2', '/content/drive/MyDrive/ComfyUI/custom_nodes/comfyui_controlnet_aux-main/src/custom_oneformer', '/content/drive/MyDrive/ComfyUI/custom_nodes/comfyui_controlnet_aux-main/src/custom_mmpkg', '/content/drive/MyDrive/ComfyUI/custom_nodes/comfyui_controlnet_aux-main/src/custom_pycocotools', '/content/drive/MyDrive/ComfyUI/custom_nodes/comfyui_controlnet_aux-main/src/__init__.py', '/content/drive/MyDrive/ComfyUI/custom_nodes/comfyui_controlnet_aux-main/src', '/content/drive/MyDrive/ComfyUI/custom_nodes/ComfyUI_Comfyroll_CustomNodes/comfy', '/content/drive/MyDrive/ComfyUI/custom_nodes/ComfyUI_Comfyroll_CustomNodes/comfy', '/content/drive/MyDrive/ComfyUI/custom_nodes/was-node-suite-comfyui-main/comfy', '/content/drive/MyDrive/ComfyUI/comfy', '/content/drive/MyDrive/ComfyUI', '/env/python', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/dist-packages', '/usr/lib/python3/dist-packages', '/tmp/tmpr9fuw9wl', '../ComfyUI'] /content/drive/MyDrive/ComfyUI/custom_nodes/comfyui_controlnet_aux-main/node_wrappers/dwpose.py:26: UserWarning: DWPose: Onnxruntime not found or doesn't come with acceleration providers, switch to OpenCV with CPU device. DWPose might run very slowly warnings.warn("DWPose: Onnxruntime not found or doesn't come with acceleration providers, switch to OpenCV with CPU device. DWPose might run very slowly") Traceback (most recent call last): File "/content/drive/MyDrive/ComfyUI/nodes.py", line 1735, in load_custom_node module_spec.loader.exec_module(module) File "<frozen importlib._bootstrap_external>", line 883, in exec_module File "<frozen importlib._bootstrap>", line 241, in callwith_frames_removed File "/content/drive/MyDrive/ComfyUI/custom_nodes/SeargeSDXL/__init__.py", line 33, in <module> from .modules._legacy import LEGACY_CLASS_MAPPINGS, LEGACY_DISPLAY_NAME_MAPPINGS File "/content/drive/MyDrive/ComfyUI/custom_nodes/SeargeSDXL/modules/__init__.py", line 29, in <module> from .ui import Defs File "/content/drive/MyDrive/ComfyUI/custom_nodes/SeargeSDXL/modules/ui.py", line 37, in <module> from .custom_sdxl_ksampler import CfgMethods File "/content/drive/MyDrive/ComfyUI/custom_nodes/SeargeSDXL/modules/custom_sdxl_ksampler.py", line 38, in <module> from comfy.model_management import get_torch_device, batch_area_memory, load_models_gpu ImportError: cannot import name 'batch_area_memory' from 'comfy.model_management' (/content/drive/MyDrive/ComfyUI/comfy/model_management.py) Cannot import /content/drive/MyDrive/ComfyUI/custom_nodes/SeargeSDXL module for custom nodes: cannot import name 'batch_area_memory' from 'comfy.model_management' (/content/drive/MyDrive/ComfyUI/comfy/model_management.py)
A bit confused on how to use the Controlnet nodes and what sort of images and effects it produces. (for example, for posing the character) Could you please expand on it in the documentation?
Hi and thanks for sharing and keeping this updated. Seems overwhelming, but it is a very flexible tool. And works fine!
Now the question: I try to put all models in an external folder, with no windows symlink. I failed to know how to do that with annotators folder. I guess is something with folder paths in custom_nodes\SeargeSDXL\init.py, but don't know how to. Don't know python.
Anybody did this? Please tell me how.
Thank you more for the work you have done! I only use your add-on v.4.3.2.
Everything works well, except for one thing. When enlarging a photo and setting in the block "High Resolution" - "hires_mode:normal" - hires_scale: 2x" an error occurs. With the same settings but "hires_scale: 1.5x" everything works fine. Is it possible to fix this?
I attach the log:
ERROR:root:!!! Exception during processing !!! ERROR:root:Traceback (most recent call last): File "C:\TMP\ComfyUI_windows_portable\ComfyUI\execution.py", line 153, in recursive_execute output_data, output_ui = get_output_data(obj, input_data_all) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\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 "C:\TMP\ComfyUI_windows_portable\ComfyUI\execution.py", line 76, in map_node_over_list results.append(getattr(obj, func)(**slice_dict(input_data_all, i))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\custom_nodes\SeargeSDXL\modules\magic_box.py", line 269, in process (data, stage_result) = self.run_stage(stage, data, stage_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\custom_nodes\SeargeSDXL\modules\magic_box.py", line 248, in run_stage (data, stage_result) = stage_processor.process(data, stage_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\custom_nodes\SeargeSDXL\modules\stage_hires_detailer.py", line 89, in process latent = self.detailer(latent, 5, "nearest-exact", base_model, base_positive, base_negative, seed, cfg) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\custom_nodes\SeargeSDXL\modules\stage_hires_detailer.py", line 125, in detailer latent = sampler(base_model, seed, 100, cfg, sampler_name, scheduler, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\custom_nodes\SeargeSDXL\modules\node_wrapper.py", line 111, in common_sampler result = nodes.common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1269, in common_ksampler samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\sample.py", line 100, in sample samples = sampler.sample(noise, positive_copy, negative_copy, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 711, in sample return sample(self.model, noise, positive, negative, cfg, self.device, sampler, sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 617, in sample samples = sampler.sample(model_wrap, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 556, in sample samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\k_diffusion\sampling.py", line 580, in sample_dpmpp_2m denoised = model(x, sigmas[i] * s_in, **extra_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 277, in forward out = self.inner_model(x, sigma, cond=cond, uncond=uncond, cond_scale=cond_scale, model_options=model_options, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 267, in forward return self.apply_model(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 264, in apply_model out = sampling_function(self.inner_model, x, timestep, uncond, cond, cond_scale, model_options=model_options, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 252, in sampling_function cond, uncond = calc_cond_uncond_batch(model, cond, uncond, x, timestep, model_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 230, in calc_cond_uncond_batch output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 73, in apply_model model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, **extra_conds).float() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\custom_nodes\SeargeSDXL\modules\custom_sdxl_ksampler.py", line 70, in new_unet_forward x0 = old_unet_forward(self, x, timesteps, context, y, control, transformer_options, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 855, in forward h = forward_timestep_embed(module, h, emb, context, transformer_options, time_context=time_context, num_video_frames=num_video_frames, image_only_indicator=image_only_indicator) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 46, in forward_timestep_embed x = layer(x, context, transformer_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\attention.py", line 600, in forward x = block(x, context=context[i], transformer_options=transformer_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\attention.py", line 427, in forward return checkpoint(self._forward, (x, context, transformer_options), self.parameters(), self.checkpoint) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\util.py", line 190, in checkpoint return func(*inputs) ^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\attention.py", line 537, in _forward x = self.ff(self.norm3(x)) ^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\attention.py", line 84, in forward return self.net(x) ^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\container.py", line 215, in forward input = module(input) ^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\TMP\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\attention.py", line 64, in forward return x * F.gelu(gate) ^^^^^^^^^^^^ torch.cuda.OutOfMemoryError: Allocation on device 0 would exceed allowed memory. (out of memory) Currently allocated : 6.23 GiB Requested : 308.75 MiB Device limit : 8.00 GiB Free (according to CUDA): 0 bytes PyTorch limit (set by user-supplied memory fraction) : 17179869184.00 GiBLooks like your GPU is running out of memory, unfortunately there is not much I can do about that. At higher resolutions 8GB VRam might just not be enough. What you could try is using a hires_scale of 1.5 with a final_upscale_size of 1.333 to get a result at 2x scale.
Can someone send link to the text to workflow png? For me example from github doesn't work
i think if you load this pics in comfy ui (https://raw.githubusercontent.com/SeargeDP/SeargeSDXL/13032fa78842efff34f9c32f0e53fa840fb46dc8/examples/example-0-signature.png) it load the layout of the workflow
dont see support for openpose controlnet. Unless i can use custom.. any chance you can suggest how to add it to the latest?
it would be amazing to be allowed to change the workflow, but it is somehow locked. I'd like to add openpose CN, FaceDetailer, and IP Adapter Plus and IPA mask. But cant move or edit anything. What am I missing?
If you right click a node and press on Pin, it unlocks the node and now u can move it.
The workflow is amazing, Any chance of latest updates and new integrations?
Good day to all of you. If I may ask, where/how to configure ClipSkip on this one?
Have a blessed day.
Hi;
Might be a stupid question, but do I need to download specific "detail processor"? My only option is "none".
Hi, you can check the SeargeDP readme for any model used, you are probably looking for 1x-ITF-SkinDiffDetail-Lite-v1.
I would like to have a simple reactor face upscaler (not to upscale the whole image just the details that has been replaced in the face.)
I know you are quite busy but I want to make this for a Christmas card of someone that passed away is it possible in any way to pay you to make a very very simple bare bones faceswap upscaler? I could use your software or Topaz to upscale the whole image another time. I do have a few days before Christmas so I hope it can be done somehow.
t3media @ gmail
I love this UI for generation, I also like to hook all the control net boxes up to the image to image box and do frame upscaling for video frames
Somebody please make a video tutorial for V4.3, I'm too dumb to understand
Quite simply, exactly the graph and nodes I was looking for to remaster / polish my own paintings. Spent several days trying to find a workflow for that purpose until I stumbled accross Searge the goat! You sir are the man, ily!
I can't seem to get the upscaler to work on any of the .jsons. Seems to stop after the hi-res detailer. I've got 4xUltraSharp and Siax 200k loaded up, boxes are set to <True> but nothing. No errors or anything.
How use custom control net model?
It's sad that the author doesn't reply anywhere, and the wiki on github is not updated with new information
seems like this workflow is out of date now, the manager is saying that there are a lot of conflicts and node name changes
is there any way to look at a progress bar on the active nodes like other workflows?
It's *magic*
thank you! this is the best workflow ever.
Can u add instantID
it's goddd thanks brother just i can't
use depth and other why?
Well, it was the greatest workflow I ever needed, the results were always more than satisfying, but its not working anymore, it broke my Comfyui, and I cannot find a better workflow, Please update it!
Also if anyone know how a good workflow or as good as this one, please let me know.
Edit:
He seems to have updated the workflow so it seems to works fine.
did u find any tho
@Papito1 Nope but I had to fix comfy first and discovered that he has already fixed the file but I forgot to update here. So now his workflow is working out the box once again.
I also for the sake of ease of use installed "Krita Generative AI" It works a lot better than photoshop and so far these are what i'm using. (It uses Comfyui as well, but I let krita redownload its recommended models and its files. In other words didn't use my existing installation as it was a pain in the neck.)
In case you don't know what i'm talking about:
Krita is a digital art painting free open source software, its not used to edit photos; but a brilliant person with username on github called Acly created a plugin that works with Krita to surpass Photoshop generative capabilities and MASSIVE improvement in the ease of use. I used to use original Photoshop but i stopped their subscription due to increase in money and didn't like their new ToS.
You can find the plugin here: https://github.com/Acly/krita-ai-diffusion
By the way i'm open for new workflows if you find a pretty good one. (And really sorry for late reply.)
How can I use the sd1.5 model as a refiner for the basic sdxl model? Like Fooocus
It has so many extras - knobs, dials, bells, whistles - it's hard to know what each extra bit can do? But it does produce some crisp and clean images! I added some LoRAs, PAG Advanced, and Face Detailer - and it knocks each image "out-of-the-park!"
How did you go about adding those extra nodes? I got Face Detailer to work, but had to make custom nodes to extract the necessary fields out of the data pipeline that Searge uses
Is this dead? I havent seen updates in a long while.
Unfortunately Sarge passed away, it is the biggest loss the community has had.
@popedead what the f, rly? why what happened :( daaaaaamn that sucks to hear
@popedead https://www.reddit.com/user/Searge/ hes not dead
can i use it in photoshop-plus
failed to fetch. Any idea how to fix?
I just installed this and comfy broke.
same
MIne didn't break installed 7.12.2025. But none of it works in ComfyUI at the latest version. Several disconnected links despite installing everything exactly as instructed. I don't think this will work any longer without deep dive link reconstruction. Over my head. uninstalling everything.
Thank you so much for all your hard work, i want to add openpose but idk how? if anybody can help that would be appreciated
how do you make it continue after generating the first preview? It just stops and I find no trigger to keep it going to upscale etc... I have all required, recommended and optional files downloaded to the right folders
OK figured it out - very simple. Go to High Resolution Node and change hires_mode to something else than "none" and then set final_upscale_size to something bigger than hires_scale and it will continue to do all three steps of upscaling (and doing it great)
Thanks @eriwet , but do you also get the upscaled version (I don't)? If it works for you, did you have to change something?
Also the only controlnet modes that works for me are canny and recolor... the others give:
SeargeMagicBox
CLIPVisionEncode.encode() missing 1 required positional argument: 'crop'
@eriwet Thank you! I'm still a noob in ComfyUI and trying to learn via examples, and this was driving me nuts - after installing all the custom nodes and upscalers, etc.... I figured there was something I was missing in the sampler or elsewhere. Thank you kindly!
Does anyone know how i can add more slots for LORAs to this? The Lora node that is used here only has limited slots and using another one after the first node doesn't seem to work out all that well.
Try "Power Lora Loader" from rgthree, that node lets you add infinite loras.
I think inpaintinig is having issues, saying movedim is not available. Any thoughts?
Does anyone know if this is compatible with pony? Sorry if this is a silly question.
It is. I use Pony models with it all the time.
As a general rule, it's safe to assume that anything that works for SDXL will also work with Pony because Pony based on SDXL. Stylistically though, sometimes you don't always get the results that you want on Pony from certain SDXL loras and embeddings.
Doesn't work with latest Comfyui versions , nodes no longer work










