Nodes/VELVET VICE — KREA/VELVET VICE KREA — SeedVR2 Branch Gate
ComfyUI Node

VELVET VICE KREA — SeedVR2 Branch Gate

The bouncer that keeps dead edit branches out of your SeedVR2 output

By Velvet-Vice·Created 25 days ago·Updated 8 days ago· 1
VELVET VICE KREA — SeedVR2 Branch Gate
  • workflow_mode
  • image
  • dit
  • vae
  • image
  • dit
  • vae
target_mode

If you've ever loaded a big shared workflow and watched it die on a NoneType error in a branch you weren't even using, this node is the fix for exactly that. VELVET VICE KREA - SeedVR2 Branch Gate is the plumbing that stops the three edit paths of the Velvet Vice KREA workflow - Native Edit Original, Native Edit Custom, and Classic Img2Img - from leaking half-finished nothing into the SeedVR2 upscale stage.

What it actually does

The Velvet Vice KREA workflow lets you pick one of three editing modes. Each one has its own "finish path" that ends in the optional SeedVR2 upscaler - ByteDance's restoration model that became the ecosystem's default single-image upscaler. With three branches converging on one output, the classic failure is that the two branches you're not running still try to produce output, emit None, and the downstream nodes throw "NoneType object has no attribute decode" style errors.

The gate sits at that convergence and plays bouncer. It compares the active workflow_mode (which you set in the mode selector) against the gate's own target_mode - one of the same three choices. When they match, the gate lets image, dit and vae flow through to the SeedVR2 path. When they don't, it returns ComfyUI ExecutionBlocker objects instead of None, which is ComfyUI's sanctioned way of saying "this output is not going to exist this run." Blocked outputs stop execution cleanly instead of crashing it.

The inputs are marked lazy and the node implements check_lazy_status, so nothing upstream actually computes until the gate confirms this branch is the live one. It's also graph-aware: it checks which inputs really exist in the submitted graph so a group you bypassed doesn't turn into a phantom missing-link error. That's v2.0.4's headline fix, and it's the difference between a helpful "enable this engine" message and a cryptic crash.

The inputs and outputs that matter

  • workflow_mode (VELVET_VICE_KREA_MODE) - forced to be an input, fed from the workflow's mode selector. This is the source of truth for which branch is active.
  • target_mode - the enum telling this particular gate which finish path it guards. A workflow can hold three gate instances, one per edit mode.
  • image, dit, vae (all optional, all lazy) - the edited image and the two SeedVR2 model components. Wire in whatever the SeedVR2 loader exposes.

Outputs are image, dit, vae again - straight pass-through on the live branch, ExecutionBlocker on the dead ones, feeding the SeedVR2 upscaler and whatever comes after it.

Installing it

It ships inside the VELVET VICE - KREA pack, not as a standalone node. Install via ComfyUI Manager / the Registry (search velvet-vice-krea, canonical folder ComfyUI/custom_nodes/velvet-vice-krea), or:

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

Then restart ComfyUI completely and hard-refresh with Ctrl+F5. Two gotchas: keep only one copy installed (legacy folders like ComfyUI-Velvet-Vice-KREA-main load the nodes twice and cause weird UI), and the pack itself has zero Python dependencies - but it orchestrates the Krea 2 model stack and the SeedVR2 loader/weights, which are separate downloads.

Where people get burned

The gate is designed to yell at you in plain English when the active branch is missing its inputs - "enable INTERNAL B - NATIVE EDIT ENGINE" or "load the source image." If you see that, the fix is usually that you picked a mode but bypassed its studio group, or never loaded the source image. If you upgraded from an older workflow JSON, reload the v2.0.4 version so the new gates are actually in your graph. And remember: SeedVR2 is a final stage, not the edit engine. Debug the base preview first, then flip the upscaler on - an upscale can reinterpret small details and make a good edit look wrong.

CategoryVELVET VICE/KREA 2

Inputs (5)

NameTypeDefaultDescription
workflow_modeVELVET_VICE_KREA_MODE
target_modeCOMBO3 options: NATIVE EDIT — ORIGINAL, NATIVE EDIT — CUSTOM, CLASSIC IMG2IMG
imageoptIMAGE
ditoptSEEDVR2_DIT
vaeoptSEEDVR2_VAE

Outputs (3)

NameTypeDescription
imageIMAGE
ditSEEDVR2_DIT
vaeSEEDVR2_VAE