ComfyUI Extension: ComfyUI_EasyRegion
Control different parts of your image with separate prompts using visual box drawing.
Custom Nodes (0)
README
ComfyUI EasyRegion
Control different parts of your image with separate prompts using visual box drawing.
Quick Start
- Install: Clone to
ComfyUI/custom_nodes/or use ComfyUI Manager - Add Node: Search for "EasyRegion"
- Connect: CLIP → EasyRegion → Sampler
- Draw: Use canvas to position regions, type prompts
- Generate: Connect to your sampler and run
Nodes
EasyRegion (Mask-Based)
For: Models using mask-based conditioning (Flux, Chroma, SD3, SD3.5, Qwen-Image)
Inputs:
clip: CLIP from checkpointwidth/height: Must match your latent dimensionssoften_masks: Feathering at edges (recommended ON)background_prompt: Scene descriptionbackground_strength: Background conditioning strength (0.5 default)region1-4_prompt: Region-specific promptsregion1-4_strength: Per-region strength (start with 2-4, adjust as needed)
General Tips:
- Include spatial location in prompts - Try adding location hints like "on left side", "right third of image", "top right corner" to your region prompts. This may help guide placement, though results vary by model.
- Start with strength values 2.5-4.5, adjust if regions don't show or become too soft
- Lower background_strength (0.3-0.5) makes regions more prominent
- See "Model-Specific Tips" below for per-model guidance
EasyRegion (Area-Based)
For: SD1.5, SD2.x, SDXL
Same interface, uses area-based conditioning instead of masks.
Canvas Controls
- region: Select which region to edit (1-4)
- box_x, box_y: Region top-left position (pixels)
- box_w, box_h: Region dimensions (pixels)
Example Workflow
Checkpoint Loader
├→ CLIP → EasyRegion (Mask-Based)
│ ├ width: 1024
│ ├ height: 1024
│ ├ soften_masks: true
│ ├ background_prompt: "empty city street at night"
│ ├ background_strength: 0.5
│ ├ region1_prompt: "red sports car on left side (left third)"
│ ├ region1_strength: 2.5
│ ├ region2_prompt: "giraffe on right side (right third)"
│ └ region2_strength: 3.5
├→ MODEL → KSampler ← conditioning
└→ VAE → VAE Decode
Troubleshooting
Regions not showing:
- Increase region strength (try 3.0-5.0)
- Lower background_strength (try 0.3-0.5)
- Check width/height match your latent exactly
- Verify boxes aren't outside image bounds
- Try including spatial location in prompts ("left side", "right third")
Soft/blurry regions:
- Lower region strength (too high = loss of detail)
- Sweet spot is usually 2.5-4.5 with bg_strength=0.5
Validation errors:
- Ensure width/height are multiples of 64
- Check no regions overlap fullscreen
Model-Specific Tips
Flux (Flux.1-Dev, Flux.1-Schnell)
- CFG: Use CFG 1.0 with Flux Base (NO negative prompt)
- Higher CFG = blur and artifacts
- Strength range: 2.5-4.5 works well with bg_strength=0.5
- Region count: Keep to 3-4 regions max for best results
- Positioning: Works best with regions positioned far apart (e.g., left/right thirds)
SD3 / SD3.5
- Similar to Flux - mask-based conditioning
- Start with strength 2.5-4.5
Chroma
- Mask-based conditioning like Flux
- Keep to 3-4 regions max
SDXL / SD1.5
- Use EasyRegion (Area-Based) node instead
- Area-based conditioning doesn't use masks
Credits
Based on visual area conditioning by Davemane42.
Maintained by EnragedAntelope - github.com/EnragedAntelope/ComfyUI_RegionalConditioning
License
MIT License - use freely in personal and commercial projects.