Image_CnMapMix_visual
The same blend engine as Image_CnMapMix, previewed inline
- image1
- image2
- mask2
- IMAGE
Same node, same math, different category. Every parameter here - blend_mode, blend_factor, the per-layer levels, the automatic diff mask, mask2 - means exactly what it means on the plain Image_CnMapMix node, right down to the default values. What's different is one flag: is_output_node is true here, which is how the pack marks the batch of nodes it added on 2026-03-22 specifically for on-canvas visualization. Practically, that means ComfyUI renders this node's output image directly in the graph even when nothing is wired to its output socket - you get an inline preview without dragging in a separate Preview Image node.
Why you'd pick this one over the plain version
If you're actively dialing in a blend - trying blend modes, nudging diff_sensitivity to isolate exactly where two control maps diverge, adjusting mask2_smoothness - you want to see the result immediately, and Image_CnMapMix_visual gives you that without extra wiring. Once you're happy with the settings and the node is genuinely feeding something downstream, either node works identically; swap to plain Image_CnMapMix if you'd rather not have the pack render an inline preview on every run, or just leave this one in place - functionally it makes no difference once it's wired up.
The inputs and outputs that matter
Read the Image_CnMapMix article for the full mechanism - bg_color, blur_1/blur_2, diff_sensitivity/diff_blur, blend_mode/blend_factor, contrast/brightness, mask2/mask2_smoothness/invert_mask, and the per-image min_black/max_white levels pairs are identical fields with identical defaults. The only structural difference is the is_output_node flag and, by extension, the category (visualize_edit rather than ImgLayer) the pack files it under.
How to install it
Same pack as its sibling - via ComfyUI Manager, search ComfyUI-Apt_Preset and install; or manually clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git into ComfyUI/custom_nodes, then Windows users run install.bat and Linux/Mac users pip install -r ComfyUI-Apt_Preset/requirements.txt in their venv, and restart. Nothing extra to fetch for this specific node.
Common issues & troubleshooting
Every _visual node in your graph renders, not just the last one. Because is_output_node is true, ComfyUI executes and displays this node's result on every run regardless of whether anything downstream uses it. If you've got several _visual nodes from this pack queued in one workflow, expect all of them to render their previews, which can slow down iteration slightly compared to a graph with only plain, non-output nodes doing the same math.
Confusing this for a different node than Image_CnMapMix. It isn't - same class of behavior, same parameters. If you're troubleshooting a blend that isn't doing what you expect (wrong blend_mode assumption, blend_factor near 0, mismatched source resolutions), the fixes in the Image_CnMapMix article apply here unchanged.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| bg_color | COMBO | image | 4 options: image, white, black, gray |
| blur_1 | INT | 00–1000 | — |
| blur_2 | INT | 00–1000 | — |
| diff_sensitivity | FLOAT | 0.00-0.2–0.2 | — |
| diff_blur | INT | 00–1000 | — |
| blend_mode | COMBO | 10 options: normal, multiply, screen, overlay, soft_light, difference, +4 | |
| blend_factor | FLOAT | 0.500–1 | — |
| contrast | FLOAT | 1.00–3 | — |
| brightness | FLOAT | 0.00-1–1 | — |
| mask2_smoothness | INT | 00–500 | — |
| invert_mask | BOOLEAN | false | — |
| image1_min_black | FLOAT | 0.000–1 | — |
| image1_max_white | FLOAT | 1.000–1 | — |
| image2_min_black | FLOAT | 0.000–1 | — |
| image2_max_white | FLOAT | 1.000–1 | — |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| mask2opt | MASK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |