
Join The Tinkerer on Whop. Membership gets you early releases, private tools and a bunch of extra stuff.
👉 Join on Whop
💬 Join the community for support, free tools and early news on Discord
Future updates and beta versions are available via the public Whop page:
https://whop.com/cyberdelia-ai-lab/comfy-ui-workflows-sdxl-kqDPsVNQLvm9be/app/

V4 is a cleaner and more simplified version of the workflow, with fewer unnecessary nodes and a more focused structure. Some heavier extra processing steps were removed, making the setup easier to follow while keeping the core generation, ControlNet, detailing, and final post-processing intact.
This workflow also requires the ComfyUI Image Metadata Extension custom node. I forked it and made several fixes and compatibility improvements, especially for Civitai. It works as a drop-in replacement for the standard Save Image node and embeds clean A1111/Forge-compatible metadata directly into the PNG.
Custom node:
https://github.com/cyberdeliaAI/revived_comfyui_image_metadata_extension
Install
Open your ComfyUI custom_nodes folder and run:
git clone https://github.com/cyberdeliaAI/revived_comfyui_image_metadata_extension.gitRestart ComfyUI afterwards.
Skin Enhancer:
File: 1xSkinContrast-High-SuperUltraCompact
https://openmodeldb.info/models/1x-SkinContrast-High-SuperUltraCompact

By popular demand, here’s the ComfyUI workflow I use when I’m (rarely) not on Forge. This setup covers upscaling, a face detailer, and a hand detailer. I’ve also included all the metadata you’ll need to upload straight to Civitai.
If you see anything that could be better, let me know! I’m always up for suggestions.
Description
First version for SDXL, Pony, Illustrious and SD1.5
FAQ
Comments (41)
Perturbed Attention Guidance (PAG) works very good with cfg=1 also!
PAG is everything agnostic, havent seen it not work with something. Cost is about 50% performance. Even low number helps tying image together (eg. like 0.25). Different models have different maximums, heavily punished SD15 can survive even 5.0 .. others much less usually.
In case someone wants a bit extra oomph, especially in HiRes fix or detailers, using Self-Attention Guidance is good. I like to start with 0.25/1.0, effect depends on model and such. Adds some extra performance cost too and doesnt work with resolutions that are not multiples of 64.
Now i can be as powerful as Cyberdelia at last...
Thanks for this! New to comfyui and hearing a lot about forge. What makes it better? Faster image gen?
Forge is just way simpler. But hey, if you enjoy a bit of self-inflicted pain, then ComfyUI is definitely your thing ;)
Cyberdelia Simpler but not better. :) Great workspace, but I'll stick with mine.
It has couple special things under hood. Not sure of Fooocus is still around, but that was best for SDXL, if SDXL was only thing you wanted.
Mescalamba currently my journey is 80% SDXL stuff. but the other 20% is so much fun idk if ill switch lol. interesting! thanks for the info <3
Cyberdelia who doesnt love node spaghetti? XD
dukesups Based on that workflow, for sure not.. thats tidiest workflow Ive seen for some time.
dukesups Most space is taken usually by models, so no problem to have everything installed.
dukesups glitchy SD WEBUI is nothing compared to ComfyUI, ComfyUI gets updates every day and there's 3k+ extensions for it
Have you had any luck with your genaether embeddings in comfyui?
Yes, it's working fine. This is the correct prompt:
embedding:sdxl_jessidom, hair in a messy bun with soft wispy bangs, leaning back in a natural hotspring surrounded by rocks, nude, reflection visible in water, side view, closeup portrait (closeup:1.2), breast focus, looking at viewer with a coy smile, dappled lighting, bokeh and shallow depth of field, cinematic lighting (cinematic lighting:1.3), chromatic aberration, soft dim warm tones (dim warm cinematic lighting:1.3)
instead of
sdxl_jessidom, hair in a messy bun with soft wispy bangs, leaning back in a natural hotspring surrounded by rocks, nude, reflection visible in water, side view, closeup portrait (closeup:1.2), breast focus, looking at viewer with a coy smile, dappled lighting, bokeh and shallow depth of field, cinematic lighting (cinematic lighting:1.3), chromatic aberration, soft dim warm tones (dim warm cinematic lighting:1.3)
Thx for the wf! UltimateSDupscale doesnt work in my comfy even after reinstalling. I have replaced the upscale node with deep cache upscaler u can check my picture
UltimateSDupscale does work, maybe, you get an error due to ansitowin32.py?
2P2 Yes it works but I need to delete and reload the node. deep cache upscaler seems to work fine too u can see the nodes in the wf in my picture
Really well organized and good workflow, thanks!💜
I had quite similar(ish) workflow, but replaced it with this, since this is so clean and neatly packaged into a nice compact format.
Yes, my previous one looked like a drawing of Gotham City sewage system done by someone on acid trip, a node vomit fractaling out of control with extra galactic arms made of "i might need this node someday." :D
Much more clean and comfy now. ^^
Thanks so much for your hard work, very impressive workflow layout!
I'm finding that my face detailer outputs are indeed more detailed, but aesthetically a significant downgrade from the original. I've experimenting with prompting and denoise to no avail. A smirk becomes a frown, blue eyes become brown, light makeup becomes either completely overkill or none at all.
Your default prompt works great, though. Any tips?
Thanks again!
This is excellent. Incredibly well thought through and works flawlessly. If you end up creating a workflow for WAN Img2Vid, that would be amazing. Let me know if you want some buzz to help!
OMG - I'm so thankful. Last night I realized my very similar pipeline workflow wasn't writing the metadata correctly for CivitAi, even though I had a fantastic python script that was extracting all the metadata into a nice text file. I was depressed - This morning I saw this, swapped in some of my own groups - I have randomness and img2img built in, and wow, this is EXACTLY what I needed. THANK YOU!
Nice!
Is there a way to easily enable/disable parts of the workflow?
Yes, but I need to change some parts because it now doesn't work.will add this is the next version
Cyberdelia found a workaround (I guess), right click on the '1st pass' on top and 'Queue selected output nodes' - seems to be running just the 1st pass.
Thanks for the awesome work and good luck with the update (one thing I think would be good is to use the seed and seed settings from the input in the first pass automatically)!
I am sorry for the dumb question, however, I am a beginner who dropped by your workflow and was wondering how do you run the rest of the flow ( Hand/Face/Upscale and Final result? I am still understanding the whole process and work with ComfyUI
This should normally happen automatically, maybe the upscale model is missing, then the workflow stops.
You can try fix it by downloading the model from here:
https://huggingface.co/uwg/upscaler/blob/main/ESRGAN/4x_NickelbackFS_72000_G.pth
Then copy it to comfyui/models/upscale_models/ and reload ComfyUI.
After that, go to the purple "upscale image" section and pick the model in the "Load Upscale Model" node.
Works great except i'm getting a message about the upscaler not liking receiving negative numbers for width and height?
Amazing workflow but my prompt extractor wont work on the end products, any idea how to get prompt data out of the photos?
I have the same problem. Would love a fix for this.
Not a single workflow for SDXL with lora loader. What a life. It's not working
Please explain what is not working/missing?
Is anybody else getting a Return type mismatch between linked nodes: scheduler, received_type(
The scheduler and denoise links from the Input Paremeters node are swapped. Try expanding the Context Big (rgthree) node to correct the scheduler link. The denoise should go into a Reroute node below.
Lovin the workflow. I was going to write a comment that everything works perfectly except I get shitty eyes every time... then I realised it was just my shitty character lora :D
Unfortunately, the workflow isn't working. It's throwing an error.
Expand the failing node (Context Big rgthree), and disconnect (click on) the scheduler... That is what fixed my issue. If your happens to be the same anyway (brand new install of ComfyUI as of today).
@mathewmiller Can't get it to work. The scheduler is not connected to the Context Big (rgthree) so i can not remove this one.
Bit of a rookie.. receiving the following error when trying to run this workflow and not sure what to change.
Prompt outputs failed validation: Context Big (rgthree): - Return type mismatch between linked nodes: scheduler, received_type(FLOAT) mismatch input_type(['simple', 'sgm_uniform', 'karras', 'exponential', 'ddim_uniform', 'beta', 'normal', 'linear_quadratic', 'kl_optimal']) Image Saver Metadata: - Exception when validating inner node: tuple index out of range
Disconnect the scheduler nodes wherever you see an error and manually select Karras as the scheduler.
Edit: I hear the scheduler and denoise connections are swapped, in which case disregard. I think I encountered this problem in my workflow, when it tries to input the scheduler into the metadata aggregator node. The scheduler has to be converted to a string first or something. I picked the trick up from Legendaer’s workflows. In mine I call this conversion node “Scheduler Conduit.” Basically like Michael said you can set the scheduler manually .. but I recommend my fix so that you keep the controls more centralized and pass the scheduler name successfully to everywhere it’s intended to go.



