FlowRVS_SM_VAE
Two VAEs in a trench coat — and why this pack needs both of them
- vae
The name is slightly misleading. FlowRVS_SM_VAE isn't one VAE - it's a Wan 2.1 VAE and a separately fine-tuned mask decoder pretending to be a single node, because FlowRVS needs both to do its job. The Wan half encodes your video frames into latents; the tuned half turns the model's mask latents back into actual masks. This one node feeds the whole pipeline: it's the vae input on both FlowRVS_SM_Cond (encode) and FlowRVS_SM_Decoder (decode), so if this node is missing, nothing downstream gets off the ground.
Like its sibling FlowRVS_SM_Model, it's a loader with two dropdowns, both scanned from folders you already have:
wan_vae- the Wan 2.1 VAE, from yourComfyUI/models/vaefolder.rvs_vae- the tuned mask VAE, fromComfyUI/models/FlowRVS/(the folder the pack registers on first run).
Both need to be set. The "none" entries exist, and the node asserts if either is still on one - same pattern as the model loader, same fix: point it at the files.
The gotcha that trips up Wan veterans
Here's where people who already run Wan get burned. The README is explicit that this pack is not compatible with Comfy-Org's repackaged Wan VAE ("暂不兼容comfyorg的vae"). If you already have a Wan VAE sitting in your models folder from normal video work, odds are it's the Comfy-Org one, and it will not load here.
You want the diffusers VAE from Wan-AI/Wan2.1-T2V-1.3B-Diffusers instead - the diffusion_pytorch_model.safetensors from that repo, renamed (say wan21.safetensors) and dropped into ComfyUI/models/vae. The pack's example workflow literally uses wan21.safetensors, so that's the file it was built and tested against. Don't skip this step and then blame your graph when the encode comes back garbage.
The second file is the mask decoder: tuned_vae.pth, also from huggingface.co/xmz111/FlowRVS, into ComfyUI/models/FlowRVS/. The node wraps both into a MaskVAEFinetuner, loads the tuned weights on top of the Wan encoder, and runs everything in bfloat16. Output is a standard ComfyUI VAE.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_FlowRVS.git
pip install -r requirements.txt
Or use ComfyUI Manager and search "ComfyUI_FlowRVS". Then the two files above plus the two model files from the FlowRVS_SM_Model article, and the umt5 text encoder the README lists under ComfyUI/models/clip (umt5_xxl_fp8_e4m3fn_scaled.safetensors is the sane choice - half the VRAM of the fp16 at close to the same result).
Troubleshooting
- Encode comes out washed out or mangled - you almost certainly grabbed the Comfy-Org VAE instead of the diffusers one. Swap it.
rvs_vaeonnone- the assert fires; set the dropdown.- VRAM pressure - the node unloads other models before loading and keeps the VAE bf16, but if you're on 12GB, the umt5 text encoder is usually the thing that tips you over. fp8 it.
One honest caveat: this is a research pack, and the VAE plumbing is the most "two halves taped together" part of it. If the masks come out blurry at the edges, that's usually not this node's fault - it's the decoder in FlowRVS_SM_Decoder being conservative, and that's where you tune.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| wan_vae | COMBO | 1 options: none | |
| rvs_vae | COMBO | 1 options: none |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| vae | VAE | — |