MiniMax H3 Masked Guide: Pixel Fill (baseline)
The baseline every fancy H3 masked-guide trick has to beat — and it's this boring node
- image
- mask
- IMAGE
Before you get swept up in the cleverness of the token-masked guide experiment - per-token noise coefficients, per-token timesteps, a forked forward pass - it's worth remembering there's a much dumber way to steer an H3 guide by region: mask the image in pixel space first, fill the unwanted parts with something the model can ignore, and feed the result to a completely stock Add Guide. That's vloMiniMaxH3MaskedGuidePixelFill, and the pack calls it what it is: the baseline the token-masked approach has to beat. No model patch, no fork, no ComfyUI version pinning. If it were good enough, none of the rest of this family would exist.
The mechanism is refreshingly boring. Your image in, your mask in - 1 keeps the image, 0 gets replaced by the fill - and what comes out is an IMAGE where everything outside the mask is flat colour or noise, ready to hand to the stock H3 Add Guide node. The model then guides on a picture that has nothing to say where you don't trust it, rather than on a picture that's confidently wrong there. That's the entire idea, and it's the honest null hypothesis for the experiment: does corrupting guide tokens in latent space with matched timesteps actually beat just painting the untrusted region out and letting stock H3 do its thing?
Inputs
image- the guide image.mask- 1 keeps the image, 0 is replaced by the fill.fill- what fills the masked-out area:gray(default),black,white, ornoise. Gray is the sane default for most content; noise is worth trying when you want the model to treat the region as texture rather than a flat void.seed- only used by the noise fill, so you can vary the texture while keeping everything else identical.
The mask handling is polite about shape: one mask per image, or a single mask applied to all of them - a mismatched count is an error rather than a silent broadcast.
How you'd actually run the A/B
Set up two branches off the same conditioning: one goes through Masked Guide: Pixel Fill into a stock Add Guide, the other goes through Add Masked Guide (or the spec flow) with Patch Masked Guides on the model. Same seed, same prompt, same mask, and compare. That's the experiment the pack is structured around - guide_clock on the patch node exists precisely so you can A/B the timestep treatments against this baseline. If pixel-fill looks just as good, you've saved yourself a lot of compatibility pinning.
Caveats
Keep the polarity straight - this node uses the denoise convention (1 = keep), which is the opposite of the rest of the masked-guide family, because it's doing the classic fill operation rather than a confidence map. Install is the whole pack:
cd ComfyUI/custom_nodes
git clone https://github.com/PxTicks/ComfyUI-vlo.git
restart, no pip deps. And it needs stock H3 in your ComfyUI, which still means the big weights under the territory-restricted licence (US/EU/UK/Korea excluded).
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| mask | MASK | 1 keeps the image, 0 is replaced by the fill. | |
| fill | COMBO | gray | 4 options: gray, black, white, noise |
| seed | INT | 00–18446744073709550000 | Only used by the noise fill. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |