FaceScatter2
FaceScatter with randomization actually exposed
- image
- mask
- scatter_params
- IMAGE
- MASK
The second version of FaceScatter, and the one I'd actually reach for - it keeps the same core mechanism (composite a source image across a canvas, driven by a scatter_params config from elsewhere in the pack) but exposes several controls directly on the node that the original left buried, including a seed. That's the tell: this version is built for reproducible randomized placement, where the original reads more like a fixed, single-shot composite.
How it works
Same base inputs as the original - image, mask, scatter_params, width/height (default 512 × 768) - plus four more:
transparency(defaultfalse) - keeps an alpha channel on the output canvas instead of a flat background, useful if you plan to composite the result over something else afterward.invert_masks(defaulttrue) - flips which side of the mask counts as "keep." This defaults to on, which doesn't match every mask convention, so it's worth knowing before you start debugging something that's actually just a polarity mismatch.allow_flip_images(defaulttrue) - mirrors instances as they're scattered, the standard trick for making repeated copies of the same source look less obviously duplicated.seed- drives whatever randomization the placement and flip choices introduce. Keep it fixed and you get the same layout back; change it and you get a different arrangement from the same inputs.
Outputs are the same as v1: IMAGE and MASK.
The take
Unless you specifically need the plain, non-randomized behavior of the original node for some reason, use FaceScatter2 - it does everything v1 does plus the controls that make results reproducible and variable on purpose, rather than however the original's internal defaults happen to land.
How to install it
Through ComfyUI Manager: search "SP-Nodes," install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/bananasss00/ComfyUI-SP-Nodes
Restart ComfyUI afterward.
Common issues
If your composited output looks inverted from what you expected - content covering the wrong region, or the wrong area masked out - invert_masks defaulting to true is the first thing to flip off and check, since that default doesn't line up with every mask convention floating around ComfyUI. Beyond that, this node shares the same documentation gap as the original around exactly what scatter_params controls internally; the config lives in a companion node elsewhere in the pack, and this brief doesn't expose its contents, so the pack's example workflows are your best source for a working reference setup.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| mask | MASK | — | |
| scatter_params | SCATTER_PARAMS | — | |
| width | INT | 5121–16384 | — |
| height | INT | 7681–16384 | — |
| transparency | BOOLEAN | false | — |
| invert_masks | BOOLEAN | true | — |
| allow_flip_images | BOOLEAN | true | — |
| seed | INT | 00–18446744073709550000 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| MASK | MASK | — |