Nodes/tulut_comfyui_Gadget/Tulut Person Detailer
ComfyUI Node

Tulut Person Detailer

Give a whole anime character its own resolution budget

By Tulut114·Created 3 months ago·Updated about a month ago· 3
Tulut Person Detailer
  • image
  • model
  • clip
  • vae
  • upscale_model
  • IMAGE
  • MODEL
  • CLIP
  • VAE
  • UPSCALE_MODEL
lllite_name
prompt
neg_prompt
guide_size768
steps35
cfg4.5
denoise0.40
character_index0
seed0

When you render a full-body anime shot, the whole figure starves for pixels - not just the face. The Tulut Person Detailer is the sibling of the pack's face, hand, and foot nodes, but instead of a tiny region it redraws an entire detected character. Think of it as "give this one person a fresh pass at real resolution," which is a different job from spot-fixing a hand and worth having as its own node.

What it does differently

The mechanism is the same detect-crop-upscale-redraw-paste loop as the other Tulut detailers: a YOLOv8 model finds the person, the crop gets 25% context padding, your upscale_model blows it up, it's resampled to guide_size, and a masked KSampler pass with your denoise re-renders it before the result is feathered back onto the original.

The differences are the defaults and the detector. This node hunts with anime_person_yolov8v1.3s.pt at a more forgiving confidence (0.35, versus 0.50 for the face node), and its guide_size defaults to 768 with a 1536 ceiling - the biggest crop in the pack, because a person needs far more pixels than a face before the redraw can add anything. Denoise defaults lower too (0.40): a whole character is most of the image, so you're resampling near-inpainting territory and heavy redraws start changing the subject instead of repairing it.

The inputs that matter

  • image, model, clip, vae, upscale_model - the render, your checkpoint trio, and a real upscaler (CUGAN or any ESRGAN-family model; the crop is upscaled before redrawing).
  • prompt / neg_prompt - the redraw prompt. Since it covers most of the frame, keep it faithful to the main prompt or you'll get a different outfit in the same pose.
  • guide_size - default 768, up to 1536. This is your quality-vs-VRAM knob, and on a small card you'll feel it fast.
  • denoise - default 0.40. Lower than the face node on purpose; start there.
  • steps / cfg / seed - sampler settings (the sampler is hardcoded to dpmpp_2m_sde / sgm_uniform).
  • character_index - 0 fixes everyone detected; 1+ picks the Nth character by left-to-right order.
  • lllite_name - optional AnimaLLLite injection, default "none".

Outputs: the refined IMAGE and pass-through MODEL, CLIP, VAE, UPSCALE_MODEL, so you can run a person pass and then a face pass in series without reloading anything.

Install and setup

cd ComfyUI/custom_nodes
git clone https://github.com/Tulut114/tulut_comfyui_Gadget

Restart ComfyUI. The same two gotchas as the rest of the pack: ultralytics and opencv-python are not in requirements.txt (only Pillow is), so install them yourself or the whole detailer half silently fails to register. And the YOLO model must sit in ComfyUI/models/ultralytics/bbox/ under the exact name the code loads - for this node that's anime_person_yolov8v1.3s.pt.

Where it trips people up

  • The image comes back identical. Missing .pt file, or the name doesn't match. The node warns in the console and returns the original unchanged - no crash, so it's easy to miss.
  • It changed the character. Denoise up near 1.0 on a near-full-frame mask is basically regeneration. If the person comes back looking like a different character, drop denoise toward 0.3 and re-check your redraw prompt.
  • VRAM. A 1536 guide_size crop on top of your base render can blow past what a small card holds. This is the one Tulut node where I'd run the preview node first to confirm what's being detected, then keep guide_size as low as you can live with.
  • One seed, many people. Every detected region re-renders with the same seed, which is how a crowd becomes a room of clones - the classic auto-detailer failure the KB documents. Use character_index to limit the pass to one person, or accept it.

The honest read: this node is the closest thing in the pack to a general "make the character look better" button, which makes it the easiest to overuse. Reach for it when the figure is genuinely under-resolved, not when the render is already sharp - a second full-body pass on a clean image just pays render time for nothing.

CategoryTulut/Detailer

Inputs (14)

NameTypeDefaultDescription
imageIMAGE
modelMODEL
clipCLIP
vaeVAE
upscale_modelUPSCALE_MODEL
lllite_nameCOMBO1 options: none
promptSTRING
neg_promptSTRING
guide_sizeINT768256–1536
stepsINT351–100
cfgFLOAT4.51–12
denoiseFLOAT0.400.01–1
character_indexINT00–10
seedINT00–18446744073709550000

Outputs (5)

NameTypeDescription
IMAGEIMAGE
MODELMODEL
CLIPCLIP
VAEVAE
UPSCALE_MODELUPSCALE_MODEL