JOS JOS Compositor

Node reference

Keyer nodes

ChromaKeyer

A basic chroma key (Keith Jack's): pixels near the key colour's hue become transparent; its spill is taken out of the rest.

Inputs: input.

Setting Default Range or choices What it does
key colour 0 1 0 1 0 to 1 The screen's colour: pick it with the eyedropper (or Ctrl+Alt+click / drag in the viewer); it reads the input, not the keyed result.
acceptance angle 120 1 to 179 How far around the key colour's hue keys (degrees): wider takes more.
suppression angle 40 1 to 179 How far around it spill is taken out (degrees).
key lift 0 0 to 1 Key values under it count as foreground (a cleaner core).
key gain 1 0 to 4 Scales the key (over 1: a cleaner screen).
despill on Take the key colour's spill out of the foreground.
output premultiplied premultiplied, unpremultiplied The colour multiplied by the new alpha, or left as it is.

Cryptomatte

Mattes from a render's Cryptomatte layers: pick objects by name (or wildcard) and get their matte.

Inputs: rgb, crypto (optional).

Setting Default Range or choices What it does
layer The Cryptomatte layer: objects, materials, assets... (a menu of the input's layers).
preview on Show every object in its own colour, the selected ones lighter.
matte output A The channel the matte goes to.
remove channels off Removes the Cryptomatte ID layers from the output, so nodes below and Writes don't carry them (with the crypto input connected they never do).

Despill

Takes a green (or blue) screen's spill out: the screen's channel is held down to a limit made from the other two.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
screen green green, blue, red The screen's colour.
limit average average, max, min, weighted What the screen channel may not exceed: the other two's average (the usual), the larger (gentler), the smaller (stronger), or a weighted mix.
weight 0.5 0 to 1 With weighted: the share of red (of green for a red screen); the rest is the third channel.
amount 1 0 to 1 How much of the spill is taken out.
keep luminance on Add the luminance taken away back as grey, so despilled areas don't darken.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Difference

A matte of where two images differ (e.g. a plate and a clean plate).

Inputs: A, B.

Setting Default Range or choices What it does
offset 0 -1 to 1 Taken off the difference.
gain 1 0 to 20 Multiplies the difference after the offset is taken off.
output A The matte's channel.

HueKeyer

A key from hue: how much each hue keys (amount) and the saturation it takes to key fully.

Inputs: input.

Setting Default Range or choices What it does
output alpha The channel the key goes to (alpha: A).
invert on 1 - the key (Nuke's default: the chosen hues become 0).
premultiply off R, G and B times the key, when it goes to alpha (not in Nuke).
lut amount {} sat_thrsh {} Against hue (0 magenta, 1 red, 2 yellow, 3 green, 4 cyan, 5 blue): how much it keys, and the saturation where the key is full.

Plate Key Colour

Type name: IBKColour (scripts, MCP and Nuke import use it).

A clean plate of the screen for IBKGizmo: the foreground taken out and filled with the screen around it.

Inputs: img.

Setting Default Range or choices What it does
screen type blue green, blue The screen's colour: pixels where its channel is above red + the other channel (after darks and lights) are screen.
size 10 0 to 100 How far the screen's colour spreads into the foreground: a blur this wide, in pixels.
darks 0 0 0 1 -1 to 1 Added before judging what is screen: lower the screen channel's (darks.g on green) until only screen colour and black remain.
lights 1 0 to 2 Multiplied before judging what is screen.
erode 0 0 to 5 Shrinks the screen by this many pixels, so the foreground's edge colours stay out of the plate.
patch black 0 0 to 5 Fills what the size didn't reach (black in the plate) with the screen's colour from further away.

Plate Keyer

Type name: IBKGizmo (scripts, MCP and Nuke import use it).

Image-based keyer: the matte from the foreground against a clean plate of the screen (IBKColour's), the screen's colour taken out of the edges.

Inputs: fg, c (optional), bg (optional).

Setting Default Range or choices What it does
screen type C-blue C-blue, C-green, pick C-blue / C-green: the c input (a clean plate, IBKColour's) is the screen; pick: the colour below.
colour 0 0 1 1 0 to 1 The screen's colour, keyed when screen type is pick; picking it with the eyedropper (it reads the fg input) sets screen type to pick.
red weight 0.5 0 to 1 How much red is taken from the screen channel.
blue/green weight 0.5 0 to 1 How much of the other screen colour (green on blue, blue on green) is taken from the screen channel.
luminance match off Keeps foreground brighter than the screen: where it is, the screen's share is lowered by the ratio of their luminances.
screen range 1 0 to 1 With luminance match: lower takes more of the screen out (also its noise); too low eats dark foreground.
luminance level 0 0 to 1 Nuke's luminance level, with the switch below (kept from Nuke scripts; not reproduced yet).
enable off Nuke's luminance level switch (kept from Nuke scripts; not reproduced yet).
autolevels off Evens out saturated foreground colours before the matte is pulled: the larger of red and the other screen colour is lowered to the smaller, which removes hard edges.
yellow off With autolevels on a green screen: keeps yellows (red is lowered less).
cyan off With autolevels: keeps cyans (blue on green, green on blue, kept up to the screen colour).
magenta off With autolevels on a blue screen: keeps magentas (red kept up to blue).
screen subtraction on Take the screen's share out of the colour (else premultiply).
use bkg luminance off Light the edges with the bg input's luminance.
use bkg chroma off Colour the edges with the bg input's colour.

Keyer

A key from luminance, a channel, saturation, min or max, or a green, blue or red screen, shaped by a range (A rises to B, C falls to D).

Inputs: input.

Setting Default Range or choices What it does
input rgb The layer whose red, green and blue are measured.
output A The channel the key goes to.
combine replace replace, intersect, union With what the output channel holds: replace it, multiply (intersect) or a + b - ab (union).
invert off 1 - the key (before combining).
premultiply off R, G and B times the key, when it goes to alpha (not in Nuke).
operation luminance key red keyer, green keyer, blue keyer, redscreen, greenscreen, bluescreen, luminance key, saturation key, max keyer, min keyer What is measured. The screens: 1 - (the screen's colour - the larger of the other two).
range A 0 0 to 1 The key starts rising above A...
range B 1 0 to 1 ...is full from B...
range C 1 0 to 1 ...to C...
range D 1 0 to 1 ...and falls to 0 at D; with C at 1 or more it never falls (Nuke's).

Qualifier

An HSL qualifier: a matte of the colours within ranges of hue, saturation and luminance, cleaned by Matte Finesse.

How to use it: select the node and pick in the viewer with its toolbar. Qualify (drag over the colour you want) sets the three ranges to cover the pixels under the box; Add and Subtract widen or narrow them with more pixels; Softness + and - soften the edges to reach (or leave out) what you pick; Invert takes the rest. Matte or Highlight shows what is selected. Drag the ranges on the hue, saturation and luminance strips (inside a range moves it, its top corners set its ends, its bottom corners the softness), switch a channel off to ignore it, then clean the matte with Matte Finesse.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
process in The colour space hue, saturation and luminance are measured in (converted by the colour service). Empty: the config's color_picking role (a display or log space meant for picking), else the working space. Linear values qualify badly: shadows crowd at the bottom of the range.
output matte in alpha matte in alpha, alpha only, matte in rgba The input with the matte in A (R, G, B unchanged), the matte alone in A, or the matte in R, G, B and A.
show final final, matte, highlight What the node shows: its output, the matte as grey, or the selection over grey (highlight). The viewer's matte buttons switch it; set it back to final to render.
invert off 1 - the key: everything but the qualified colours (before Matte Finesse).
premultiply off R, G and B times the matte (matte in alpha only).
hue on Qualify by hue (off: every hue).
center 50 0 to 100 The hue range's centre round the circle: red 0, yellow 16.7, green 33.3, cyan 50, blue 66.7, magenta 83.3, red again at 100.
width 100 0 to 100 How much of the circle is selected fully (100: all of it).
soft 0 0 to 50 How far past the range the key falls to 0 (smoothly), on average of the two sides.
sym 50 0 to 100 Moves the softness between the sides: 50 even, 0 all below the centre, 100 all above.
saturation on Qualify by saturation (off: every saturation).
low 0 0 to 100 The lowest saturation selected fully: 0 grey (0 keeps everything below too).
high 100 0 to 100 The highest saturation selected fully: 100 pure colour (100 keeps everything above too).
low soft 0 0 to 50 How far below low the key falls to 0.
high soft 0 0 to 50 How far above high the key falls to 0.
luminance on Qualify by luminance (off: every luminance).
low 0 0 to 100 The lowest luminance selected fully: 0 black (0 keeps everything below too).
high 100 0 to 100 The highest luminance selected fully: 100 white (100 keeps everything brighter too).
low soft 0 0 to 50 How far below low the key falls to 0.
high soft 0 0 to 50 How far above high the key falls to 0.
pre-filter 0 0 to 10 Softens the source by this many pixels before keying: a smoother key on noisy or compressed pictures.
clean black 0 0 to 100 Pushes the matte's low values down (a curve keeping 0 and 1): clears grey specks outside the selection.
clean white 0 0 to 100 Pushes the matte's high values up: fills holes inside the selection.
black clip 0 0 to 100 Matte values below this (in %) become 0, the rest stretched.
white clip 100 0 to 100 Matte values above this (in %) become 1, the rest stretched.
denoise 0 0 to 5 A median of this radius in pixels: removes specks, keeps edges.
morph operation shrink shrink, grow, open, close Shrink (erode) or grow (dilate) the matte; open shrinks then grows (removes small spots), close grows then shrinks (fills small holes).
morph radius 0 0 to 20 How far the morph operation reaches, in pixels.
blur radius 0 0 to 25 Softens the matte's edge by this many pixels.
in/out ratio 0 -100 to 100 Where the blur goes: 0 both ways, 100 all outward (the matte grown first), -100 all inward.
shadow 100 0 to 100 How much of the matte is kept in the source's shadows (in %).
midtone 100 0 to 100 How much of the matte is kept in the midtones (in %).
highlight 100 0 to 100 How much of the matte is kept in the highlights (in %).
post-filter 0 0 to 10 A last soften of the finished matte, in pixels.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Its settings are laid out as Resolve's Qualifier - HSL panel. Under the general rows, a row of icons holds the pickers the viewer's bar has: qualify, subtract colour, add colour, softness - and +, then invert, matte and highlight. A picker turned on here is on in the viewer's bar too, and the other way round. Below them, Hue, Saturation and Luminance are stacked on the left. Each has its switch and a reset button on its title line, a wide strip to drag, and its numbers in one row under the strip (hue: center, width, soft, sym; saturation and luminance: low, high, low soft, high soft). Matte Finesse sits on the right, two settings to a row (clean black and black clip, clean white and white clip, blur radius and in/out ratio, morph operation and shadow, morph radius and midtone, denoise and highlight, then pre-filter and post-filter), with its own reset. When the panel or the node is too narrow for two columns, Matte Finesse goes under the channels, one setting to a row.

ScreenKeyer

Screen keyer: pick the screen colour, then gain, balance, clip, despill; keys as Nuke's Keylight (inputs: Source, Bg, inside and outside masks).

Inputs: Source, Bg (optional), InM (optional), OutM (optional).

Setting Default Range or choices What it does
show Final Result Source, Source Alpha, Screen Matte, Inside Mask, Outside Mask, Combined Matte, Status, Intermediate Result, Final Result, Composite The stage shown: Final Result is the keyed foreground, Composite puts it over Bg.
key model Screen Subtraction Screen Subtraction, Colour Difference Screen Subtraction: the screen colour taken out of each pixel, as Nuke's Keylight keys (measured; imported Keylight and ChromaKeyer nodes use it). Colour Difference: the first key of this node (projects saved before 2026-10-16 keep it).
unpremultiply result off Screen Subtraction: the result divided by its alpha. Not used by Colour Difference.
screen colour 0 0 to 1 Pick the screen; black keys nothing.
screen gain 1 0 to 2 How strongly the screen is taken out (higher: a cleaner background, harder edges).
screen balance 0.5 0 to 1 How the two other channels are weighted against the screen's.
alpha bias 0.5 0 to 1 A colour that should stay in the foreground: the alpha is worked out with each channel divided by it (grey: none). Screen Subtraction only.
despill bias 0.5 0 to 1 A colour that should keep its screen channel: grey despills to neutral.
use alpha bias for despill on On: the alpha bias is used for the despill too. Screen Subtraction; Colour Difference despills with despill bias.
screen pre-blur 0 0 to 10 Blurs the source by this many pixels before the screen matte is worked out (the despill uses the unblurred source).
clip black 0 0 to 1 Matte values at or below this become 0 (the screen); the rest is stretched up to clip white.
clip white 1 0 to 1 Matte values at or above this become 1 (the foreground); the rest is stretched down to clip black.
clip rollback 0 0 to 10 Restores the edge the clips ate, from the unclipped matte, this many pixels in (Screen Subtraction; approximate).
shrink/grow 0 -10 to 10 Grows (positive) or shrinks (negative) the screen matte by this many pixels (Colour Difference: whole pixels).
softness 0 0 to 10 Blurs the screen matte by this many pixels.
despot black 0 0 to 10 Fills black specks up to this many pixels across in the foreground of the screen matte.
despot white 0 0 to 10 Removes white specks up to this many pixels across from the screen part of the screen matte.
replace method Soft Colour None, Source, Hard Colour, Soft Colour What fills in where the clips, grow or softness raised the matte (Colour Difference: the despilled areas). Soft Colour: the light taken out comes back tinted by replace colour; Hard Colour: replace colour; Source: the source's colour; None: nothing.
replace colour 0.5 0 to 1 The colour replace method adds back (grey: neutral).
mid point 0.5 0 to 1 The luminance that separates the darks from the brights for the low, mid and high gains (Colour Difference only).
low gain 1 0 to 2 Screen strength multiplier in the darks (luminance near 0): higher takes more screen out there. Colour Difference only: Screen Subtraction doesn't reproduce Keylight's tuning yet.
mid gain 1 0 to 2 Screen strength multiplier at the mid point luminance (Colour Difference only).
high gain 1 0 to 2 Screen strength multiplier in the brights (luminance near 1; Colour Difference only).
source alpha Ignore Ignore, Add To Inside Mask, Normal The source's alpha: ignored, added to the inside mask (the matte united with it), or multiplying the result.
replace method Soft Colour None, Source, Hard Colour, Soft Colour What fills in where the inside mask raised the matte (as replace method). Screen Subtraction only.
replace colour 0.5 0 to 1 The colour the inside replace method adds back. Screen Subtraction only.
X method Colour Colour, Repeat, Reflect, Wrap Outside the crop box across: the edge colour, or the inside repeated, reflected or wrapped. Screen Subtraction only.
Y method Colour Colour, Repeat, Reflect, Wrap Outside the crop box up and down: the edge colour, or the inside repeated, reflected or wrapped. Screen Subtraction only.
edge colour 0 0 to 1 The source outside the crop box (method Colour). Screen Subtraction only.
left 0 0 to 1 The crop box's left edge (a fraction of the width). Screen Subtraction only.
right 1 0 to 1 The crop box's right edge (a fraction of the width). Screen Subtraction only.
bottom 0 0 to 1 The crop box's bottom edge (a fraction of the height). Screen Subtraction only.
top 1 0 to 1 The crop box's top edge (a fraction of the height). Screen Subtraction only.
premultiply again off Nuke's ChromaKeyer (imported as this node): the result multiplied by its alpha once more, as that keyer's premultiply does.
InM component None None, Luminance, Inverted Luminance, Alpha, Inverted Alpha What of the InM input forces the matte up to (luminance or alpha, optionally inverted); None: the input is ignored.
OutM component None None, Luminance, Inverted Luminance, Alpha, Inverted Alpha What of the OutM input forces the matte down to 0 (luminance or alpha, optionally inverted); None: the input is ignored.

Depth Slice

Type name: ZSlice (scripts, MCP and Nuke import use it).

Keeps what is at a depth: the rest goes black.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels all rgb, rgba, alpha, all rgb, rgba, alpha, all, or a layer (depth) or channel by name, as Nuke's.
Z none The depth channel; none uses depth.Z (or a plain Z).
center 0.5 0 to 10 The depth kept, in Z units.
field width 0.1 0 to 10 How deep the kept slice is, centred on center; pixels outside it go black.
invert mask off Use 1 - the mask's alpha.