Download
1 variant available
This checkpoint includes a config file, download and place it along side the checkpoint.
1520 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9
(8)
Jul 1, 2026
Wan Video 2.2 T2V-A14B

170 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9
120 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9
License:
Apache 2.0ComfyUI Bruxos do VFX
https://github.com/NyckM/Bruxos-do-VFX-Nodes/tree/main
Custom nodes for video VFX with Wan 2.2 / Bernini: object and people removal, batch upscaling, face swap, A/B comparison, and production-ready utilities — all designed for real-world VFX workflows.
<img width="832" height="480" alt="Workflow for object and people removal" src="https://github.com/user-attachments/assets/6745a8ce-00ce-4915-a60d-ed1354099311" />
Why this exists
Developed at Bruxos do VFX during the production of two feature films — Dr. Monstro (Marcos Jorge) and Alice Júnior 2 (Gil Baroni). The complexity of compositing and scene integration created the need for a dedicated object-removal workflow built on top of Bernini/Wan.
Current performance averages 96 frames in 204 seconds.
https://github.com/user-attachments/assets/1575f97f-34b9-492a-accb-818e97a6cbde
https://github.com/user-attachments/assets/d1e47486-ac3b-4030-be42-56a0f16b0128
Installation
Easy (recommended)
Run the included .bat installer from your ComfyUI installation folder. It will automatically install the node pack and download all required models.
(RunPod version is still under development.)
Manual
Copy the package into:
ComfyUI/custom_nodes/ComfyUI-Bruxos-do-VFXRestart ComfyUI.
Required Models
ModelDownloadDestinationUNET GGUF (high/low)https://huggingface.co/neuregex/Bernini-R-GGUF/tree/mainComfyUI/models/unetDistill LoRA (4 steps)https://huggingface.co/Cyph3r/lightx2v_T2V_14B_cfg_step_distill_v2_lora_rank64_bf16ComfyUI/models/lorasText Encoder (umt5)https://huggingface.co/Osrivers/umt5_xxl_fp8_e4m3fn_scaled.safetensorsComfyUI/models/text_encodersVAEhttps://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan2_1_VAE_bf16.safetensorsComfyUI/models/vae
Important: Download the models using the Hugging Face CLI or a download manager. Browser downloads may produce incomplete or corrupted files.
Nodes
<img width="226" height="557" alt="Bernini Long Condition" src="https://github.com/user-attachments/assets/934fd9b3-087f-47db-aeb2-6ca01967c556" />
Bernini / Generation
Bernini Infinity — Main renderer for videos longer than the standard 81-frame limit without requiring a custom sampler. It injects
context_latentsper chunk (with optionaltail_memory) instead of relying on a single conditioning, taking advantage of Bernini/Wan's native architecture.Bernini Region Mask — Converts colored masks (SAM2/SAM3/Scail2Color) into black-and-white masks with invert, grow, and blur controls.
Bernini Long (Conditioning / ChunkSelect / VideoMerge / AppendVideoChunk / EmptyVideoChunks / Info) — Helper nodes for long video generation.
FaceStitchUpscale — Blends the upscaled face back into the video using the
face_bboxesgenerated by Pose and Face Detection.SAM3 Point Editor — Green click = positive point, purple click = negative point directly on the frame, providing much more stable tracking than text prompts alone.
Video
Load Video / Save Video — Native VIDEO (ComfyUI 2.0) equivalents to Video Helper Suite, including preview trimming (skip, cap, nth frame, force rate) and extended export controls for codec and CRF.
Compare Videos A/B — Built-in comparison player with wipe, side-by-side, difference, and toggle modes, allowing before/after inspection without leaving ComfyUI.
Mask BBox Preview — Displays the bounding box that
bboxmode would crop before rendering.
Upscaling
Upscale Config / Batch Blend — Super-nodes that replace the original Settings and Blend Frames subgraphs.
Utilities
Grow + Blur Mask
Block Mask
Smart Sharpen
Text Utilities / Show Text
Seed Generator
Load Images From Folder
Video Info
Wan All-in-One Loader
Qwen-VL Caption
Prompt Guide (official Bernini presets)
Sequential vs Context Window
SequentialContext WindowProcessingProcesses chunks sequentially, advancing chunk_size - overlap frames each stepProcesses the full video using a sliding context windowVRAM UsageLowerSlightly highermask_mode = bbox❌ Falls back to inpaint✅ SupportedTemporal ConsistencyGood (via tail_memory)Better (native)Recommended UseVery long videos or limited VRAMVideos that fit in a single generation or when using bbox mode
⚠️ Using a very small chunk_size together with a large overlap dramatically increases the number of passes (for example: chunk=17, overlap=16 results in 61 passes). Larger chunks with smaller overlaps are generally recommended.
Mask Modes
off — Regenerates the entire frame.
inpaint — Only edits the masked region while preserving the original image elsewhere.
bbox — Crops the masked region and generates it at a smaller resolution for significantly lower VRAM usage. (Available only in Context Window mode.)
Changelog (Major Milestones)
v0.2
Automatic 4n+1 frame correction (mirrored padding + final trimming)
Added
mask_mode(off,inpaint,bbox)Added
mask_growAdded
mask_blur
v0.3
Added FaceStitchUpscale
v0.5
Added native VIDEO Load/Save nodes (ComfyUI 2.0)
v0.6–0.9
Complete suite of native utility nodes (reducing third-party dependencies)
Compare Videos A/B
Mask BBox Preview
Upscale Config / Batch Blend
Server-side preview trimming in Load Video
v0.10
Added SAM3 Point Editor (green positive / purple negative points) for significantly more stable object tracking.
Why isn't there a "Bernini Long Sampler"?
Because Bernini already passes temporal information through conditioning, and the Wan patch already accepts context_latents as a list. The important part is generating the correct conditionings:
context_latents = [
encoded_chunk,
tail_latent,
]This approach leverages the native Bernini architecture instead of duplicating an entire sampler, making the package easier to maintain and fully compatible with existing Bernini workflows.
An automatic chunk executor may be added in the future, but it would depend on the exact node names and class implementations installed on each user's system.
🙏 Acknowledgements
Built on top of Kijai's work and the Bernini models.
Many thanks to the original authors and the open-source community.
📄 License
Apache License 2.0.
