Nodes/Polyhedron Suite/⬡ Polyhedron Wan Bridge (MODEL → WANVIDEOMODEL)
ComfyUI Node

⬡ Polyhedron Wan Bridge (MODEL → WANVIDEOMODEL)

The type bridge that lets kijai's Wan nodes talk to core nodes

By PolyhedronAI·Created 3 months ago·Updated 2 days ago· 2
⬡ Polyhedron Wan Bridge (MODEL → WANVIDEOMODEL)
  • model
  • model

If you've ever mixed Wan 2.2 workflows, you've met the type system's favorite lie: ComfyUI refuses to connect two nodes whose socket types are labelled differently, even when the Python object underneath is identical. Core ComfyUI loads Wan through its own loader and passes a MODEL. Kijai's WanVideoWrapper - the third-party wrapper that powers most serious Wan workflows, with SageAttention, fp8 and Block Swap - passes a WANVIDEOMODEL. Same ModelPatcher underneath, different label, no connection. That's the whole problem the Wan Bridge exists to solve.

This node (MODEL → WANVIDEOMODEL) re-labels a core-loaded Wan model so kijai's nodes will accept it. Its reverse twin, ULSWanBridgeReverse, does the opposite - it hands a kijai-loaded model back to core nodes as a MODEL. Both are the same patcher under the hood, just re-labeled, and the direction you pick depends on which ecosystem your model came from and which sampler it's headed to.

The typical flow: your LoRA Stack or core UNETLoader produces a MODEL (with all your LoRAs already baked into the patcher), the Bridge re-labels it as WANVIDEOMODEL, and it drops straight into kijai's WanVideoSampler. Without the bridge you'd be re-loading the model through kijai's loader and re-applying every LoRA by hand - or giving up and running one ecosystem for everything.

How it works under the hood

A few things are worth knowing because they're where people get confused. First, there's deliberately no attention_mode widget: kijai's attention-mode attribute has no effect on core's forward pass, because core's WanModel uses its own attention path controlled by ComfyUI's startup flags (--use-sage-attention, xformers, sdpa fallback). Use the startup flags or kijai's PatchSageAttentionKJ node instead. Second, the bridge patches kijai's load_weights so it doesn't try to re-load weights that core already put on the GPU - if you see a warning that a kijai symbol is missing, it almost always means your installed WanVideoWrapper renamed something, and the bridge names that loudly instead of silently double-loading.

The input is model (a MODEL that must be a Wan model under the hood) and the output is model as WANVIDEOMODEL. If you want to see what the bridge is doing, set PLS_BRIDGE_VERBOSE=1.

Installing it

It's part of the Polyhedron Suite pack:

cd ComfyUI/custom_nodes
git clone https://github.com/PolyhedronAI/ComfyUI-PolyhedronLoRAStack.git
# restart ComfyUI

Or ComfyUI Manager, search "Polyhedron Suite". No extra dependencies - but this node is useless without ComfyUI-WanVideoWrapper (kijai) installed, so grab that first. It's a plain backend node, so it works under both renderers, old and new.

Where people get burned: feeding the bridge a non-Wan model. It will happily re-label a FLUX patcher as a WANVIDEOMODEL and hand it to kijai's sampler, and the sampler will fail in ways that have nothing to do with the bridge. It's a label swap, not a model converter - the model under the hood has to actually be Wan.

CategoryPolyhedron/Bridge

Inputs (1)

NameTypeDefaultDescription
modelMODELComfyUI MODEL — typically from UNETLoader or LoraLoader. Must be a Wan model under the hood.

Outputs (1)

NameTypeDescription
modelWANVIDEOMODEL