🥣 spillSoup - Seamless, artist friendly spill control

spillSoup is a compact, non‑destructive spill tool (gizmo) for Nuke. It’s designed to be comprehensive (good for despill, keying support, and gentle color pushes) while staying lightweight and edge‑friendly.

Use it to:

  • Remove screen‑color spill cleanly (despill).

  • Re‑introduce just enough neutralized luminance after despill to avoid dull patches.

  • Create an isolated spill matte you can reuse (e.g., for alpha generation or as a comp mask).

  • Minimize edge artifacts by steering the detector with Threshold and Influence.

First submitted: 24 August 2025

Updated: 25 August 2025

Author: TheoGrez

Compatible Nuke versions: All

Compatibility:

🥣 spillSoup — User Guide

Version: 1.2 • Author: Theo Grez
Platform: Nuke gizmo


UI overview (from the gizmo code)

Target color

  • Red / Green / Blue (toggles; Red is default): which channel’s spill you’re targeting.

Detection (header: THRESHOLD)

  • Threshold (0 → 2; default 1) – scales the reference used to detect spill. Higher values = stronger extraction.

  • Influence (-1 → +1; default 0) – biases the detection towards another color channel.

Spill controls (header: SPILL CONTROL)

These shape the new_spill that is added back after despill:

  • Brightness (Grade multiply; default 0) – gain on the reinserted component. 0 = pure despill.

  • Saturation (Saturation1) – saturation of the reinserted component. At 1.0 the image will look the same if the Brightness is set at 1.0 as well : you're re-injecting the same thing you removed. 0 = white spill.

  • Gamma (Grade gamma; default 1) – tones the reinserted component (push into shadows/mids/highs).

  • Hue (HueShift hue_rotation; default 0°) – shifts the hue of the reinserted component.

Output / viewing

  • Show: Result (input with spill removed) or Isolated Color (view the extracted spill matte/isolated channel).

  • Output in alpha: replaces output alpha with the isolated spill (useful for key/matte work).

  • Mix: overall blend (Dissolve) between the original and processed result (1.0 = full effect).


How it works (a bit of math)

The gizmo extracts a spill component from the chosen target channel and lets you reinsert a modified version of it:

output = (input - original_spill) + new_spill

The per‑channel extraction (for the selected target) is computed with a weighted average of the two non‑target channels and a scale factor (Threshold):

  • Target Blue: spill_b = b - ((r*(1+Influence) + g*(1-Influence)) / 2) / Threshold

  • Target Green: spill_g = g - ((r*(1-Influence) + b*(1+Influence)) / 2) / Threshold

  • Target Red: spill_r = r - ((g*(1+Influence) + b*(1-Influence)) / 2) / Threshold

new_spill is the original_spill with a bunch of operations done to it. Namely : Brightness, Saturation, Gamma, and optional Hue adjustments.


Typical workflows

1) Clean despill for keying

  1. Pick Blue or Green to match your screen.

  2. Start with Threshold = 1, Influence = 0.

  3. Leave Brightness = 0 for a pure despill.

  4. If it feels flat, nudge Brightness up and keep Saturation low; use Gamma to bias tones.

2) Fine‑tune detection with Influence

  1. View Isolated Color via Show.

  2. Sweep Influence toward the channel that best matches your subject until edge hits disappear.

  3. Adjust Threshold to balance coverage vs. edges.

3) Spill‑based matte / alpha

  1. Set Show → Isolated Color to validate the matte.

  2. (Optional) Connect mask input to limit where spill is considered.

  3. Enable Output in alpha to pipe the matte downstream.


Tips for minimum edge artifacts

  • Use Influence to steer away from problem edges (e.g., a red wardrobe next to a green screen → bias toward Red when targeting Green).

  • Inspect Isolated Color; to help vizualize what you are extracting and see if anything shouldn't be removed (the spill of clothes for example). You can then play with the Threshold to.

  • Keep Brightness modest; try driving Brightness + Saturation together.

  • Work pre‑multiplied correctly and in linear; watch for clamped values.


Created by Theo Grez

Sign in or register to download or rate.