Hello Everyone!
Have you ever created an image you like and would have kept, but and a face, or hand just came out wrong? You need a workflow that can take control address that.
Ever make an image that had multiple characters, but when you tried to assign them the correct eye color or expression, the checkpoint got confused, and you had to play generation roulette? You need a workflow that lets you decide whose face has just came out like what.
That is what this workflow, used properly, will allow you to do. This workflow is my daily driver T2I workflow for checkpoints based in SDXL, Illustrious and Pony. It is based upon my Img2Img SDXL Workflow + META, which I was only able to create thanks to bits taken from other workflows, particularly those of Legendaer and Yukichan_, and advice from Lonecatone23. Over several revisions, I have made a number of refinements to the workflow while at the same time striving to keep it simple so that even a beginner can take hold of this workflow and start generating.
Main Features:
✦ SDXL Text to Img Generation - That's what we're here for, text to image.
Include Metadata / Embed Workflow Option. Stable 1 megapixel generation, or dare to increase it with Size Boost.
✦ Metadata saving included — CivitAI ready. You can also embed the entire workflow into your images, by default this is turned off.
✦ Upscaler with Color Matching - this is the feature that makes images go from good to great. Or use HiresFix for a quick increase in resolution
✦ Quality Tags Presets Switch - instead of typing Masterpiece, best quality, etc. etc.
✦ Two Segs Detailer Arrays - two SEGS pipelines (by default, hands and faces) that you can individually prompt or apply one prompt to all. Sophisticated tool created to handle individual details - your backstop for when the image has to be perfect.
✦ Parallel development with I2I workflow - if you learn this one my Img2Img works essentially the same way.
✦ CFG Controls - need more control, more CFG? It's handled automatically, crank it up to 10.
✦ LoRA Manager — Search your LoRA database with style, I love this node. Dump it if you prefer something else.
✦ Simple and reliable — Enter your prompt, hit run, let the segs previews populate, freeze the gen seed, and fill in prompts and run it again. That's it.
New with 5.0 SE
Skipped 4.0, just because
Seed Jump
Style Preset switching
Added a toggle and Subgraph for exceeding native SDXL resolution on initial gen
Fixed Typos for name of Face Detailer LoRA blocker nodes
Does not include Quality Tags Fast Switching, uses native concatenate nodes
5.0.1 Changes:
Changed Positive Text Box to Mira, which was already being used in this workflow
Changed Wildcard Processor
Seed controls Wildcard selection (Freezing seed freezes your wildcards too now)
Added Final Prompt Preview
Added a toggle and Subgraph for exceeding native SDXL resolution on initial gen
Slight rearrangement of Control Group, hopefully optimal
New with 3.0:
With 3.0, the layout has changed and metadata flows have changed. The checkpoint loader is now the checkpoint selector, which should provide some convenience and added stability. The LoRA blocker no longer requires fiddling with the spaghetti string to toggle it, there is now a toggle switch. Sliders have been implemented throughout the Input center, including controls for the Upscaler.
New with 2.2:
Added toggles for including the workflow in the image's metadata.
Added a means by which you can bypass the upscaler and still send the image (directly from phase 1 gen/hires fix) to the detailer, rather than being forced to use upscaler in order to access the detailer.
Color Matching directly following Upscaler - I have found that some models have noticeable drift in color tone and this corrects that, works beautifully.
New with 2.1:
Detailer moved to the back of the order, after upscale, to ensure that full control over expressions remains with you, the artist. I'm very happy with this workflow in its current form, although there might be new versions or changes down the line.
New with 2.0:
Raise CFG without crushing the image
Upscaler with a third save node
Somehow resists LoRA bleed, whether it's the scheduler / sampler combo or what I'd love to know. It's not perfect though!
Preview KSampler - a game changer for skipping unsatisfactory seeds. Use it!
You will need to download an upscaler model if you don't have one already.
How this Workflow Came to Be
I was using one of these massive workflows with all the bells and whistles and I ran into a snag. A LoRA was confounding the hand detailer and the hands were all coming out like macaroni alfredo. So, I turned off that LoRA. I was also running into a common problem: when two characters are in the frame, they end up with the same eye or hair color. The tags were blending across character BREAKs which is ultra common, and detailers that handle all bboxs in order cannot be instructed on each bbox individually. That's something that my I2I workflow was designed to do, and the mega huge T2I workflow with all its heft didn't have detailer separation as a feature.
I don't think I could add to such a complex workflow without tripping up and it end up taking 2 hours. I thought if I'm going to modify a workflow it might as well be my own. It would keep things simple with only nodes I know I have, I'd finish in under 30 minutes, and then I would have complete control over faces.
Saving the metadata is important too, however somehow in converting things and removing things that get concatenated (such as the natural language prompt), the metadata portion got a little scrambulated, and don't worry I fixed it -- but 30 minutes turned into a several hour affair. Under nine hours though, I'm pretty sure. The latter part was mostly testing and tweaking. I ended up making some changes to the detailer modules so that they don't spam the image feed, and upgraded that module to V1.1.
During testing, I started with one figure, then two, and I soon discovered that this workflow is absolutely a beast at ensuring your faces all look great. Whether you have one face in the image or five, the detailer can make each one pop with high aesthetic quality and unique expressions, and the SEGS previewer keeps you in control.
The hand detailer gives you per-segs control over hands although sometimes bad hands are going to happen, particularly when there are many in one image. Fingers in AI is always a little trickier, but the workflow allows you to add a hand detailer LoRA directly to the detailer, upping your chances of success dramatically. Do it. At the same time, that LoRA will be blocking other LoRAs that could create havoc on delicate fingers. I haven't seen this approach elsewhere, curious whether it holds up in your experience. Please let me know in the comments what you think about my LoRA blocker, if you have any aspects you think ought to be changed, bug fixes, etc. This is just version 1, it's bound to evolve.
Requirements
You will need a face bbox detector - like this one
You will needs a hands bbox detector - like this one
You might decide to add or replace a bbox detector for face or hands with one for eyes, or add another bbox array. For eyes, try this one
In ComfyUI you may need to turn some safety features off to use pickletensors. Consult AI if you run into problems.
Custom Nodes Used:
rgthree-comfy
ComfyUI Impact Pack
ComfyUI Impact Subpack
ComfyUI-Easy-Use
ComfyUI-Lora-Manager
ComfyUI Image Saver
ComfyUI_essentials
ComfyUI-KJNodes
cg use everywhere Anything Everywhere
Dynamic Thresholding
Comfyui_Mira
Skimmed_cfg
efficiency-nodes-comfyui
Comfyroll Studio
ComfyMath
Description
Skipped v4.0
Quality Tags Style Swapper added
Replaced Wildcard Processing Node, and placed it under central seed management
Seed Jump on upscaler and detailers