Nodes/Temporal Face Detailer/Temporal Face Detailer (SDXL video)
ComfyUI Node

Temporal Face Detailer (SDXL video)

A ComfyUI node in TemporalFaceDetailer with 45 inputs and 4 outputs.

By nikythebikky·Created 2 months ago·Updated 2 months ago· 0
Temporal Face Detailer (SDXL video)
  • image
  • model
  • clip
  • vae
  • positive
  • negative
  • lora_stack
  • reference_image
  • image
  • face_masks
  • debug_overlay
  • face_tracks
positive_textdetailed face, sharp eyes, high quality skin texture
negative_textblurry, deformed, low quality
detectorinsightface
det_threshold0.50
min_face_size24
max_faces4
detector_devicecuda
iou_threshold0.25
max_track_gap10
min_track_length2
crop_factor1.7
crop_smoothing0.80
crop_anchorlandmarks
align_rotationfalse
guide_size768
max_size1024
seed0
steps20
cfg7.0
sampler_name
scheduler
denoise0.35
denoise_max0.00
noise_modefixed_per_track
detail_modeimg2img
mask_dilation8
feather15
temporal_strength1.00
flow_strength0.50
latent_blend0.00
flow_bidirectionaltrue
flow_backendfarneback
color_match0.50
chunk_size4
detail_every1
track_prompts
reference_strength0.35
CategoryTemporalFaceDetailer

Inputs (45)

NameTypeDefaultDescription
imageIMAGEvideo frame batch
modelMODEL
clipCLIP
vaeVAE
positive_textSTRINGdetailed face, sharp eyes, high quality skin texture
negative_textSTRINGblurry, deformed, low quality
detectorCOMBOinsightfaceyolo:* entries are ultralytics models found in models/ultralytics — use an anime face model (e.g. bbox/face_yolov8m_anime.pt) for stylized characters
det_thresholdFLOAT0.500.05–1
min_face_sizeINT248–1024
max_facesINT41–16
detector_deviceCOMBOcuda2 options: cuda, cpu
iou_thresholdFLOAT0.250.05–0.95min overlap to link a detection to a track
max_track_gapINT100–120frames a face may vanish (occlusion) before its track ends; gaps are interpolated
min_track_lengthINT21–120
crop_factorFLOAT1.71–4
crop_smoothingFLOAT0.800–1temporal smoothing of the crop window (anti-jitter)
crop_anchorCOMBOlandmarkslandmarks centers the crop on the facial-landmark centroid (far more stable than the detection box); falls back to bbox when the detector yields no landmarks
align_rotationBOOLEANfalserotation-register crops so the eye line is horizontal in every sampled crop (similarity transform, inverse-warped on paste-back); needs a landmark-capable detector
guide_sizeINT768256–2048resolution faces are resampled at
max_sizeINT1024256–2048
seedINT00–18446744073709550000
stepsINT201–100
cfgFLOAT7.00–30
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT0.350–1main quality/consistency lever: higher = more detail but more flicker (0.3-0.45 recommended)
denoise_maxFLOAT0.000–1adaptive denoise: when above 'denoise', steady frames keep the low base value while high-motion frames ramp toward this. 0 = off (single global denoise)
noise_modeCOMBOfixed_per_trackfixed_per_track reuses the same seed and noise on every frame of a track — the biggest identity-stability lever
detail_modeCOMBOimg2imginpaint restricts sampling to the face mask in latent space; img2img resamples the whole crop (mask still limits the paste-back)
mask_dilationINT80–128
featherINT150–128
temporal_strengthFLOAT1.000–1master anti-flicker strength; scales flow blend + color match
flow_strengthFLOAT0.500–1optical-flow-guided temporal blend of detailed crops (pixel space)
latent_blendFLOAT0.000–1flow-guided temporal blend in LATENT space before decode — smooths in the VAE's semantic space, letting you raise denoise with less flicker. Try 0.3-0.5 with denoise 0.25+; 0 = off
flow_bidirectionalBOOLEANtrue
flow_backendCOMBOfarnebackraft_small/raft_large (torchvision) give much cleaner flow on fast motion at some VRAM/time cost; auto-falls back to farneback on any failure
color_matchFLOAT0.500–1match each detailed crop's color to its source (stops brightness pulsing)
chunk_sizeINT41–64crops sampled per batch; lower if you hit OOM
detail_everyINT11–30keyframe mode: sample every Nth frame, flow-propagate the rest (speed on long clips)
positiveoptCONDITIONINGoverrides positive_text
negativeoptCONDITIONINGoverrides negative_text
lora_stackoptLORA_STACK
track_promptsoptSTRINGper-track positive prompt overrides, one per line: 'track_id: prompt' (see the debug overlay for IDs)
reference_imageoptIMAGEidentity anchor: a reference face image the detailed faces are biased toward (init-latent nudge + color anchoring). For strong identity conditioning also patch the MODEL with IPAdapter FaceID upstream — crops are sampled with whatever model you feed in, so it composes
reference_strengthoptFLOAT0.350–1how hard to pull toward reference_image (no effect unless it is connected)

Outputs (4)

NameTypeDescription
imageIMAGE
face_masksMASK
debug_overlayIMAGE
face_tracksFACE_TRACKS