A vibrant graphic featuring a yellow logo with a gear-like design on a contrasting dark background. To the right, the logo for PureRef is displayed, showcasing a magnifying glass overlapping images, symbolizing organization and clarity in creative projects.

NukeRef Adds References to Nuke

NukeRef lets compositors paste image references into Nuke’s Node Graph as interactive backdrops. Tiny script, big sanity gain.

NukeRef adds a PureRef-like reference board directly inside the Nuke Node Graph. Copy an image, hover over the DAG, paste, and the image appears as a clean reference backdrop under the cursor.

The tool comes from Denis Rychkov and targets the usual reference problem in comp: screenshots, lookdev frames, texture grabs, paint notes, and client-provided “can you make it more like this” images usually live outside the node graph. NukeRef pulls them into the working space instead of asking the artist to split the screen or jump between viewers, browsers, and image boards.

A digital editing workspace showcases a dark interface with a large forest image prominently displayed. The scene features dense, lush green coniferous trees against a dramatic sky filled with swirling, moody clouds. An editing panel with various settings overlays the image, indicating adjustments to color channels and gradients.
Ploink screenshots of your settings next to the node. Better then postits!

What it actually builds

The script creates reference images as regular BackdropNode objects. Each reference backdrop stores its position, size, and metadata, then renders the image through two paths. The native path uses BackdropNode.setCustomIcon, which also feeds the DAG mini-map. The overlay path uses a transparent QWidget attached to the DAG window and paints the image with Qt for Python. On macOS, the script enables the Qt overlay because the Node Graph is treated as a stable native widget named DAG_Window. On Windows, the script disables that overlay path and relies on the native custom icon route, because the code identifies the DAG as a volatile GL widget. That is the kind of boring implementation detail that becomes very exciting when a tool does not explode mid-shot. The script imports PySide2 first and falls back to PySide6. It also imports shiboken2 or shiboken6 for Qt object liveness checks. That matters because Nuke UI widgets can disappear while scripts still hold Python wrappers. Dead wrappers are where “works on my machine” goes to retire.

A mesmerizing landscape of a dense forest bathed in soft, diffused light. Lush green trees rise dramatically against a backdrop of swirling, moody clouds, creating an ethereal atmosphere. Varying shades of dark green contrast with hints of gold from sunlit foliage, enhancing the serene yet mysterious character of the scene.

Paste first, ask questions later

NukeRef binds Paste Reference to Ctrl+V in the Node Graph. Copy an image from a browser, Photoshop, or the operating system clipboard, then paste in the graph. The script reads clipboard image data first. It also accepts local image file URLs if the extension matches png, jpg, jpeg, tif, tiff, or webp. When the clipboard does not contain an image, the script delegates back to normal Nuke node paste behaviour. That means regular copied nodes should still paste as nodes, not become collateral damage in the reference-board revolution.

Copy Reference binds to Ctrl+C. When exactly one NukeRef backdrop is selected, it copies that reference image back to the system clipboard. If the selection contains anything else, the script falls back to native node copy. This is qutie civilised for a shortcut override.

Saved next to the script

NukeRef requires a saved Nuke script before it can store pasted image data. Unsaved scripts trigger a message asking the user to save first, because reference images are written beside the .nk file. The storage folder is named nuke_ref_images and sits next to the Nuke script. Pasted clipboard images are saved as PNG files with timestamped names. Local image paths can also become reference backdrops. That design keeps the .nk file small because the script stores paths and metadata on the backdrop instead of cramming image payloads into the node graph. It is also the reason references travel with the shot folder rather than a screenshot lost in Downloads, which is where production evidence goes to become folklore.

Aspect ratio, mini-map, and resize behaviour

The script records each source image’s native width and height on hidden knobs. When an artist changes bdwidth, the knob callback recalculates bdheight from the stored native dimensions. The default reference width is 400 DAG units, or the source width if the image is smaller. The code creates the BackdropNode, centers it near the cursor position, sets the display size, hides the normal backdrop label by setting a tiny note font size, and stores the source path and native dimensions in invisible knobs.

The mini-map support comes from the native custom icon path. The overlay can make the main DAG view cleaner on macOS, but the mini-map sees the native BackdropNode icon. That is a practical split: pretty drawing in the graph, native visibility in the navigator. During resize, the script records a short timestamp and dims the overlay to 30 percent opacity for 0.20 seconds after bdwidth changes.

Installation is old-school

Installation uses the familiar .nuke folder route. Copy nuke_ref.py into the local .nuke directory, then add import nuke_ref and nuke_ref.install to menu.py. Restart Nuke, copy an image, hover over the Node Graph, and paste with Ctrl+V on Windows or Linux, or Cmd+V on macOS.

Price and license

The tool is free. The release note mentions an MIT License, but the uploaded script and setup guide do not include MIT license text.

https://www.linkedin.com/feed/update/urn:li:activity:7465470321228300289

https://drive.google.com/drive/folders/1-MiiUsfbJiyCvxZFy3eeAvuh6nrM6tqI