Oink
Nodes

Node reference

All 169 node types: inputs, knobs, defaults, Nuke equivalents.

raw .md

Every node in Oink, grouped like the node menu (Tab or the left toolbar). Each page lists the node's inputs, every knob with its default and range, and the Nuke class it reads and writes in .nk files.

169 node types. Nodes from installed OFX plugins are not listed here, see OFX plugins.

Input/Output

NodeNuke classSummary
ReadReadReads images from disk.
WriteWriteWrite: renders its input to files on disk (Render > Render All, F5).
ViewerViewerShows its input in the Viewer.

Color

NodeNuke classSummary
GradeGradeAdjusts the colour range: blackpoint/whitepoint set the input range, lift/gain the output range, then multiply, offset and gamma.
CDLOCIOCDLTransformASC CDL (OCIOCDLTransform): slope, offset, power, saturation, direction.
ConstantConstantGenerate a solid colour image.
ColorCorrectColorCorrectNuke ColorCorrect.
SaturationSaturationScale colour away from / towards its luminance.
ClampClampClamp channel values to a range.
InvertInvert1 - value on the selected channels.
ExpressionExpressionExpression — per-channel pixel expressions.
OCIOColorSpaceOCIOColorSpaceOCIOColorSpace — convert between two OCIO colour spaces.
ColorspaceColorspaceColorspace — classic transfer-curve / HSV / YCbCr conversion.
MultiplyMultiplyMultiply — in * value.
AddAddAdd — in + value.
GammaGammaGamma — in ^ (1 / value).
ClipTestClipTestClipTest — zebra stripes where values leave lower..upper.
ColorLookupColorLookupColorLookup — per-channel colour curves.
OCIODisplayOCIODisplayOCIODisplay — apply an OCIO display / view transform.
OCIOFileTransformOCIOFileTransformOCIOFileTransform — apply a LUT / colour transform file (.cube, .3dl, .spi1d, ...).
SamplerSamplerSampler — one scanline of the input as lookup curves (image passes through).
HueCorrectHueCorrectHueCorrect: curves over hue (red, yellow, green, cyan, blue, magenta) that change saturation, luminance and red / green / blue gain, and suppress a channel (r_sup / g_sup / b_sup) for the hues you choose, e.g.

Keyer

NodeNuke classSummary
KeyerKeyerKeyer: Nuke's basic keyer.
IBKColourIBKColourV3IBKColour: makes a clean plate for IBKGizmo.
IBKGizmoIBKGizmoV3IBKGizmo: image based keyer.
ScreenKeyScreenKeyScreenKey: green / blue screen keyer with the controls of a Keylight-style keyer: screen colour, gain and balance, clip black / white, shrink / grow, softness, despill with bias, and inside / outside masks.
DespillDespillDespill: removes green or blue spill by limiting the screen channel to what the other two allow: their average (balance) or their maximum (limit).
CryptomatteCryptomatteCryptomatte: mattes from Cryptomatte ID layers.

Filter

NodeNuke classSummary
BlurBlurBlur: blurs the image with Nuke's box, triangle, quadratic or gaussian filter; size is the filter's width in pixels (gaussian: its width at half height), separately for width and height.
SharpenSharpenSharpen: unsharp mask — the image plus amount times its difference from a blur of it (size, filter, quality as Blur).
DegrainSimpleDegrainSimpleDegrainSimple — per-channel blur against grain.
DegrainBlueDegrainBlueDegrainBlue — blur only the blue channel (where most grain is).
EdgeBlurEdgeBlurEdgeBlur: blurs the image only along the edges of a matte (control channel, alpha by default); size, filter, quality and crop set the blur as in Blur, edge mult (2 by default) sets how wide and strong the blurred edge is, tint / brightness colour the blur, output writes the amount to a channel.
ErodeErodeErode (blur): moves the edges of a black and white matte by size pixels (positive shrinks it; the default is -1, which grows it) through a blur, with a soft one-pixel edge; blur softens the result and quality sets the blur quality.
DilateDilateErode (fast) (Nuke's Dilate): grows light areas (size > 0) or dark areas (size < 0) by that many pixels with a box minimum / maximum.
FilterErodeFilterErodeErode (filter): grows dark areas (size > 0) or light areas (size < 0) by a filter-weighted maximum; box is the fastest, gaussian the softest.
Glow2Glow2Glow2: makes bright areas glow — the parts above tolerance are blurred (size, filter, quality as Blur), tinted, saturated, scaled by brightness and added to the image.
DefocusDefocusDefocus: blurs the image with a lens disc (bokeh): defocus is the disc's radius in pixels, aspect ratio squeezes it.
VectorBlur2VectorBlur2VectorBlur: motion blur along motion vectors — every pixel is smeared along its u / v vector (uv channels) times motion amount (0.5), over the shutter set by motion offset (-0.5 centres it).
ZDefocusZDefocus2ZDefocus: depth of field from a depth channel — the image is cut into depth layers, each blurred by its distance from the focus plane and laid back over the others from the back to the front.
MotionBlurMotionBlurMotionBlur: realistic motion blur worked out from the motion in the clip itself (Kronos' motion estimation): Shutter Samples in-between images over Shutter Time frames, averaged.
MotionBlur2DMotionBlur2DMotionBlur2D — motion vectors from a 2D transform.
MotionBlur3DMotionBlur3DMotionBlur3D — blur from camera motion and depth.
VectorBlurVectorBlur: motion blur along a vector layer (motion from AIVectorGenerator, ScanlineRender, Cycles or EEVEE).

Time

NodeNuke classSummary
FrameBlendFrameBlendFrameBlend — average several frames.
FrameHoldFrameHoldFrameHold: shows one frame of the input at every frame (increment 0), or every Nth frame from the first frame.
FrameRangeFrameRangeFrameRange: sets the clip's frame range with first_frame and last_frame (what the timeline shows with the range source on Input, and what Retime / Kronos take as their input range).
KronosKronosKronos: retimes a clip with motion vectors, as Nuke's Kronos.
NoTimeBlurNoTimeBlurNoTimeBlur — passthrough: Oink evaluates whole frames only, so upstream never sees a fractional time to round (the rounding knob is kept for .nk).
RetimeRetimeRetime: Nuke's Retime.
TimeBlurTimeBlurTimeBlur — average the input over the shutter.
TimeOffsetTimeOffsetTimeOffset: moves a clip in time by time offset frames (positive = later; Mode sets whole or fractional frames); reverse input plays the input's frame range backwards.
TimeWarpTimeWarpTimeWarp: shows input frame input frame (usually an animated curve) at the current frame.

Deep

NodeNuke classSummary
DeepReadDeepReadReads a deep EXR (per-pixel sample lists); a flat file is read as one sample per pixel.
DeepToImageDeepToImage2DeepToImage — flatten deep samples into a 2D image.
DeepMergeDeepMerge2DeepMerge — combine two deep streams (or hold one out by the other).
DeepHoldoutDeepHoldout2DeepHoldout — main held out by the holdout's deep samples, flattened.
DeepTransformDeepTransformDeepTransform — move deep samples in x / y (whole pixels) and z (offset, scale).
DeepCropDeepCropDeepCrop — keep samples inside a bbox and a depth range.
DeepRecolorDeepRecolorDeepRecolor — give deep samples the colour of a flat image: each sample's rgb = colour.rgb * sample alpha / the deep image's flattened alpha, so the recoloured deep flattens back to the colour image (times the deep coverage).
DeepFromImageDeepFromImageDeepFromImage — a flat image as one deep sample per pixel (OIIO deepen).
DeepReformatDeepReformatDeepReformat (first cut) — change the format by cropping / padding, no resampling.

Merge

NodeNuke classSummary
AddMixAddMixAddMix — A * lutA(a) + B * lutB(a).
DissolveDissolveDissolve — mix between inputs by which.
KeyMixKeyMixKeyMix — copy A onto B through a mask.
MergeMerge2Layers the A input with the B input using the chosen operation (30 operations, over by default).
MergeExpressionMergeExpressionMergeExpression — per-channel expressions of A and B.
PremultPremultMultiply colour by alpha.
SwitchSwitchSwitch — pass one of its inputs through (which).
UnpremultUnpremultDivide colour by alpha.
DifferenceDifferenceDifference — matte of where A and B differ.

Channel

NodeNuke classSummary
ShuffleShuffle2Rearranges channels (Nuke's Shuffle2): drag wires from the input layers (in1 / in2, each read from the B or the A input) to the output layers (out1 / out2).
CopyCopyCopy channels from A into the B stream.
ChannelMergeChannelMergeChannelMerge — combine one channel of A and B.
RemoveRemoveRemove — remove or keep channels / layers.

Transform

NodeNuke classSummary
TransformTransformTranslates, rotates, scales and skews the image around the center point, like Nuke's Transform.
CropCropNuke-style Crop.
ReformatReformatNuke-style Reformat.
PositionPositionNuke Position: whole-pixel move of the bbox, no filtering.
TrackerTracker4Tracker: Ctrl+Alt+click in the Viewer adds a track; drag its box to place it (sets a keyframe).
CornerPin2DCornerPin2DCornerPin2D: warps the image so the from1-4 corners land on to1-4.
CameraTrackerCameraTrackerCameraTracker (NukeX): Track Features, then Solve Camera.
PlanarTrackerPlanarTracker: set corner1-4 around a flat surface at the reference frame, Track, then Export a CornerPin2D (relative = from the reference frame, absolute = from the full format).
CameraMatchCameraMatch (fSpy-style): drag two lines per vanishing point over edges that are parallel in the scene (red X, green Y, blue Z), put the origin on the ground, optionally a reference distance.
LensDistortionLensDistortion2LensDistortion (NukeX): undistort / redistort with radial k1, k2 (same model as the CameraTracker solve).
STMapSTMapSTMap: each pixel reads src at (red, green) x the src format.
IDistortIDistortIDistort — displace pixels by a UV layer.
Card3DCard3DCard3D — image on a 3D card through a camera.
UpscaleUpscaleUpscale — 2x (Lanczos; ML when ml is on).
LD_3DE_Classic_LD_ModelLD_3DE_Classic_LD_ModelLD_3DE_Classic_LD_Model: 3DEqualizer lens distortion (classic).
LD_3DE4_Radial_Standard_Degree_4LD_3DE4_Radial_Standard_Degree_4LD_3DE4_Radial_Standard_Degree_4: 3DEqualizer lens distortion (radial4).
LD_3DE4_Anamorphic_Standard_Degree_4LD_3DE4_Anamorphic_Standard_Degree_4LD_3DE4_Anamorphic_Standard_Degree_4: 3DEqualizer lens distortion (anamorphic4).
LD_3DE4_Anamorphic_Degree_6LD_3DE4_Anamorphic_Degree_6LD_3DE4_Anamorphic_Degree_6: 3DEqualizer lens distortion (anamorphic6).
LD_3DE4_Radial_Fisheye_Degree_8LD_3DE4_Radial_Fisheye_Degree_8LD_3DE4_Radial_Fisheye_Degree_8: 3DEqualizer lens distortion (fisheye8).
VectorDistortVectorDistort: paint or patch the reference frame (Source), connect AIVectorGenerator to SmartVector, and the paint follows the motion through the shot.

Draw

NodeNuke classSummary
RotoRotoRoto: in the Viewer pick Bezier or B-spline (V), click points (drag = smooth tangent), click the first point or Enter to close.
RotoPaintRotoPaintNuke RotoPaint (P): the Roto shapes, output rgba by default (Nuke 17 RotoPaint).
Text2Text2Text2 — draw text over the input.
SlateSlate — a VFX review slate on the slate frame, burn-ins on the other frames.
ColorBarsColorBarsColorBars — colour test bars.
CheckerBoard2CheckerBoard2CheckerBoard2 — checker test pattern.
NoiseNoiseNoise — fractal Perlin noise.
GrainGrain2Grain — synthetic film grain (Nuke Grain2).

AI

NodeNuke classSummary
AIRotoAIRoto: click on the plate in the Viewer to add an object (Shift/Alt+click removes, drag draws a box); the mask shows at once.
AIDepthAIDepth: Analyze runs Video Depth Anything Small (Apache-2.0, temporally stable) over the frames and aligns it to MoGe-2 (MIT) metric depth on a few keyframes.
AINormalsAINormals: Analyze runs MoGe-2 (MIT) per frame: N layer = normals in camera space (X right, Y up, +Z to camera), or world space when a camera is connected to cam.
AIMaterialsAIMaterials: Analyze runs Cosmos DiffusionRenderer 7B (NVIDIA Open Model License, optional: accept the licence first, ~29 GB download) over the frames in overlapping 57-frame windows and outputs layers albedo (linear base colour), N (camera-space normals like AINormals), roughness, metallic and depth (relative).
AIUpscaleAI super-resolution with float-correct encoding.
AIDenoiseDenoise CG renders with OIDN (albedo + normal aware).
AIMatteRefineAIMatteRefine: turns a rough matte (matte input, e.g.
AIKeyerAIKeyer: green/blue screen colour-difference keyer (screen colour auto or picked, balance, clip black/white) with float-correct despill (none, limit, or IBK-style subtract).
AIVectorGeneratorAIVectorGenerator (Nuke SmartVector): Generate runs optical flow (SEA-RAFT, BSD-3) in the AI worker and caches vectors per frame.
GenFillGenerative fill: replace the masked region from a text prompt.
GenVideoGenerative video: text / image / first+last / extension / video-to-video.
AICleanPlateAICleanPlate: removes the masked object (Mask = AIRoto / Roto / any alpha).
FrameFixerFrameFixer: rebuilds dropped or damaged frames from their neighbours.
PlateDenoisePlateDenoise: denoises camera plates (AIDenoise is for CG renders).
TrainTrain (Nuke CopyCat / BigCat): connect before (Source) and after (Target) frames, list the frames, press Train.
InferenceInference: applies a .ocat model from a Train node to every frame (tiled, cached).
ComfyUIRun a ComfyUI workflow on this node's input (float EXR round trip).
SplatTrainSplatTrain: Gaussian splats trained from your plate (gsplat, Apache-2.0, in the AI worker).

3D

NodeNuke classSummary
CameraCameraNuke Camera: pinhole, mm apertures, screen window.
AxisAxisNull transform (Nuke Axis).
GeoCardGeoCard
GeoCubeGeoCube
GeoSphereGeoSphere
GeoCylinderGeoCylinder
GeoSceneGeoSceneNuke GeoScene: gathers objects, cameras and lights for rendering.
GeoMergeGeoMerge
GeoTransformGeoTransform
GeoBindMaterialGeoBindMaterialNuke 17 GeoBindMaterial: the mat input's material (Project3DShader, an image as a texture) on the prims whose paths match mask (space-separated globs; a path also takes everything under it; empty = all meshes).
UVProjectUVProject
GeoImportGeoImportImports a 3D scene file (USD, Alembic, OBJ, FBX, glTF, PLY, STL, or a Blender .blend) into the 3D system; the file's animation follows the frame through time offset and time scale.
GeoExportGeoExport
ReadVFX
ReadSplat
DirectLightDirectLightParallel light along the light's -Z (Nuke DirectLight).
PointLightPointLight
RelightRelight: adds light to the plate from its N (normals) and depth layers, all on the GPU.
DepthToPointsDepthToPoints: turns the depth layer into 3D through the camera (cam input or focal knobs): a displaced, textured card mesh (ScanlineRender can re-render it from new views) or a coloured point cloud.
SpotLightSpotLight
EnvironmentLightEnvironmentLightAmbient light; with a map (lat-long image) the surface normal looks it up.
Project3DShaderProject3DShader
ScanlineRenderScanlineRender
CyclesRenderPath-traced render of the same scene with Blender Cycles (headless).
EEVEERenderThe same scene rendered with Blender EEVEE (5.2 engine id 'BLENDER_EEVEE'; the 'BLENDER_EEVEE_NEXT' id of 4.2-4.4 is gone).
HydraRenderHydraRender: renders the 3D scene through a USD Hydra render delegate.

Other

NodeNuke classSummary
DotDotDot — passes the input through unchanged.
NoOpNoOpNoOp — does nothing; holds user knobs / expressions.
CurveToolCurveToolCurveTool — analyse frames into keyed knobs.
AssertAssertAssert — fail with a message when the expression is false.
BlackOutsideBlackOutsideBlackOutside — black outside the bbox instead of repeating its edge.
ModifyMetaDataModifyMetaDataModifyMetaData — pass-through (metadata edits kept for .nk).
CopyMetaDataCopyMetaDataCopyMetaData — pass-through of Image (Meta input kept for .nk).
ViewMetaDataViewMetaDataViewMetaData — pass-through.
AddTimeCodeAddTimeCodeAddTimeCode — pass-through that keeps the timecode knobs.
BackdropBackdropNodeBackdrop: a coloured box behind nodes.
StickyNoteStickyNoteStickyNote (Nuke Other > StickyNote, Alt+N): a yellow note showing its label (HTML allowed) in the Node Graph.
BlinkScriptBlinkScriptBlinkScript: runs a Blink kernel (Nuke BlinkScript) on the GPU.
GroupGroup — a node holding a sub-graph (Input/Output nodes, nested groups).
PrecompPrecompPrecomp — a Group whose contents are an external .nk script.
LiveGroupLiveGroupLiveGroup — a Group that can be published to (and read from) its own .nk script.
InputInput — inside a Group: the image arriving at group input number.
OutputOutput — inside a Group: what the group outputs.

Not in the node menu

NodeNuke classSummary
CameraTrackerPointCloudCameraTrackerPointCloudSolved 3D points as geometry (Nuke CameraTrackerPointCloud).
DotDot: a bend point to tidy pipes.
MergeMerge2Composites A over B using the A alpha.
TextTextText (legacy) — draw text over the input; size knob, baseline justify.
UnsupportedUnsupported Nuke node — raw knobs kept for export; input 0 passes through.

On this page