Complex workflow for my new model Cataclysm. It can take up to 18GB of VRAM, I am not sure if it runs on cards with less but can probably be optimized for weaker machines.
Basic SDXL resolution generation with Cataclysm or any other pony model
Upscale by 1.3 and Hyper-Guided denoising (HiRes Fix)
Tiled Upscale using SD1.5 and Controlnet
Face Restoration using FaceDetailer and the initial model
Upscale by 1.3 and add depth blur, noise and chromatic aberration
Tips:
Nodes that need to be adjusted are yellow (checkpoints, LoRA's, etc).
Prompt is split into multiple inputs and should be changed according to their names (In the Prompt & Size Group). This makes it possible to set the prompt at the start and reuse parts of it where necessary.
SD1.5 Upscale (Ultimate SD Upscale Node) can be bypassed, the resulting image still looks great.
Resources:
Description
Initial Release
FAQ
Comments (3)
Why would you need 18GB of VRAM to run such a simple workflow?
Are you running these models in FP32? That is the only reason this might be the case.
Considering you have released an FP16 version of the model (FP32 is the full 13GB model) you may as well set ComfyUI to FP16 using launch arguments.
I doubt anyone needs FP32 precision, unless doing something that requires the utmost accuracy. Even then the results are usually barely any different.
And as it is now, your ComfyUI is simply upcasting from FP16 to FP32 which is taking additional resources and time.
With updated launch arguments like so:
--fp16-vae --fp16-unet
The workflow will be usable by people on 8GB of VRAM and perhaps lower.
Furthermore if you include the use of the Tiled VAE decode and encode nodes it will potentially be usable on even less VRAM.
Keep getting an error while running it, am I doing something wrong?
Error occurred when executing ProPostFilmGrain: 'int' object is not subscriptable File "/home/user/ComfyUI/execution.py", line 151, in recursive_execute output_data, output_ui = get_output_data(obj, input_data_all) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/user/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 "/home/user/ComfyUI/execution.py", line 74, in map_node_over_list results.append(getattr(obj, func)(**slice_dict(input_data_all, i))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/user/ComfyUI/custom_nodes/comfyui-propost/nodes.py", line 197, in filmgrain_image vignette_image = self.apply_filmgrain(tensor_image, gray_scale, grain_type_index, grain_sat, grain_power, shadows, highs, scale, sharpen, src_gamma, seed+b) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/user/ComfyUI/custom_nodes/comfyui-propost/nodes.py", line 205, in apply_filmgrain out_image = filmgrainer.process(image, scale, src_gamma, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/user/ComfyUI/custom_nodes/ComfyUI_LayerStyle/py/filmgrainer/filmgrainer.py", line 60, in process org_width = img.size[0] ~~~~~~~~^^^
This is around right @ the end.






