Nodes/ComfyUI-GiftHelperSuite/Gift Chroma Master · 诊断视图
ComfyUI Node

Gift Chroma Master · 诊断视图

Actually seeing what your keyer decided

By lingziwyh·Created 5 months ago·Updated 11 days ago· 7
Gift Chroma Master · 诊断视图
  • state
  • diagnostic
viewclean_matte

Chroma keying fails silently. The matte looks fine, the composite looks fine, and then you find the subject's hair was eaten two frames in, or the "keyed" footage is full of transparent holes you never noticed because the preview background hid them. GiftChromaMasterDiagnostics is the suite's answer: a single node that renders the internal states of the keying pipeline as viewable images, so you can stop guessing which stage is misbehaving.

It's not a production node - it's a debugging instrument. You hook it up mid-chain, look at a few frames, fix the problem, then disconnect it before the full run. The README is explicit about this, and the advice is worth following: don't leave it on a long video pass.

How it works

You feed it one input, state (a GIFT_CHROMA_MASTER_STATE from the Keyer, Cleaner, or Despill node), and one dropdown, view, which picks among ten internal visualizations:

  • raw_matte - the matte before any cleanup, straight out of the keyer. Your baseline.
  • screen_matte - how strongly each pixel looks like the sampled screen color.
  • screen_mix - where the screen color is partially mixed into the subject (a spill heat-map).
  • keyed_matte - the base matte after keying, before the cleaner.
  • clean_matte - the matte after the cleaner runs. Compare to keyed_matte to see what the cleaner actually changed.
  • edge_map - the edge band the cleaner operates on. If this looks wrong, your edge_radius is off.
  • repair_map - where the cleaner decided to pull detail back.
  • temporal_gate - which frames the temporal stabilizer treated as motion vs. matte noise (video debugging).
  • spill_map - where the despill stage found screen-color contamination.
  • screen_color - the color the keyer settled on for the whole batch. This one is the reality check: if the screen color is wrong, everything downstream is wrong.

Output is a single diagnostic IMAGE you wire to any preview/save node.

The workflow it's built for

Wire up the expert chain - GiftChromaMasterKeyerGiftChromaMasterCleanerGiftChromaMasterDespill - and hang this node off whichever state you're tuning: the Keyer's keyer_state, the Cleaner's cleaner_state, or the Despill's final_state. Flip between screen_color and clean_matte first; those two tell you whether the problem is upstream (screen detection) or mid-chain (edge cleanup). Only then go spelunking in temporal_gate or spill_map.

A genuinely useful habit: if screen_matte shows the subject itself lighting up like the screen, your auto screen detection is sampling wrong - subject color is being mistaken for screen color, and no amount of despill will fix that. Fix the screen color, then re-run.

Install is the pack's standard: ComfyUI Manager (search "ComfyUI-GiftHelperSuite") or git clone https://github.com/lingziwyh/ComfyUI-GiftHelperSuite.git into custom_nodes, restart, no extra pip dependencies. And if you're not in an expert-chain debug session, remember the one-button GiftChromaMaster already runs the whole pipeline - the diagnostics node only exists to open that pipeline up when a shot refuses to cooperate.

CategoryGiftHelperSuite/Chroma

Inputs (2)

NameTypeDefaultDescription
stateGIFT_CHROMA_MASTER_STATE
viewCOMBOclean_matte10 options: raw_matte, screen_matte, screen_mix, keyed_matte, clean_matte, edge_map, +4

Outputs (1)

NameTypeDescription
diagnosticIMAGE