VOID Model Loader (AP)
Picking pass 1 or pass 2, and why it matters
- void_model
Every VOID workflow starts here. This node loads the actual inpainting transformer - the weights Netflix fine-tuned on top of Alibaba PAI's CogVideoX-Fun-V1.5-5b-InP base - and hands it to VoidSampler as a VOID_MODEL. If VoidSampler is the engine, this is the ignition: nothing downstream runs until a model is loaded, and it's the node that decides which VOID checkpoint you're actually using.
Which brings you to the one real choice here, and the README is refreshingly direct about it. model_name is a dropdown over whatever sits in ComfyUI/models/diffusion_models/. You're choosing between two files from the netflix/void-model HuggingFace repo:
void_pass1.safetensors- the main model. "Pass 1 is sufficient for most videos," per the README. For typical removals - an object, a person, a few frames - this is what you want, and it's the one you should download first.void_pass2.safetensors- optional, and only worth the disk for longer clips. It adds optical-flow warped noise initialization, which buys better temporal consistency on extended sequences. Short clip? Skip it.
The second input, dtype, defaults to bfloat16 and the README recommends you leave it there. It's a ~5B-parameter DiT (42 layers, 48 attention heads), so float32 doubles your VRAM for zero visible gain. float16 is the fallback if you're tight on memory; bfloat16 is the sane default. The loader is refreshingly honest about what it just did - it prints the parameter count in billions on load, which is a handy sanity check that the right file landed.
Mechanically it's a specialized UNET-style loader: it reads the .safetensors file from models/diffusion_models/, maps the weights into a VoidTransformer class defined inside the pack, and pushes it to your GPU in the requested dtype. Note the output is a custom VOID_MODEL type, not the standard MODEL - that's deliberate, because the VOID transformer takes a 48-channel input (image latent + mask latent stacked) rather than the usual 16, and ComfyUI's stock samplers wouldn't know what to do with it. Only VoidSampler consumes it. Don't try to wire it into a KSampler.
Install is the pack-wide story: ComfyUI Manager → search "AP Netflix VOID", or cd ComfyUI/custom_nodes && git clone https://github.com/adampolczynski/AP_Netflix_VOID, then restart. There are no extra Python packages - this pack has no requirements.txt at all, which is refreshingly rare. The real cost is the download: void_pass1.safetensors is a several-GB file (the ~5B params in bf16), so set aside disk and bandwidth before you click. Drop it in models/diffusion_models/, and it'll appear in the dropdown next restart.
Troubleshooting is short because there isn't much to get wrong. The dropdown only shows files in models/diffusion_models/ - if your file isn't there, that's where you put it wrong. If the node throws a "missing keys" warning at load, that's usually a sign you've pointed it at the wrong file entirely (a plain CogVideoX checkpoint instead of a VOID checkpoint). And remember the quality ceiling: this is a community beta around a research model, and the author's own first demo admitted the result "wasn't really satisfying." The loader isn't where your results are won or lost - the masks and the prompt are. This node just needs to load the right 5B parameters once.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 0 options: | |
| dtype | COMBO | bfloat16 | 3 options: bfloat16, float16, float32 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| void_model | VOID_MODEL | — |