Nodes/VELVET VICE — KREA/VELVET VICE KREA — Image Router
ComfyUI Node

VELVET VICE KREA — Image Router

Pick one image branch, don't render all four

By Velvet-Vice·Created 2 months ago·Updated 28 days ago· 2
VELVET VICE KREA — Image Router
  • workflow_mode
  • create_image
  • native_original_image
  • native_custom_image
  • classic_img2img_image
  • selected_image
  • active_branch

The Velvet Vice Krea 2 workflow runs four independent modes off one canvas: CREATE, Native Edit (Original), Native Edit (Custom), and Classic Img2Img. If that sounds like a recipe for rendering the same scene four times on every queue, it is - unless something only asks for the branch you actually selected. The "VELVET VICE KREA - Image Router" is that something. It looks at the workflow_mode coming from the Mode Selector and returns only the image belonging to that branch.

How the lazy trick works

The four image inputs on this node are all marked lazy in the source. That's the mechanism that makes the whole architecture affordable: ComfyUI asks the node what it needs before evaluating the graph, and the node replies "just create_image" (or whichever input matches the mode). Everything upstream of the other three images - their samplers, their models, their VRAM - never gets resolved. Only the selected branch's image is produced and passed through.

Without that, a mode switch would be cosmetic and every run would burn GPU time on all four branches just to discard three outputs. It's the same lazy-evaluation pattern the pack uses everywhere (the SeedVR2 router, the Prompt-First Gate), and it's the difference between this workflow being a nice demo and being something you can actually queue.

Inputs and outputs

The inputs are the four branch images plus the mode:

  • workflow_mode - a VELVET_VICE_KREA_MODE, normally from the Mode Selector. This decides everything.
  • create_image, native_original_image, native_custom_image, classic_img2img_image - one IMAGE per branch, all lazy.

Outputs are two:

  • selected_image - the IMAGE from the active branch.
  • active_branch - a STRING naming the mode that was selected, handy if you're logging or driving downstream logic.

If the selected branch's image isn't connected, you get a clear error - "the selected input 'create_image' is not connected" - rather than a silent None. That's a nice touch: it tells you exactly which branch you forgot to wire.

Where it sits

You'll find this node toward the end of the workflow, gathering the four branch outputs into one stream before the base preview and refinement. There's a closely related node, "Selected Base Preview," that does the same routing but is an output node (it saves a preview of the selected image). Think of it this way: the Image Router is the plumbing, the Selected Base Preview is the plumbing with a screenshot button.

Installing and troubleshooting

It ships in velvet-vice-krea, installed like the rest of the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/Velvet-Vice/velvet-vice-krea

Restart ComfyUI, or use ComfyUI Manager and search "VELVET VICE - KREA". No extra dependencies.

Most problems with this node are really mode problems. Wrong image coming out? Check the Mode Selector, not the router - the router faithfully obeys whatever mode it's handed. "Input not connected" on a branch you're not using? That's expected; it only errors when the active branch is disconnected. And if you've bypassed a branch group (which the workflow tells you to do), its output link disappears entirely - that's fine, the router only ever asks for the one that's active.

CategoryVELVET VICE/KREA 2

Inputs (5)

NameTypeDefaultDescription
workflow_modeVELVET_VICE_KREA_MODE—
create_imageIMAGE—
native_original_imageIMAGE—
native_custom_imageIMAGE—
classic_img2img_imageIMAGE—

Outputs (2)

NameTypeDescription
selected_imageIMAGE—
active_branchSTRING—