JOS JOS Compositor

Node reference

Draw nodes

DustBust

Removes dust spots by taking each from a neighbouring frame.

Inputs: input.

Setting Default Range or choices What it does
view source off Shows the input with no spots removed.
frame offset 1 -5 to 5 The frame each spot is replaced from, relative to its own.
edge hardness 0.5 0 to 1 How much of each spot's radius is fully replaced before it fades to its edge (0: a soft spot, 1: a hard one).
Output Mask none A channel the spots are drawn into (none: no mask).

Fill

Sets channels to a colour.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
output rgba rgba, rgb, alpha, all The channels set to the colour; the others pass through.
color 1 0 to 1 The value each channel is set to over the input's data window.
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.

Flare

Lens-flare elements (glowing rings or polygons) added to the image.

Inputs: input (optional).

Setting Default Range or choices What it does
position x 100 0 to 2048 The light.
position y 300 0 to 2048 The light's height, in pixels from the bottom.
offset 0 -2 to 2 Moves the element towards the image centre (1: on it).
inner radius 80 0 to 500 Inside this radius (pixels) the element is the inner colour.
ring radius 100 0 to 500 Where the element reaches the ring colour, in pixels from its centre.
outer radius 120 0 to 500 Where the ring fades to nothing, in pixels from its centre.
size 1 0 to 5 Scales the three radii.
anamorph 1 0.25 to 4 Stretches the element across by this factor and squeezes it up and down by it (1: round).
ring colour 1 0 to 1 The colour at the ring radius.
inner colour 0.5 0 to 1 The colour inside the inner radius.
outer falloff 1 0.1 to 4 Shapes the fade from the ring to the outer radius, per channel (higher: the ring stays bright longer).
inner falloff 1 0.1 to 4 Shapes the rise from the inner radius to the ring, per channel (higher: a later rise).
chroma spread 0 0 to 0.5 Makes red's radii larger and blue's smaller by this fraction.
chroma shift 0 0 to 50 Moves red one way and blue the other, in pixels.
chroma shift angle 0 -180 to 180 The direction of the chroma shift, in degrees.
brightness 1 0 to 4 Multiplies the element's colour, per channel.
visible inside 1 0 to 2 Fully visible while the light is this far from the centre (in half the format's size).
gone outside 1.1 0 to 2 Invisible once the light is this far from the centre (in half the format's size); it fades between.
corners 5 0 to 12 The number of sides of the polygon shape (below 3: round).
flattening 0 0 to 1 Rounds the polygon back towards a circle (1: round).
sharpness 0.5 0 to 1 How much of the polygon shape is blended in (0: round, 1: the full polygon).
corners angle 0 -180 to 180 Rotates the polygon, in degrees.
asymmetry repeat 1 1 to 12 How many times the brightness change repeats around the ring.
asymmetry multiplier 1 0 to 4 Brightness between the repeats (1: even all round).
asymmetry falloff 1 0.1 to 4 Shapes the change between repeats (1: smooth; higher widens the changed part).
asymmetry angle 0 -180 to 180 Where around the ring the first repeat starts, in degrees.
copies 1 1 to 50 Copies scattered along the line from the light through the centre.
seed 0 0 to 100000 Added to every seed below: changes all the copies' random values at once.
spread along 1 0 to 3 How far along the line the copies scatter beyond the offset (1: up to the centre's distance).
seed 48235 0 to 100000 The random positions of the copies along the line.
vary size 0 0 to 1 Makes copies randomly smaller, by up to half at 1.
seed 94335 0 to 100000 The random sizes of the copies.
vary colour 0 0 to 1 Tints each copy with a random hue, this strong.
seed 77088 0 to 100000 The random hues of the copies.
vary brightness 0 0 to 2 Makes copies randomly brighter, by up to this much more (1: up to twice).
seed 75021 0 to 100000 The random brightness of the copies.
vary visibility 0 0 to 1 Makes copies randomly fainter (1: some vanish).
seed 68995 0 to 100000 The random visibility of the copies.
vary flattening 0 0 to 1 Adds a random flattening of up to this much to each copy.
seed 45203 0 to 100000 The random flattening of the copies.
vary rotation 0 0 to 180 Turns each copy's corners randomly, by up to this many degrees either way.
seed 49429 0 to 100000 The random rotations of the copies.

FloodFill

Fills the connected area around a point with a value.

Inputs: input.

Setting Default Range or choices What it does
Fill Channel alpha The channel filled; the others pass through.
Fill Intensity 1 0 to 1 The value the filled pixels are set to.
Fill Point 0 0 to 2000 Where the fill starts, x in pixels; drag it in the viewer.
Fill Point 0 0 to 2000 Where the fill starts, y in pixels.
Replace Range 0 0 to 1 How far a touching pixel's value may differ from the start point's and still be filled.

Grid

Grid lines over the picture.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
output rgba The channels the lines are drawn in, filled with the colour's components.
replace off Draw the lines over black instead of over the input.
invert off Swap the lines and the gaps between them.
opacity 1 0 to 1 How strongly the lines cover the picture.
number 10 1 to 50 How many cells across the format's width and height; lines run from its first pixel to its last.
size w 1 0 to 10 The vertical lines' width, in pixels.
size h 1 0 to 10 The horizontal lines' height, in pixels.
translate_x 0 -100 to 100 Moves the picture across, in pixels.
translate_y 0 -100 to 100 Moves the picture up, in pixels.
ramp none none, linear, smooth0, smooth1, smooth Kept for Nuke scripts, not drawn yet.
color 1 0 to 1 The lines' colour.
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.

Inpaint

Fills a region (an alpha or luminance) from what surrounds it.

Inputs: Source, Matte (optional), Detail (optional), mask (optional).

Setting Default Range or choices What it does
Use GPU if available on Kept for Nuke scripts: the fill runs on the CPU.
channels rgb rgba, rgb, alpha, all The channels the node changes; the others pass through.
Fill Region Source Alpha None, Source Alpha, Source Inverted Alpha, Matte Luminance, Matte Inverted Luminance, Matte Alpha, Matte Inverted Alpha What marks the region to fill: the source's or the matte input's alpha or luminance, or its inverse; None fills nothing.
method texture texture, smooth texture: patches from around (keeps grain, as Photoshop's content-aware fill); smooth: colours blended in.
patch size 7 3 to 21 Texture: the patches' width in pixels (larger for coarser texture).
Smoothness 1 0 to 10 Smooth: softens the filled region by a blur of this size, in pixels.
Lab* Colorspace off Kept for Nuke scripts, not used yet.
Amount 0 0 to 1 Kept for Nuke scripts, not used yet.
Direction 0 0 to 360 Kept for Nuke scripts, not used yet.
Source Source Source, Detail Kept for Nuke scripts, not used yet.
Amount 0 0 to 1 Kept for Nuke scripts, not used yet.
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.

Noise

Nuke's noise (fBm or turbulence) drawn over the input.

Inputs: input (optional), mask (optional).

Setting Default Range or choices What it does
output rgba rgba, rgb, alpha, all The channels drawn into (or a list of channel names: R G, as Nuke's {rgba.red rgba.green}).
premult none none, rgba, rgb, alpha Kept for Nuke scripts; not applied yet.
clip to format none, bbox, format, union, intersect Where the result is cut: none (the input and the drawing, past the format too), bbox (the input's pixels), format, union (the input's pixels and the format), intersect (the input's pixels within the format). Without an input, bbox cuts nothing and union and intersect are the format.
replace off Clear the output channels before drawing.
invert off Draw outside the shape instead.
opacity 1 0 to 1 How much the drawing covers what is under it (0: not at all).
colour 1 0 to 1 The colour drawn.
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.
type fBm fBm, turbulence fBm: smooth clouds; turbulence: the noise's absolute value, sharp creases.
size 350 1 to 1000 Pixels across the largest features.
z 0 0 to 10 Animate it to make the noise evolve.
octaves 10 1 to 20 How many layers of noise are summed, each finer than the last (at most 30).
nyquist on Drops octaves finer than a pixel.
lacunarity 2 1 to 4 How much finer each octave is.
gain 0.5 0 to 1 How much each octave weighs, times the last.
gamma 0.5 0.1 to 2 The result raised to 1 / gamma (0.5 darkens, as Nuke's).
translate x 0 -500 to 500 Moves the picture across, in pixels.
translate y 0 -500 to 500 Moves the picture up, in pixels.
rotate 0 -180 to 180 Turns the picture, in degrees.
scale x 1 0.1 to 10 Stretches the noise horizontally round the centre.
scale y 1 0.1 to 10 Stretches the noise vertically round the centre.
skew x 0 -1 to 1 Slants the noise horizontally round the centre.
skew y 0 -1 to 1 Slants the noise vertically round the centre.
skew order XY XY, YX Which skew applies first: XY skews x then y.
center x 1024 0 to 4096 Pixels: what rotate and scale turn round.
center y 778 0 to 4096 Pixels: what rotate and scale turn round.
invert off Use the inverse of the transform: the noise moves the opposite way.
xrotate 30 0 to 90 Degrees each octave turns round x.
yrotate 30 0 to 90 Degrees each octave turns round y.
ramp none none, linear, smooth0, smooth1, smooth Colour it from color0 at p0 to color at p1.
colour 0 0 0 to 1 The ramp's colour at p0 (colour is its colour at p1).
p0_x 100 0 to 4096 Where the ramp starts (colour 0), x in pixels.
p0_y 100 0 to 4096 Where the ramp starts (colour 0), y in pixels.
p1_x 100 0 to 4096 Where the ramp ends (colour), x in pixels.
p1_y 400 0 to 4096 Where the ramp ends (colour), y in pixels.

Radial

An ellipse filling a box, soft edged, over the input.

Inputs: input (optional), mask (optional).

Setting Default Range or choices What it does
output rgba rgba, rgb, alpha, all The channels drawn into (or a list of channel names: R G, as Nuke's {rgba.red rgba.green}).
premult none none, rgba, rgb, alpha Kept for Nuke scripts; not applied yet.
clip to format none, bbox, format, union, intersect Where the result is cut: none (the input and the drawing, past the format too), bbox (the input's pixels), format, union (the input's pixels and the format), intersect (the input's pixels within the format). Without an input, bbox cuts nothing and union and intersect are the format.
replace off Clear the output channels before drawing.
invert off Draw outside the shape instead.
opacity 1 0 to 1 How much the drawing covers what is under it (0: not at all).
colour 1 0 to 1 The colour drawn.
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.
left 512 0 to 4096 Pixels: an edge of the box the ellipse fills.
bottom 389 0 to 4096 Pixels: an edge of the box the ellipse fills.
right 1536 0 to 4096 Pixels: an edge of the box the ellipse fills.
top 1167 0 to 4096 Pixels: an edge of the box the ellipse fills.
softness 1 0 to 1 How much of the radius fades out (1: from the middle).
plinear off A straight fade instead of a smooth one.
ramp none none, linear, smooth0, smooth1, smooth Colour it from color0 at p0 to color at p1.
colour 0 0 0 to 1 The ramp's colour at p0 (colour is its colour at p1).
p0_x 100 0 to 4096 Where the ramp starts (colour 0), x in pixels.
p0_y 100 0 to 4096 Where the ramp starts (colour 0), y in pixels.
p1_x 100 0 to 4096 Where the ramp ends (colour), x in pixels.
p1_y 400 0 to 4096 Where the ramp ends (colour), y in pixels.

Ramp

A gradient from p0 (nothing) to p1 (the colour), over the input.

Inputs: input (optional), mask (optional).

Setting Default Range or choices What it does
output rgba rgba, rgb, alpha, all The channels drawn into (or a list of channel names: R G, as Nuke's {rgba.red rgba.green}).
premult none none, rgba, rgb, alpha Kept for Nuke scripts; not applied yet.
clip to format none, bbox, format, union, intersect Where the result is cut: none (the input and the drawing, past the format too), bbox (the input's pixels), format, union (the input's pixels and the format), intersect (the input's pixels within the format). Without an input, bbox cuts nothing and union and intersect are the format.
replace off Clear the output channels before drawing.
invert off Draw outside the shape instead.
opacity 1 0 to 1 How much the drawing covers what is under it (0: not at all).
colour 1 0 to 1 The colour drawn.
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.
p0_x 100 0 to 4096 Where the ramp starts (nothing).
p0_y 100 0 to 4096 Where the ramp starts (nothing).
p1_x 100 0 to 4096 Where it reaches the colour.
p1_y 200 0 to 4096 Where it reaches the colour.
type linear linear, plinear, smooth0, smooth1, smooth The curve from p0 to p1: smooth0 is flat at p0, smooth1 at p1, smooth at both.

Rectangle

A box, over the input.

Inputs: input (optional), mask (optional).

Setting Default Range or choices What it does
output rgba rgba, rgb, alpha, all The channels drawn into (or a list of channel names: R G, as Nuke's {rgba.red rgba.green}).
premult none none, rgba, rgb, alpha Kept for Nuke scripts; not applied yet.
clip to format none, bbox, format, union, intersect Where the result is cut: none (the input and the drawing, past the format too), bbox (the input's pixels), format, union (the input's pixels and the format), intersect (the input's pixels within the format). Without an input, bbox cuts nothing and union and intersect are the format.
replace off Clear the output channels before drawing.
invert off Draw outside the shape instead.
opacity 1 0 to 1 How much the drawing covers what is under it (0: not at all).
colour 1 0 to 1 The colour drawn.
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.
left 512 0 to 4096 The box's left edge, in pixels.
bottom 389 0 to 4096 The box's bottom edge, in pixels.
right 1536 0 to 4096 The box's right edge, in pixels.
top 1167 0 to 4096 The box's top edge, in pixels.
softness 0 0 to 100 Pixels of fade inside the edges.
ramp none none, linear, smooth0, smooth1, smooth Colour it from color0 at p0 to color at p1.
colour 0 0 0 to 1 The ramp's colour at p0 (colour is its colour at p1).
p0_x 100 0 to 4096 Where the ramp starts (colour 0), x in pixels.
p0_y 100 0 to 4096 Where the ramp starts (colour 0), y in pixels.
p1_x 100 0 to 4096 Where the ramp ends (colour), x in pixels.
p1_y 400 0 to 4096 Where the ramp ends (colour), y in pixels.

Paint Roto

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

Bezier shapes with feathered edges (a matte), drawn in the viewer.

Inputs: bg (optional), mask (optional), bg1 (optional).

Setting Default Range or choices What it does
output rgba alpha, rgba, rgb, all The channels drawn into.
premultiply none none, rgba, rgb, alpha Kept for Nuke scripts; not applied yet.
clip to none none, bbox, format, union bbox+format, intersect bbox+format Where the result is cut: none (the input and the drawing, past the format too), bbox (the input's pixels), format, union (the input's pixels and the format), intersect (the input's pixels within the format). Without an input, bbox cuts nothing and union and intersect are the format.
replace off Clear the output channels before drawing.
invert mask off Use 1 - the mask's alpha.
autokey on Key the whole shape at the current frame when it is drawn or its points are edited (Nuke's AutoKey). Off: a shape without keys changes on every frame.
master offset x 0 -500 to 500 Moves every shape and stroke of the node (their points stay as drawn). Animate it or link it to a Tracker's track.
master offset y 0 -500 to 500 Moves every shape and stroke of the node (their points stay as drawn). Animate it or link it to a Tracker's track.
keep transform off Use the master offset relative to its value at the reference frame, so the drawing stays where it is there (link to a track without a jump).
reference frame 1 1 to 100 The frame where the drawing is where it was drawn (keep transform); set to the current frame when keep transform is turned on.
tweak x 0 -50 to 50 Added to the master offset: small manual corrections.
tweak y 0 -50 to 50 Added to the master offset: small manual corrections.

ScannedGrain

Grain from a scanned grain plate, added to the input in proportion to its brightness.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
grain The grain plate: grey film scanned with its grain (a sequence: ####).
grain first frame 1 0 to 1000 The grain plate's first frame: the loop starts there.
grain last frame 50 0 to 1000 The plate's frames, looped over the shot.
minwidth 721 1 to 4096 Nuke's; kept for scripts, not applied.
resize on Scale the plate to the input's width.
flip off Nuke's; kept for scripts, not applied.
offset 0.5 0 to 1 The plate's level without grain.
amount 0.3 0.4 0.5 0.5 0 to 2 How strong, per channel.
saturation 1 0 to 2 0: grey grain.
weight master {} red {} green {} blue {} How much grain against the pixel's value, per channel (master: not applied).
low clip 0 0 to 1 No grain below this value.
seed 1 0 to 100 Nuke's; kept for scripts, not applied.
(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.

Sparkles

Rays of light from a point (a star burst), added to the image.

Inputs: input (optional).

Setting Default Range or choices What it does
mode Rays Rays, Sparkles, Fireworks Only Rays is drawn yet (the others are kept for Nuke scripts).
triangle thickness off Kept for Nuke scripts, not drawn yet.
position x 700 0 to 2048 The centre of the rays, in pixels from the left (drag it in the viewer).
position y 600 0 to 2048 The centre of the rays, in pixels from the bottom.
size 300 0 to 1000 How big the effect is, in pixels.
anamorphic 1 0.25 to 4 Stretches the rays horizontally by this factor (2: twice as wide).
rotation 0 -180 to 180 Turns the rays, in degrees; also the direction of the chroma shift.
relative rotation off Kept for Nuke scripts, not drawn yet.
rays 50 1 to 200 How many rays are drawn.
ray thickness 0.2 0 to 1 The width of the rays at their base; they narrow to nothing at the tip.
random thickness off Varies each ray's width at random, from half to one and a half times the thickness.
spark falloff 0.05 0 to 1 Kept for Nuke scripts, not drawn yet.
ray falloff 2 0.1 to 8 How fast the rays fade along their length: higher fades sooner (2: as measured in Nuke).
seed 23 0 to 1000 Another number gives another random pattern.
brightness 1 0 to 4 Multiplies the rays' value before they are added to the image.
colour 1 0 to 1 Multiplies the rays' colour before they are added to the image.
chroma shift 0 0 to 50 Offsets red and blue in opposite directions along the rotation, in pixels.
chroma spread 0 0 to 0.5 Makes red's rays longer and blue's shorter by this fraction of their length.
sparkle crawl off Kept for Nuke scripts, not drawn yet.
motion 300 0 to 1000 Kept for Nuke scripts, not drawn yet.
direction 0 -180 to 180 Kept for Nuke scripts, not drawn yet.
fade tolerance 30 0 to 100 Kept for Nuke scripts, not drawn yet.
broken rays off Kept for Nuke scripts, not drawn yet.
broken affected 50 0 to 100 Kept for Nuke scripts, not drawn yet.
broken start 0.7 0 to 1 Kept for Nuke scripts, not drawn yet.
random broken start off Kept for Nuke scripts, not drawn yet.
broken holes 0.2 0 to 1 Kept for Nuke scripts, not drawn yet.
random broken holes off Kept for Nuke scripts, not drawn yet.
sparks off Kept for Nuke scripts, not drawn yet.
sparks direction 0 -180 to 180 Kept for Nuke scripts, not drawn yet.
sparks angle 45 0 to 180 Kept for Nuke scripts, not drawn yet.

Text

Text over the input, in any script (shaped: Indic, Arabic... join as they should), from a font file.

Inputs: bg (optional), mask (optional).

Setting Default Range or choices What it does
message The text; several lines allowed.
font NotoSans-SemiBold.ttf A font file (.ttf, .otf): a path, or a file name found in JOS_FONT_PATH, the app's fonts or the system's. The app ships Noto Sans and Noto Sans for nine Indian scripts.
global font scale 1 0 to 4 Multiplies the font size.
font size 100 1 to 500 Pixels per em.
font width 100 1 to 400 Percent, across.
font height 100 1 to 400 Percent, up.
tracking 0 -0.5 to 2 Extra space between characters, in ems.
baseline shift 0 -100 to 100 Moves every line up (or down, negative), in pixels.
leading 0 -1 to 2 Extra space between lines, in font sizes.
left 0 0 to 2048 The text box (empty: the format).
bottom 0 0 to 2048 The text box's bottom edge, in pixels.
right 0 0 to 2048 The text box's right edge, in pixels.
top 0 0 to 2048 The text box's top edge, in pixels.
justify left left, center, right, justify Across the box (justify: as left for now).
justify up top top, center, bottom Where the block of lines sits in the box, up and down.
translate x 0 -500 to 500 Moves the picture across, in pixels.
translate y 0 -500 to 500 Moves the picture up, in pixels.
rotate 0 -180 to 180 Degrees, counter-clockwise.
scale x 1 0.1 to 10 Scales the text across, about the centre.
scale y 1 0.1 to 10 Scales the text up and down, about the centre.
skew x 0 -1 to 1 Slants the text across: x moves by this times the height above the centre.
skew y 0 -1 to 1 Slants the text up: y moves by this times the distance across from the centre.
skew order XY XY, YX Which skew applies first: XY skews across, then up; YX the other way round.
center x 0 -500 to 500 Pivot, as an offset from the centre of the format (as Transform's).
center y 0 -500 to 500 The pivot's height, as an offset from the centre of the format.
invert transform off Applies the opposite of the transform.
color 1 0 to 1 The text's colour; its alpha is the text's alpha.
opacity 1 0 to 1 Multiplies the text's colour and alpha.
replace off The text instead of the input, not over it.
invert off Draw everything but the text.
clip to none none, bbox, format, union, intersect Where the result is cut: none (the input and the drawing, past the format too), bbox (the input's pixels), format, union (the input's pixels and the format), intersect (the input's pixels within the format). Without an input, bbox cuts nothing and union and intersect are the format.
invert mask off Use 1 - the mask's alpha.

Vector Graphics

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

Bezier shapes and lines with fills and outlines (SVG files import into it), drawn in the viewer.

Inputs: bg (optional), mask (optional).

Setting Default Range or choices What it does
output rgba rgba, rgb, alpha, all The channels drawn into.
replace off Clear the output channels before drawing.
invert mask off Use 1 - the mask's alpha.

VolumeRays

Light streaks away from a point through the bright parts of the picture (ours, fitted to Nuke's).

Inputs: input, mask (optional).

Setting Default Range or choices What it does
style RGB Luminance RGB Luminance, Alpha Edges, Alpha Solid, Shadow Making Only RGB Luminance is drawn so far.
position x 100 0 to 2048 Where the rays come from, in pixels from the left (drag it in the viewer).
position y 100 0 to 2048 Where the rays come from, in pixels from the bottom.
comp over input off Adds the rays to the input; off: the rays alone.
colour 1 0 to 1 Multiplies the rays (alpha included).
radial falloff on Fades the rays out with the distance from the position, to nothing at the radial size.
radial size 500 0 to 2000 The distance from the position where the radial falloff reaches 0, in pixels.
flicker on Kept for Nuke scripts, not used.
ray length 20 0 to 100 Kept for Nuke scripts, not used.
ray length y 20 0 to 100 Kept for Nuke scripts, not used.