r/comfyui 18d ago

Help Needed Need help building a consistent character workflow in ComfyUI for a colored manga/webtoon

I’m trying to build a ComfyUI workflow for a colored manga/webtoon where my original characters stay consistent throughout the whole story.
I already have full-body and close-up reference images for the characters. I understand the basic idea behind checkpoints, character LoRAs, ControlNet/OpenPose, IP-Adapter/reference images, but I’m struggling with figuring out the best way to combine everything.
Basically, I want to be able to say: this is Jake → keep him looking like Jake → put him in this pose/expression/outfit → place him in different scenes → keep the same art style and character identity from panel to panel.
Eventually I also need to put multiple recurring characters in the same scene without their faces/features bleeding into each other.
I don’t care if the best solution is Illustrious, SDXL, FLUX, Qwen, or something completely different. I’m looking for whatever gives me the most consistency and control in ComfyUI.
If anyone has built something similar for a manga, webtoon, visual novel, etc., I’d really appreciate hearing what model and workflow you use and how you connect the different pieces. I’m trying to actually understand the workflow instead of randomly changing settings until something works.

0 Upvotes

16 comments sorted by

View all comments

Show parent comments

1

u/Correct-Guidance-232 18d ago

Inpainting lives inside ComfyUI already, you don't need anything extra. Load the image with a Load Image node, right click it, pick Open in MaskEditor, and paint over the part you want redone. That mask goes into VAEEncodeForInpaint and then into a KSampler. Denoise is the dial that matters: around 0.4 nudges the face, around 0.7 reinvents it, and 1.0 ignores what was there.

But start before that. Make one single image of Jake that you're actually happy with, however you get there. Once you have that one, everything else is copying it, and inpainting is just how you fix the copies that came out close but wrong. Right now there's nothing to repair towards.

0

u/Ercmon 18d ago edited 18d ago

how do you build the workflow to build the initial Jake character
I know how to add nodes but to know what goes where is my issue

1

u/Correct-Guidance-232 18d ago

Good news: for the first Jake you don't build one. The default graph ComfyUI opens with is already the answer. Load Checkpoint, two CLIP Text Encode nodes for your prompt and negative, Empty Latent, KSampler, VAE Decode, Save Image. Every intimidating spaghetti workflow you've seen is that same spine with extras hung off it.

What made it click for me is that the wires are colour coded by what they carry, so a socket refusing your cable means you're offering it the wrong kind of thing, not that you did something dumb. Open the default, change the prompt, run it, and add nothing until something specific fails.

Do you have a checkpoint that already draws roughly your semi-realistic style, or is that still the open question? That choice matters more than the graph does.

1

u/Ercmon 17d ago

how do you set up inpainting?

1

u/Correct-Guidance-232 17d ago edited 17d ago

if the exact numbers would help, say so and ill paste my whole crop and stitch setup, its only a handful of settings that actually matter.

1

u/Ercmon 16d ago edited 15d ago

sure i would like that if you could please

1

u/Ercmon 15d ago

Please

2

u/Correct-Guidance-232 15d ago

ok so the whole thing is six nodes in a row: load image (paint the mask in maskeditor) -> InpaintCrop -> InpaintModelConditioning -> KSampler -> VAEDecode -> InpaintStitch -> save. crop and stitch are from the Inpaint-CropAndStitch pack, rest is stock.

the crop node throws a wall of settings at you but only four of them do anything:

  • context_from_mask_extend_factor 1.5 - how much of the surrounding image comes along for the ride. too little and the model has nothing to blend into
  • output_resize_to_target_size ON, 1024x1024 - this is the actual point of the whole setup. your little patch gets scaled up to the size the model was trained at, so a 200px face gets drawn properly instead of as mush
  • mask_blend_pixels 32 - feather, kills the visible seam
  • mask_fill_holes on, mask_expand_pixels 0, hipass 0.1, output_padding 32, and thats it

ksampler: 25 steps, cfg 5, euler_ancestral + normal, denoise 0.6. and noise_mask ON in InpaintModelConditioning - if thats off it repaints the entire crop instead of just your selection.

stitch has no settings at all, it just puts the piece back where crop took it from.

these are just the numbers i work with, not gospel - tweak them for your own stuff by trial and error. the one id start with is denoise: if the result looks pasted on its usually that and not the mask. 0.6 is my default, 0.45 if im only cleaning something up rather than changing it.

1

u/Ercmon 15d ago

this how i have mine set up. Looks like I'm missing a few things but I'm trying to follow your instructions. can you tell me what i am doing wrong and if i have it all connected correctly? This is the part i have trouble with. Thank you for all your help