Nodes/comfyui-fvmtools/Qwen 2.1 Pipe
ComfyUI Node

Qwen 2.1 Pipe

Three model wires, one socket

By ping1979ping·Created 7 months ago·Updated 5 days ago· 3
Qwen 2.1 Pipe
  • pipe
  • bundle
  • model
  • clip
  • vae
  • pipe
  • model
  • clip
  • vae

Qwen-Image Edit is the open instruction editor almost everything character-related got rebuilt on - it took over the jobs people used masks, adapters and ControlNets for. It also needs three separate model wires: the diffusion model, a Qwen3-VL text encoder, and the 2.x VAE. Chain five head-detailer nodes and you're plugging twenty wires. Qwen 2.1 Pipe bundles the three into one.

What it is

A pipe node, nothing else. Five optional inputs, one of them an upstream pipe, and the outputs are the bundle plus its three parts pre-split so you can still tap model, clip or vae individually when some other node wants one.

The useful part is the priority order, which the tooltips spell out: the single inputs beat the bundle, the bundle beats the pipe. The pipe is the weakest source and only fills in the fields nothing else provided. That one rule gives you two nice workflows - daisy-chain the same pipe through a stack of nodes and let each pass it along unchanged, or feed a pipe in plus one replacement part (a LoRA-patched model, say) and get a new pipe with that one field swapped. No re-wiring of a dozen sockets to change one thing.

Inputs

  • model - the Qwen Image 2.1 diffusion model from UNETLoader. The tooltip's example is an int8 ConvRot file. ConvRot is worth knowing about if you're on older hardware: it's a community-invented INT8 format that rotates away the outliers that normally make INT8 lossy, it measured better quality than fp8 while running roughly twice as fast as fp16 and GGUF on 20/30/40/50-series cards, and ComfyUI adopted it natively in v0.27.0 in July 2026. That's what stopped 30-series owners being locked out of the fast path. A LoRA-patched model works here just as well as a bare one.
  • clip - the Qwen3-VL encoder, loaded with CLIPLoader using type qwen_image. Note the tooltip's warning: this is not the Qwen3.5 prompt-enhancer models people have lying around for text generation; those only work with Generate Text.
  • vae - the Qwen Image 2.1 VAE. The older Qwen Image VAE does not fit the 2.1 model, and this one decodes RGBA, which the detailer handles by dropping alpha itself.
  • bundle - an OBVPM Bundle whose fields are named exactly model, clip and vae. Other fields are ignored. If you're not already using that bundle node, ignore this input.
  • pipe - the fallback source, as described above.

Outputs

pipe goes to the detailer chain; model, clip and vae are the resolved values, useful for anything else in the graph that takes one of them.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/ping1979ping/comfyui-FVMtools

Restart ComfyUI, or install from ComfyUI Manager by searching comfyui-fvmtools. The pack's requirements.txt installs insightface, onnxruntime-gpu, opencv-python and numpy, which the face nodes need - the pipe itself is a resolver. Plan on a first-run download for the InsightFace buffalo_l models (auto-downloaded if onnxruntime is present) and for BiSeNet's parsing_bisenet.pth, which has to be placed by hand in ComfyUI/models/gfpgan/ (or facedetection/, or facerestore_models/).

Where people get burned

The classic failure is a mismatched trio: a 2.1 model with the old VAE gives you a washed-out or outright broken decode, and the tempting diagnosis is always "the checkpoint is bad". It isn't. Keep the three files from the same release.

If your ComfyUI predates v0.27.0, ConvRot INT8 files won't load at all - that support is native, not a custom node, so updating ComfyUI is the fix.

And the bundle route is picky about names: model, clip, vae, spelled that way. A bundle with MODEL or qwen_model silently contributes nothing, and the pipe quietly resolves to whatever else you fed it - including nothing, which surfaces three nodes downstream as an unhelpful error about a missing tensor.

CategoryFVM Tools/Face

Inputs (5)

NameTypeDefaultDescription
pipeoptFVM_QWEN_PIPEAn existing Qwen 2.1 pipe, e.g. from another Qwen 2.1 Pipe node or a detailer's pipe output. Lowest priority: its model / clip / vae are only used for fields that neither the single inputs nor the bundle provide. Handy for swapping out just one part, e.g. pipe in + a LoRA-patched model -> new pipe.
bundleoptOBVPM_BUNDLEOBVPM bundle (Bundle node) with fields named exactly model, clip and vae - e.g. the 'BUN Qwen' bundle in the V6 workflow. Beats the pipe input, loses to the single model / clip / vae inputs. Other fields in the bundle are ignored.
modeloptMODELQwen Image 2.1 diffusion model (UNETLoader, e.g. qwen_image_2.1_int8_convrot). Highest priority - overrides the bundle and the pipe. A LoRA-patched model can go here too.
clipoptCLIPQwen3-VL text encoder, loaded with CLIPLoader type 'qwen_image' (e.g. qwen3vl_8b_int8_convrot). Highest priority. Not the qwen3.5 prompt-enhancer models - those only work with Generate Text.
vaeoptVAEQwen Image 2.1 VAE (qwen_image_2.1_vae_bf16). Highest priority. The older Qwen Image VAE does not fit the 2.1 model. Note: this VAE decodes RGBA; the detailer drops the alpha channel itself.

Outputs (4)

NameTypeDescription
pipeFVM_QWEN_PIPE—
modelMODEL—
clipCLIP—
vaeVAE—