ComfyUI Node

Flash Pop

The on-camera flash look, from harsh snapshot to barely-lit

By criskb·Created 7 months ago·Updated 5 months ago· 0
Flash Pop
  • image
  • mask
  • image
  • mask
  • flash_pop_info
settings_json{"amount":0.56,"edge_falloff":0.46,"center_x":0.5,"center_y":0.5,"shadow_lift":0.34,"highlight_rolloff":0.22,"warmth":0.08,"clarity":0.18,"mix":1.0,"mask_feather":12.0,"invert_mask":false}

The photorealism playbook has a favorite phrase for beating the "beauty-default" look: on-board flash falloff. Harsh, direct, in-your-face flash with a fast light falloff toward the edges of the frame - the look of a point-and-shoot at a party - is the fastest way to drop a model out of its polished default mode. x1FlashPop is that look, as a node, and it's one of the more distinctive things in the MKRShift pack because almost nobody else ships it.

It's part of MKRShift Nodes by Cris K B, under MKRShift Nodes/VFX/Photo.

How it works

The effect simulates a small on-camera flash: bright center, fast falloff, lifted shadows where the flash didn't reach, and a slight warmth because real flash photos skew warm. The geometry comes from center_x / center_y (default 0.5/0.5) - where the flash is centered - and edge_falloff (default 0.46), which controls how quickly the light dies toward the frame edges. A high falloff gives that harsh "flash-lit just the center" snapshot; a low one just slightly lights the whole frame.

The tone work is shadow_lift (default 0.34), which raises the dark end - flash photos have deep, lifted shadows, not crushed ones - and highlight_rolloff (default 0.22), which softens the bright end so the flash-hot skin doesn't clip to white. warmth (default 0.08) adds the color cast, and clarity (default 0.18) is a local-contrast bump that brings back that slightly crunchy, over-defined look of direct flash light. amount (default 0.56) is the master strength, and mix the final blend.

The inputs that matter

Inside the settings_json:

  • amount - how strong the flash effect is (default 0.56).
  • edge_falloff - the harshness; the higher, the more "snapshot," the more it looks like a real pop of light.
  • center_x / center_y - flash position, if you don't want it dead center.
  • shadow_lift / highlight_rolloff - the tone shape that makes flash read as light rather than vignette.
  • warmth / clarity - color cast and texture.

Optional mask input plus mask_feather / invert_mask, and outputs image, mask, and a flash_pop_info string.

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes

Restart ComfyUI, or use ComfyUI Manager (search MKRShift_Nodes). No requirements.txt, no models, no keys.

The take

Where this shines is character and candid work: push edge_falloff up around 0.6–0.7, keep amount moderate, and the portrait gets that "shot at a real party with a real camera" believability that models refuse to produce on their own. The trap is mistaking it for a vignette - a vignette just darkens edges; flash lights the center and re-shapes the tones, and if you don't touch shadow_lift it just looks like you darkened the corners. Start with the defaults, they're genuinely well-tuned, and resist pushing amount to 1.0 unless "flash was the only light" is the goal.

CategoryMKRShift Nodes/VFX/Photo

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
settings_jsonSTRING{"amount":0.56,"edge_falloff":0.46,"center_x":0.5,"center_y":0.5,"shadow_lift":0.34,"highlight_rolloff":0.22,"warmth":0.08,"clarity":0.18,"mix":1.0,"mask_feather":12.0,"invert_mask":false}
maskoptMASK

Outputs (3)

NameTypeDescription
imageIMAGE
maskMASK
flash_pop_infoSTRING