Nodes/VELVET VICE — MiniMax H3/VELVET VICE MiniMax H3 — Quality Refine Lazy Switch
ComfyUI Node

VELVET VICE MiniMax H3 — Quality Refine Lazy Switch

The lazy switch that makes Quality Refine free when it's off

By Velvet-Vice·Created 10 days ago·Updated 7 days ago· 2
VELVET VICE MiniMax H3 — Quality Refine Lazy Switch
  • base_latent
  • refined_latent
  • latent
enabledfalse

A second sampling pass that sits in your graph but never runs is only a good idea if it actually never runs. ComfyUI executes nodes in dependency order, so if the Quality Refine branch is wired in but switched off, most graphs still touch it. VelvetViceMiniMaxH3LatentRefineSwitch is the internal node that makes "refine off" genuinely cost nothing - it uses ComfyUI's lazy evaluation so the pass-2 branch isn't even requested.

This is the sibling of VelvetViceMiniMaxH3AVRefineMerge, and the two do the Quality Refine wiring in the Velvet Vice MiniMax H3 pack's reference workflow. The merge node decides how to combine pass-1 and pass-2 latents; this node decides whether pass 2 happens at all.

The mechanism that matters

Look at the inputs on this node: base_latent and refined_latent are both marked lazy with forceInput. That's the whole trick. The node declares a check_lazy_status method that tells ComfyUI which inputs it actually needs before it runs. When enabled is false (the default), it only requests base_latent - so the second sampler and everything feeding refined_latent is never executed by the executor, period. When you flip enabled on, it requests refined_latent and the refine path fires up.

That's the difference between a normal if/else in a node and a lazy switch: the upstream refine sampler literally never gets queued when Quality Refine is off. The README's "true lazy bypass when disabled" is accurate, and it matters on H3 because a second pass over a 33B video model is minutes of GPU time you don't want to discover was being spent invisibly.

Inputs and outputs

  • enabled (BOOLEAN, default false) - Quality Refine on or off.
  • base_latent (LATENT) - pass-1 result. The only input requested when disabled.
  • refined_latent (LATENT) - pass-2 result. Only requested when enabled.

Output is a single latent (LATENT) - whichever source won, handed to the VAE decode.

Install and when you'd see it

Same pack install as everything else:

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

or ComfyUI Manager → velvet-vice-minimax-h3, then restart.

You don't set the Quality Refine controls here - the System Hub exposes LIGHT / HIGH / CUSTOM modes and denoise, and this switch just gates the pipeline. Where people get tripped up is expecting the switch to do the blending too. It doesn't: it picks a latent, and the AV merge node handles preserving pass-1 audio. Both are internal nodes you'll only inspect if you're rebuilding the refine branch or wondering why your "off" workflow is slower than it should be - in which case, verify the disabled path is actually short-circuiting through base_latent only.

CategoryVELVET VICE/MiniMax H3/Internal

Inputs (3)

NameTypeDefaultDescription
enabledBOOLEANfalse
base_latentLATENT
refined_latentLATENT

Outputs (1)

NameTypeDescription
latentLATENT