Nodes/Umbra Nodes/Image Detailer (Umbra UI)
ComfyUI Node

Image Detailer (Umbra UI)

The detailer that fixes person, face, eyes, and hands in order — one node

By Nocturne-Ai-Labs·Created 2 months ago·Updated 10 days ago· 0
Image Detailer (Umbra UI)
  • image
  • model
  • clip
  • vae
  • positive
  • negative
  • sampling_provider
  • image
  • detail_report
seed0
pipeline_json
person_detailtrue
face_detailtrue
eye_detailtrue
hand_detailtrue

Automatic detailing is the detect → crop → re-render → paste-back loop that saves small faces and ruined hands, and Image Detailer (Umbra UI) is that loop turned into a single node with a stable contract: person → face → eyes → hands, each stage running its own detector, SAM refinement, and low-denoise sampling pass, in that order. If you've fought with wiring up Impact Pack's FaceDetailer plus a separate hand detailer plus a person pass, this is the pack trying to hand you the whole assembly in one box.

How it works

The detailer runs an ordered pipeline of stages, each independently configured:

  • The default contract. Four stages, on by default: person (YOLO segmentation, guide 1024, denoise 0.18), face (bbox, guide 512), eyes (bbox, guide 384, denoise 0.16), and hands (bbox, guide 512, denoise 0.28 - hands need the most work and get the most). Each stage runs detection, refines the mask with SAM (sam_vit_b_01ec64.pth), crops the region up to a guide size, samples at its own steps/CFG (default 4.0, er_sde sampler), and composites back with a feathered seam. The person stage passes a [CONCAT] wildcard ("coherent anatomy, natural body proportions…") so the whole body is nudged toward coherence while faces/eyes/hands get their own targeted fix.
  • Order matters. The loop is ordered precisely because detailers run bottom-up: fixing the body first means the face crop later sees a coherent image, and eyes come after the face stage has already cleaned the region. Each stage's seed is the base seed plus a per-stage offset, keeping it deterministic.
  • The four booleans - person_detail, face_detail, eye_detail, hand_detail - enable/disable stages without touching JSON.
  • pipeline_json - the power move. Leave it empty for the defaults, or pass a JSON array of fully-configured stages (detectorModel, guideSize, denoise, samModel, samThreshold, bboxCropFactor, wildcard, cycle, tiledEncode/tiledDecode, and more) for a completely custom sequence. The schema accepts any number of stages in any order, so you can add a left-hand-only pass, a fur-detector pass, whatever.
  • sampling_provider - the optional UMBRA_DETAILER_SAMPLING_PROVIDER input from the four Umbra provider nodes. Wire one and the detailer swaps Impact Pack's classic sampling for architecture-native custom sampling (Flux.2, HiDream O1, Ideogram 4, OmniGen2). Leave it empty and it uses Impact Pack's FaceDetailer path.

Required inputs: image, model, clip, vae, positive, negative, seed. Outputs: the refined image and a JSON detail_report listing which stages ran and which detector/SAM models were used.

Dependencies - read this before installing

This is the one node in the pack with real requirements. It builds on Impact Pack's FaceDetailer, UltralyticsDetectorProvider, and SAMLoader, so you need ComfyUI Impact Pack and Impact Subpack installed. And it needs these models in the standard folders:

models/sams/sam_vit_b_01ec64.pth
models/ultralytics/segm/person_yolov8m-seg.pt
models/ultralytics/bbox/face_yolov8m.pt
models/ultralytics/bbox/Eyes.pt
models/ultralytics/bbox/hand_yolov8s.pt

Install via ComfyUI Manager (search "Umbra Nodes") or clone, then restart:

cd ComfyUI/custom_nodes
git clone https://github.com/Nocturne-Ai-Labs/Umbra-Nodes

Gotchas

The most common failures are all missing-file failures: a detector .pt that isn't in models/ultralytics/, a SAM .pth that isn't in models/sams/, or Impact Pack not installed - the node raises a clear "Install or update ComfyUI Impact Pack" error when a class is missing. The Ultralytics AGPL + supply-chain history from the KB applies here too: you're running YOLO weights through Ultralytics, so know the licensing story if you ship anything commercial. And remember the golden rule the KB stresses: detail first, upscale after - running this on an already-upscaled image bakes the mangled face into more pixels and costs more to repair.

CategoryUmbra/UI

Inputs (13)

NameTypeDefaultDescription
imageIMAGE
modelMODEL
clipCLIP
vaeVAE
positiveCONDITIONING
negativeCONDITIONING
seedINT00–18446744073709550000
pipeline_jsonoptSTRING
person_detailoptBOOLEANtrue
face_detailoptBOOLEANtrue
eye_detailoptBOOLEANtrue
hand_detailoptBOOLEANtrue
sampling_provideroptUMBRA_DETAILER_SAMPLING_PROVIDER

Outputs (2)

NameTypeDescription
imageIMAGE
detail_reportSTRING