ComfyUI Node

G'MIC-Qt

An interactive filter booth inside your graph

By gemell1·Created 3 years ago·Updated 2 years ago· 10
G'MIC-Qt
  • images
  • IMAGE
reapply_firstfalse
layersfalse

Some filters you know by name and can type blind. The other four hundred you've never heard of, and a command string is the worst possible way to meet them. This node is the fix: it launches G'MIC-Qt, the full graphical interface for the G'MIC image-processing suite, right in the middle of your workflow. You pick filters with live previews, eyeball the result, close the window - and the processed image flows back into the graph as if nothing happened. It's the exploratory counterpart to the pack's GmicCliWrapper node, and the one you'll reach for when you don't yet know what you want.

How it works

Also a thin shell, and it reads like the CLI wrapper's sibling: every image in the batch gets saved to ComfyUI's temp directory, then the node runs

gmic_qt --output processed-%f <all your input files>

and blocks until you close the GUI. G'MIC-Qt writes each result next to its input using the %f filename placeholder, and the wrapper picks up the processed- prefixed files and loads them back as tensors. Because it waits on a real window, running this node pauses your whole graph - that's by design, not a hang.

The inputs that matter

Three required inputs, one output:

  • images - any IMAGE tensor. Hand it a batch and every frame opens in the GUI.
  • reapply_first (bool, default off) - meant to control re-applying the previous filter set when you start.
  • layers (bool, default off) - meant to control layer handling in G'MIC-Qt.

Here's the honest part, straight from the source: reapply_first and layers are declared in the node's input schema but never actually passed into the gmic_qt subprocess call in the current code. They render, they're settable, and right now they do nothing. Don't waste time fiddling with them hoping for different behavior.

Output: IMAGE - one tensor, wired into PreviewImage, SaveImage, or onward into a VAE encode for another pass.

Installing it

Same routine as the rest of the pack: clone it or grab it from ComfyUI Manager.

cd ComfyUI/custom_nodes
git clone https://github.com/gemell1/ComfyUI_GMIC
# restart ComfyUI

Then download G'MIC-Qt from gmic.eu and make sure gmic_qt is on your PATH, same as the CLI binary. No pip deps, no models, nothing in the ComfyUI models folder - the executable is the dependency.

The traps

  • It needs a display. This is a GUI node; on a headless server or cloud box it will fail immediately. Local desktop installs are fine.
  • It blocks the graph. The run won't finish until you close the G'MIC-Qt window, so don't queue it mid-batch and walk away expecting output.
  • Batch previews get heavy. Every frame is saved to disk and handed to the GUI. Fine for one image, a drag for video.
  • March breaking change. The README explicitly says to recreate G'MIC-Qt workflows from before that date, so a stale dragged-in workflow may not behave.

It's not the node for reproducible pipelines - that's GmicCliWrapper's job, and the pack's wiki keeps documented example workflows if you want a starting point. But when you want to actually see what G'MIC can do to your image before committing to a command, there's nothing else in the ecosystem that does it with this little friction.

Categoryimage/preprocessors

Inputs (3)

NameTypeDefaultDescription
imagesIMAGE
reapply_firstBOOLEANfalse
layersBOOLEANfalse

Outputs (1)

NameTypeDescription
IMAGEIMAGE