The project's README from github.com/Kablex/ComfyUI-Ref2VA-VSA. As one markdown file: README.md.
Breakthrough inference speed for MiniMax H3 Reference-to-Video (Ref2VA / R2VA): Generate a full 5-second, 24 fps video conditioned on reference character images in ~72s (warm) / 95s (first run) on a single consumer NVIDIA GeForce RTX 4090 (24GB).
Both videos were generated on the exact same NVIDIA GeForce RTX 4090 (24GB), using the exact same prompt, character reference image, seed (981445682258077), and resolution (1344×768, 5.16s @ 24 fps / 124 frames).
Input Character Reference Image
🚀 Ref2VA VSA (Ours - 4 Steps)⏱️ 95s (1st run) / ~72s (warm) |
🔬 Video Delta Net / VDN-H3 (8 Steps)⏱️ 213s (1st run) / ~135s (warm) |
|---|---|
▶ Download Full 1344x768 Video (MP4) |
▶ Download Full 1344x768 Video (MP4) |
|
|
| Pipeline | Attention Mechanism | Steps / Sampler | 1st Run Latency | Warm Wall Time | Peak VRAM |
|---|---|---|---|---|---|
| MiniMax H3 Native Dense | Dense Global Softmax | 50 steps / Euler | ~650s | ~650s (10.8 min) | ~22.5 GB |
| H3 Turbo LoRA (Dense) | Dense Global Softmax | 4 steps / Euler | ~210s | ~190s (3.1 min) | ~21.0 GB |
| Video Delta Net (VDN-H3) | Windowed + Linear Delta | 8 steps / er_sde | 213.0s | ~135s (2.2 min) | ~18.5 GB |
| Ref2VA VSA (This Repo) 🚀 | 75% Video Sparsity + Dense Prefix | 4 steps / Euler | 95.2s | ~72 seconds | ~13.5 GB |
FastVideo pioneered Visual Sparse Attention (VSA) for text-to-video (T2V) by clustering video tokens into 3D spatial-temporal tiles (4×4×4) and dynamically pruning 75–90% of tiles via a learned gating projection (to_gate_compress).
However, Ref2VA (Reference-to-Video) was widely considered incompatible with VSA because:
Ref2VAVSAGatePatchOur patch resolves this with an engineered two-tier attention layout:
to_gate_compress projection matrices are transplanted directly onto the Ref2VA base model (minimax_h3_ref2va_pruned_int8_convrot.safetensors).sol_attn support.Place the following files in your ComfyUI/models/ directories:
| Model Type | File Name | Destination Directory | Download Link |
|---|---|---|---|
| Diffusion Model | minimax_h3_ref2va_pruned_int8_convrot.safetensors |
models/diffusion_models/ |
Download from Comfy-Org |
| VSA Gate | fasth3_vsa_gate.safetensors |
models/loras/ |
Download from Hugging Face |
| Turbo LoRA (4-Step) | minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors |
models/loras/ |
Download from LightX2V |
| Text Encoder | qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors |
models/text_encoders/ |
Download from Comfy-Org |
| Video VAE | minimax_h3_video_vae_fp16.safetensors |
models/vae/ |
Download from Comfy-Org |
| Audio VAE | minimax_h3_audio_vae_fp32.safetensors |
models/vae/ |
Download from Comfy-Org |
💡 Tip: The VSA Gate can also be extracted locally from any official FastH3 base checkpoint using the included
tools/extract_vsa_gate.pyscript.
Clone or copy this repository into your ComfyUI custom_nodes directory:
cd ComfyUI/custom_nodes
git clone https://github.com/Kablex/ComfyUI-Ref2VA-VSA
Copy the example character image into your ComfyUI input folder:
cp ComfyUI-Ref2VA-VSA/assets/example_character.jpg ComfyUI/input/
Restart ComfyUI. The node appears under:
FastH3/VSA -> Ref2VA VSA Gate Transplant (EXPERIMENTAL)
Load the ready-to-use workflow from workflows/ref2va_vsa_4step_rtx4090.json and click Queue Prompt.
[UNETLoader (Ref2VA INT8)]
│
▼
[LoraLoaderModelOnly (Turbo 4-Step LoRA, strength=1.0)]
│
▼
[Ref2VAVSAGatePatch (fasth3_vsa_gate.safetensors, sparsity=0.75)]
│
▼
[MiniMaxH3SigmaShift (shift_video=12, shift_audio=3)]
│
├──► [BasicScheduler (steps=4, scheduler=simple)]
│
└──► [BasicGuider] ──► [SamplerCustomAdvanced (sampler=euler)]
tools/extract_vsa_gate.py)If you have a FastH3 VSA base checkpoint (minimax_h3_fastvideo_vsa_datafree_1300step_4step_int8_convrot.safetensors), you can extract fasth3_vsa_gate.safetensors yourself:
python tools/extract_vsa_gate.py \
--input /path/to/minimax_h3_fastvideo_vsa_datafree_1300step_4step_int8_convrot.safetensors \
--output /path/to/ComfyUI/models/loras/fasth3_vsa_gate.safetensors