Nodes/CMK Flow/CMK Pipe Set Face Process Result
ComfyUI Node

CMK Pipe Set Face Process Result

The same setter, wearing the right label

By CMKFlow·Created 3 months ago·Updated a day ago· 6
CMK Pipe Set Face Process Result
  • pipe
  • image
  • pipe

Let's not dress it up: this node behaves exactly like CMK Pipe Set Face Result. Two inputs (pipe, image), one output (pipe), and it stores the image under image_face and image_final. In the pack's own source it's literally a subclass of the Face Result node with a new function name and nothing else changed.

So why does it exist? Because names in a node graph are documentation. The FaceProcess module has a different job from FaceRebuild or FaceSwap - it's the switch-and-restore stage, restore or detailer mode, with its own detector and pasteback parameters - and when you open a saved workflow, a node called Face Process Result tells you which stage you're looking at without you tracing a wire back to find out. Two nodes with identical behavior and different names is a readability decision, and a defensible one. The pack's design guidelines lean hard on this: visible titles are for humans, the wiring is for the machine.

That also means the practical guidance is short. Use whichever one matches the module you're working in. They are interchangeable in effect, and you will not break anything by using the "wrong" one - but the person reading your workflow six months from now will silently thank you for using the right one.

What it does to the pipe

image_face gets your processed face image; image_final gets the same thing, because FaceProcess is normally the last thing that touches pixels before output. The original image key stays untouched - that's the pre-processing generation, still available for comparisons, the visualiser's before/after channels, or a second branch.

The same rule as every other setter on this bus: it's a snapshot write. Whatever you feed the image input is what the pipe carries until the node re-executes.

Installing the pack

ComfyUI Manager → search CMK Flow → install the entry from CMKFlow → restart. Manual install, run from the folder that contains main.py:

git clone https://github.com/CMKFlow/cmk_nodes.git custom_nodes/cmk_nodes
python3 custom_nodes/cmk_nodes/scripts/install_cmk_requirements.py

Look for CMK dependency check: OK. That script installs requirements.txt into the Python interpreter ComfyUI is genuinely running - the pack's own docs call this out because ComfyUI Desktop can have a system Python, a standalone-env and a ComfyUI/.venv sitting next to each other, and pip'ing into the wrong one is a classic afternoon lost. Updates are git pull --ff-only followed by the same install script; a git clone never runs pip on its own.

requirements.txt is where the real weight is: ultralytics, onnxruntime, insightface, segment-anything, opencv-python, imageio-ffmpeg, and a pinned nudenet==3.4.2 for the FaceSwap ContentGuard. No models ship with the package - run the resource checker to see which ones the bundled workflows expect:

python3 custom_nodes/cmk_nodes/scripts/check_cmk_resources.py --models-root "/path/to/ComfyUI-shared"

Two UI requirements worth setting before you judge the pack: Vue Nodes / Nodes 2.0 must be enabled (otherwise dynamic CMK nodes fall back to plain LiteGraph rendering and the widget behaviour degrades), and Execution → Live preview method should be auto if you want previews during sampler and refiner runs.

This node lives under CMK/Developer/ - internal infrastructure, not part of the Flow Browser catalogue. You'll find it by typing CMK Pipe Set into the node search.

The one thing that actually bites

When a face stage misbehaves, the temptation is to blame the restore or detailer parameters. More often the mask is wrong - a bbox detector's rectangle re-rendered and pasted back shows a seam; a segmentation mask hugging the face outline usually doesn't. And a detector that decided a hand was a face will happily run your face prompt on it. Preview the SEGS before you spend an hour on denoise values.

CategoryCMK/Developer/Legacy Pipe

Inputs (2)

NameTypeDefaultDescription
pipeCMK_PIPE—
imageIMAGE—

Outputs (1)

NameTypeDescription
pipeCMK_PIPE—