Skip to content
Node packVerifiedExternal
Open source

nuke-nodes-comfyui

Foundry Nuke common nodes for comfyui

Maintainer@sumitchatterjee13B · adoptiongrade

Package profile

Status
Verified
Publisher
@sumitchatterjee13
Source
GitHub

README

Nuke Nodes for ComfyUI

A collection of ComfyUI custom nodes that replicate Nuke compositing nodes: Read/Write with EXR image sequences, multi-pass EXR, Merge, Grade, OCIO colour management, Transform, Reformat, Blur, FrameHold and more. Version 2.x follows your $OCIO config like Nuke does.

Upgrading from 1.x? 2.0.0 is a major release with breaking changes (OCIO-driven colourspaces, MASK inputs, renamed/merged nodes). See CHANGELOG.md for the full list. 1.3.0 remains available on the Comfy Registry and as git tag v1.3.0.

Features

  • Read/Write: image sequences via OpenImageIO (EXR, DPX, TIFF, PNG, JPEG, HDR, TGA, BMP, WebP). Bare-path sequence detection, Nuke-style frame numbering, atomic overwrite or whole-sequence versioning, multi-channel EXR in/out.
  • Colour management: OpenColorIO with your show config ($OCIO) or the built-in ACES 2.0 Studio config; colourspace, display/view and LUT (FileTransform) nodes; Read/Write convert to and from the config's working space.
  • Merge: Porter-Duff and blend modes matching Nuke's Merge, plus Dissolve, Keymix and Constant.
  • Grade / ColorCorrect / Levels / Exposure, all mask-aware.
  • Transform / CornerPin / Crop / Reformat with a shared, bit-exact resampler (impulse, cubic, lanczos, area).
  • Blur / MotionBlur / Defocus, Viewer / ChannelShuffle / Ramp / ColorBars, FrameHold.

Installation

Via ComfyUI Manager (search "Nuke Nodes"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/sumitchatterjee13/nuke-nodes-comfyui.git nuke-nodes
cd nuke-nodes
pip install -r requirements.txt

Restart ComfyUI. All nodes appear under the Nuke menu.

Requirements

  • ComfyUI (provides PyTorch / NumPy)
  • OpenImageIO (>=2.5) - required for all image I/O
  • OpenColorIO (>=2.2, 2.5+ recommended) - colour management; nodes load without it but pass images through
  • OpenCV (opencv-python-headless) - resampling for Transform / CornerPin / Reformat

All three install from requirements.txt as prebuilt wheels.

Colour management

At startup the pack resolves its OCIO config in this order:

  1. $OCIO - if the environment variable points at a .ocio file (a show or studio config), it is used and every colour dropdown (colourspaces, roles, displays, views) is built from it.
  2. Built-in ACES 2.0 Studio config (studio-config-v4.0.0_aces-v2.0_ocio-v2.5) otherwise - works out of the box with 55 colourspaces including camera IDTs (ARRI, Sony, RED, Canon, Panasonic, Blackmagic, Apple, DJI).

The working space is the config's scene_linear role (ACEScg in the built-in config). Because dropdowns are built when ComfyUI starts, changing $OCIO requires a ComfyUI restart - the same model as launching Nuke from a show environment. NukeOCIOInfo reports which config is active.

Nodes

Read/Write (Nuke/IO)

  • NukeRead - load an image or sequence
    • file_path: %04d / #### patterns, a single frame (shot.0001.exr), or just the bare name (shot.exr) - with load_as_sequence on, siblings like shot.0001.exr / shot_0001.exr / shot0001.exr are detected automatically
    • frame, frame_mode (single / range / all), first_frame / last_frame, missing_frames (error / black / hold / nearest)
    • colorspace: raw (no conversion) or any colourspace of the active OCIO config - the file is converted from that space into the working space
    • Thumbnail preview in the node; re-executes only when the files on disk change
  • NukeWrite - save an image or sequence (output node)
    • Relative paths go under ComfyUI's output/; absolute paths are used as-is; directories are created
    • Frames are numbered Nuke-style from frame_start: name.0001.exr (frame_padding digits); %04d / #### in the path are honoured
    • overwrite off (default): if any target frame exists the whole batch is written under a versioned base name (name_1.0001.exr, ...) - nothing is e

Nodes in this pack

42 nodes
  • category
  • class
  • display_name
  • function
  • has_is_changed
  • has_validate
  • inputs_hidden
  • inputs_optional
  • inputs_required
  • module
  • NukeBlur
  • NukeChannelShuffle
  • NukeColorBars
  • NukeColorCorrect
  • NukeConstant
  • NukeCornerPin
  • NukeCrop
  • NukeDefocus
  • NukeDissolve
  • NukeExposure
  • NukeFrameHold
  • NukeGrade
  • NukeKeymix
  • NukeLevels
  • NukeMerge
  • NukeMotionBlur
  • NukeOCIOColorSpace
  • NukeOCIODisplay
  • NukeOCIOFileTransform
  • NukeOCIOInfo
  • NukeRamp
  • NukeRead
  • NukeReadInfo
  • NukeReadMultiPass
  • NukeReformat
  • NukeShufflePass
  • NukeTransform
  • NukeViewer
  • NukeWrite
  • output_node
  • return_names
  • return_types

Sources

3 sources
GitHubSourceVersion ea768e0631d03a71c617f4d01c7802bbe0b54f1b
github.com/sumitchatterjee13/nuke-nodes-comfyui

Verified Oct 12

Source excerpts

1 excerpt

Source context: Repo sumitchatterjee13/nuke-nodes-comfyui