Nodes/CMK Flow/CMK Preview Board
ComfyUI Node

CMK Preview Board

A wall of diagnostics for when the graph has too many stages

By CMKFlow·Created 3 months ago·Updated a day ago· 6
CMK Preview Board
  • diagnostic_1
  • diagnostic_2
  • diagnostic_3
  • diagnostic_4
  • diagnostic_5
  • diagnostic_6
  • diagnostic_7
  • diagnostic_8
  • diagnostic_9
  • diagnostic_10
  • diagnostic_11
  • diagnostic_12
  • diagnostic_13
  • diagnostic_14
  • diagnostic_15
  • diagnostic_16
  • diagnostic_17
  • diagnostic_18
  • diagnostic_19
  • diagnostic_20
  • diagnostic_21
  • diagnostic_22
  • diagnostic_23
  • diagnostic_24
  • diagnostic_25
  • diagnostic_26
  • diagnostic_27
  • diagnostic_28
  • diagnostic_29
  • diagnostic_30
  • diagnostic_31
  • diagnostic_32
  • image
◄captionStandard►

Every serious ComfyUI workflow eventually gets to the point where you have six stages and the output is wrong and you don't know which stage did it. The usual fix is a dozen preview nodes and a canvas that looks like a switchboard. CMK Preview Board is the pack's tidier answer: up to thirty-two CMK stage diagnostics combined into a single image, one panel per stage, all in one node.

The interface reflects that. caption is the only required input - Off, Standard or Details, controlling how much text accompanies each panel - and underneath it are thirty-two optional CMK_DIAGNOSTIC inputs, diagnostic_1 through diagnostic_32. Connect as many as you need. The pack's own description of the thing is "turn a large workflow into a readable diagnostic wall", which is exactly the use: not debugging one node, but watching the handoffs between nodes and spotting which transition went wrong.

What it produces

It walks the connected diagnostics in order, normalises each payload, renders panels for it, stacks them into one board image, and saves that board as a PNG. Output is an IMAGE - the board - as a standard tensor, so you can route it to a save node or a preview. It's also marked as an output node, so it always executes.

Alongside the image it emits a numbered summary list in the node's text output, one line per diagnostic. That numbering is the useful part: when panel four looks wrong, you know panel four is the fourth thing you connected, and you can trace back to which stage that was without counting panels by eye.

With nothing connected it doesn't error. It renders a blank panel captioned No diagnostic input connected. Slightly dry humour from the pack, and a fast way to confirm the node itself is loading fine.

When to reach for this over the single renderer

CMK Preview Render does one diagnostic and shows it big with detail. The board does many and shows you the sequence. If you're hunting a regression that appeared somewhere between the ControlNet preprocessor and the pasteback, the board is the tool: run once, look across all the panels, find the first one that's wrong, and you've localised the fault to a single stage without re-running anything.

Treat it as a temporary instrument, not furniture. Thirty-two rendered panels is a real cost in memory and a real cost in "wait, why is my temp folder full", and the node is an output node so it can't be optimised away. Wire it up, find your bug, disconnect it.

The pack's framing for this pair is worth quoting because it sets the expectation correctly: the Flow Browser is a working tool, deliberately not a manual and not technical documentation. This board is the same spirit applied to debugging - it shows you rather than tells you.

Installing the pack

ComfyUI Manager → search CMK Flow → install the entry published by CMKFlow → restart. Registry name: cmk-flow.

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

The install is only finished when you see CMK dependency check: OK. That helper finds the Python interpreter ComfyUI is genuinely running - Desktop installs can have a system Python, standalone-env and ComfyUI/.venv all present - installs requirements.txt there, and verifies the mandatory imports. It matters more than usual for this pack because the imports are one graph: a failed insightface or onnxruntime build doesn't just break the face nodes, it can take the node mappings down wholesale.

Update with git -C custom_nodes/cmk_nodes pull --ff-only plus the same installer; a git clone never runs pip on its own.

Model weights are separate from the package. The pack is honest about this rather than bundling gigabytes: scripts/check_cmk_resources.py audits your model folders against the bundled workflows, prints FOUND/MISSING per file with the function it serves, and offers to fetch the missing ones - one explicit confirmation per file.

Turn on Vue Nodes / Nodes 2.0 in ComfyUI settings; the pack needs it and warns at startup if your profile doesn't have it. And set Execution → Live preview method to auto if you want previews during sampler and refiner runs.

Provenance, briefly

This suite is young. It was announced as open source on r/comfyui in July 2026 with a stated goal of being a modular, guided pipeline that installs cleanly on a fresh ComfyUI without a chain of outside dependencies - and the only intentional third-party integration is willmiao's ComfyUI LoRA Manager, credited as the design inspiration. The upside is a coherent, opinionated pack. The downside is that community troubleshooting is thin: a few posts, few comments, no long tail of forum answers. If something's off, the source and the pack's own ARCHITECTURE.md are the documentation.

CategoryCMK/Toolbox/Diagnostics

Inputs (33)

NameTypeDefaultDescription
captionCOMBOStandard3 options: Off, Standard, Details
diagnostic_1optCMK_DIAGNOSTIC—
diagnostic_2optCMK_DIAGNOSTIC—
diagnostic_3optCMK_DIAGNOSTIC—
diagnostic_4optCMK_DIAGNOSTIC—
diagnostic_5optCMK_DIAGNOSTIC—
diagnostic_6optCMK_DIAGNOSTIC—
diagnostic_7optCMK_DIAGNOSTIC—
diagnostic_8optCMK_DIAGNOSTIC—
diagnostic_9optCMK_DIAGNOSTIC—
diagnostic_10optCMK_DIAGNOSTIC—
diagnostic_11optCMK_DIAGNOSTIC—
diagnostic_12optCMK_DIAGNOSTIC—
diagnostic_13optCMK_DIAGNOSTIC—
diagnostic_14optCMK_DIAGNOSTIC—
diagnostic_15optCMK_DIAGNOSTIC—
diagnostic_16optCMK_DIAGNOSTIC—
diagnostic_17optCMK_DIAGNOSTIC—
diagnostic_18optCMK_DIAGNOSTIC—
diagnostic_19optCMK_DIAGNOSTIC—
diagnostic_20optCMK_DIAGNOSTIC—
diagnostic_21optCMK_DIAGNOSTIC—
diagnostic_22optCMK_DIAGNOSTIC—
diagnostic_23optCMK_DIAGNOSTIC—
diagnostic_24optCMK_DIAGNOSTIC—
diagnostic_25optCMK_DIAGNOSTIC—
diagnostic_26optCMK_DIAGNOSTIC—
diagnostic_27optCMK_DIAGNOSTIC—
diagnostic_28optCMK_DIAGNOSTIC—
diagnostic_29optCMK_DIAGNOSTIC—
diagnostic_30optCMK_DIAGNOSTIC—
diagnostic_31optCMK_DIAGNOSTIC—
diagnostic_32optCMK_DIAGNOSTIC—

Outputs (1)

NameTypeDescription
imageIMAGE—