Nodes/ComfyUI-NL_Nodes/๐Ÿ–Œ๏ธ NL Edit
ComfyUI Node

๐Ÿ–Œ๏ธ NL Edit

Paint and mask edits, right inside the node graph

By NOLABEL-VFXยทCreated 9 months agoยทUpdated 2 months agoยท 0
๐Ÿ–Œ๏ธ NL Edit
  • image
  • mask
  • image
  • mask
  • image_info_json
โ—„nl_edit_revisionโ–บ
โ—„image_info_jsonโ–บ

NLEdit is the node that turns ComfyUI into a slightly better place to touch up an image: a built-in paint and mask editor that lives in the graph. If you've ever needed to paint out a blemish on a frame, scribble a mask region by hand, or composite a quick retouch, and found yourself opening Photoshop (or cropping up a screenshot and drawing on it), this node is the thing that keeps that work inside your workflow.

The workflow it enables is the one the pack's manual testing describes: fetch an upstream input, draw RGB edits and mask strokes on it, and export the result back into the pipeline - or even into a new NL Read node for further processing. It's a round trip: pull the image in, paint on it, push the corrected image out, all without leaving ComfyUI.

How it works

  • nl_edit_revision - the node's revision string. It's how the editor tracks the state of your edits, so changes you draw are captured and reloadable. Don't fight it; just be aware it's what makes your edits persist across runs.
  • image - the frame you're editing.
  • mask - optional; a starting mask you can build on with strokes.
  • image_info_json - optional color metadata, carried through so the edited image stays in the managed color pipeline.

Outputs: image (your RGB edits composited), mask (your merged mask strokes), and image_info_json passthrough. The README notes it can also fetch upstream inputs directly and export the current result to a new NL Read node, which is the "keep the loop going" pattern.

Where it sits

Think of it as the manual-fallback node in an otherwise automated graph. The automated path - SAM-based segmentation, inpainting, controlnet masks - handles most cases, but there are always the frames where the model got it wrong and you just want to draw the answer. That's NLEdit's lane. It's also a nice complement to the pack's color pipeline: paint a stroke on a graded frame, and the image_info_json keeps the colorspace honest through the edit.

Install

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes

or ComfyUI Manager โ†’ "ComfyUI-NL_Nodes", restart. The editor is part of the pack's JS front-end, so this is one of the nodes where the "restart ComfyUI after install" step actually matters - if the paint UI doesn't show up, it's almost always a stale frontend. Beyond that, no heavy dependencies; it's UI plus tensor plumbing.

CategoryNOLABEL/Utilities

Inputs (4)

NameTypeDefaultDescription
nl_edit_revisionSTRINGโ€”
imageoptIMAGEโ€”
maskoptMASKโ€”
image_info_jsonoptSTRINGโ€”

Outputs (3)

NameTypeDescription
imageIMAGEโ€”
maskMASKโ€”
image_info_jsonSTRINGโ€”