VELVET VICE KREA — Image Router
Pick one image branch, don't render all four
- 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
IMAGEper branch, all lazy.
Outputs are two:
- selected_image - the
IMAGEfrom the active branch. - active_branch - a
STRINGnaming 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.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| workflow_mode | VELVET_VICE_KREA_MODE | — | |
| create_image | IMAGE | — | |
| native_original_image | IMAGE | — | |
| native_custom_image | IMAGE | — | |
| classic_img2img_image | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| selected_image | IMAGE | — |
| active_branch | STRING | — |