Regional Seed Explorer By Mask (Inspire)
Vary the seed inside a mask only
- mask
- noise
- NOISE_IMAGE
When a generation is 90% right and one region is the problem, re-rolling the seed is a blunt instrument - it changes the whole image and you lose the parts you liked. Regional Seed Explorer By Mask is the precise alternative: it introduces seed variation only inside a mask you supply, leaving the noise everywhere else untouched. Keep the composition you nailed, reroll just the face, or just the background, or whatever the mask covers.
This is the direct-mask variant. If you already have a MASK - from a detector, a manual paint, whatever - this is the one to use. (There's a sibling, Regional Seed Explorer By Color Mask, for when you'd rather pick the region by color out of a reference map.)
How it works
It operates on noise, not on the finished image. You give it an existing NOISE_IMAGE (from Inspire's RandomNoise node) and, within the masked area, it blends in variation seeds you specify in a seed prompt. Inspire's Seed Explorer syntax is comma-separated seed:strength - the first entry is the base seed and each additional one pulls the noise slightly toward that seed at the strength you give. Outside the mask, the noise is preserved exactly. Send the modified noise to a sampler that accepts an injected noise input, and only the masked region changes between runs.
variation_method sets how seeds blend - linear for straight interpolation, slerp for spherical (from BlenderNeko's noise code), which generally treats noise more gracefully. noise_mode chooses GPU (A1111-style) or CPU noise.
The inputs and outputs
The controls worth knowing:
mask(MASK) - the region to explore. Everything outside stays frozen.noise(NOISE_IMAGE) - the base noise you're modifying.seed_prompt(multiline STRING) - theseed:strengthlist; this is where the exploration actually happens.additional_seed/additional_strengthwithenable_additional- a shortcut to tack on one more seed without editing the prompt text.
The output is a single NOISE_IMAGE - wire it into your sampler's noise input. variation_method (linear/slerp) is an optional input. Note this mask variant returns just the noise; the color-mask sibling additionally hands back the resolved mask.
How to install it
ComfyUI Manager: Install Custom Nodes → search ComfyUI Inspire Pack → install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Inspire-Pack
Then restart. Inspire Pack is Dr.Lt.Data's - reliable, clean install, no model downloads for this node.
Common issues
The catch that stops most people: this only does anything with a sampler that accepts an injected NOISE_IMAGE. A stock KSampler makes its own noise and ignores yours entirely, so you'll want Inspire's RandomNoise feeding this and a sampler wired to take the result. Second, keep the seed:strength values low - small strengths give you the "same image, subtle reroll" behavior; push them high (toward 1.0) and the masked region drifts so far it's effectively a different generation, which defeats the point. And soften the mask edge if you see a hard boundary between the frozen and rerolled areas.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| mask | MASK | — | |
| noise | NOISE_IMAGE | — | |
| seed_prompt | STRING | — | |
| enable_additional | BOOLEAN | true | — |
| additional_seed | INT | 00–18446744073709550000 | — |
| additional_strength | FLOAT | 0.000–1 | — |
| noise_mode | COMBO | 2 options: GPU(=A1111), CPU | |
| variation_methodopt | COMBO | 2 options: linear, slerp |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| NOISE_IMAGE | NOISE_IMAGE | — |