ComfyUI Extension: comfyui-egregora-tiled
Tiled regional prompting + tiled VAE decode with seam-free blending for ComfyUI
Custom Nodes (0)
README
comfyui-egregora-tiled
β¨Tiled Regional Prompting + Model-level Tiled Diffusion for ComfyUI
π Features
πΉ Image Tile Split
- Flexible grid with overlap (row-major or spiral ordering).
- Emits a shared
grid_json
used by the other nodes so everything stays in sync.
πΉ Tiled Regional Prompt
- Per-tile positive/negative prompts from lists or text.
- Global text (prepend/append/replace), blacklist filtering, and CLIP-encode caching.
- Validates and snaps each region to the latent grid to avoid off-by-one artifacts.
πΉ Egregora Magick Diffusion (Model)
- Wraps your model with tiled diffusion (Mixture/Multi/Spot Diffusion).
- Accepts the same
grid_json
(wildcard input) and auto-overrides tile sizes/overlap so your prompt regions and tiling match. - Falls back gracefully if the external tiled module isnβt present.
β Works with SDXL (f=4) and SD1/2 (f=8) automatically (via scale/latent alignment). β No extra pip installs.
π¦ Installation
1) Via ComfyUI Manager (recommended)
- Open ComfyUI β Manager.
- Select Install from URL and paste this repo URL.
- Click Install and then Reload ComfyUI.
2) Manual Installation
cd ComfyUI/custom_nodes
git clone https://github.com/lucasgattas/comfyui-egregora-tiled.git
# restart ComfyUI
π§© Nodes
πΌοΈ Image Tile Split (Egregora)
Splits an IMAGE (B,H,W,C)
into overlapping tiles and returns:
- tiles_batch: concatenated tiles
- grid_json: grid metadata for downstream nodes
βοΈ Tiled Regional Prompt (Egregora)
Builds per-tile CONDITIONING (positive & negative) from lists or text. Supports:
global_positive
,global_negative
blacklist_words
combine_mode
:prepend | append | replace
- CLIP text-encode cache for speed
- Optional bounds validation/snap to latent grid
Inputs: clip
, grid_json
(wildcard), prompt_list
(wildcard)
Outputs: positive
, negative
π§ͺ Egregora Magick Diffusion (Model)
Model patcher that enables tiled diffusion and keeps tile sizing in lockstep with your grid.
- Methods: Mixture of Diffusers, MultiDiffusion, SpotDiffusion
- Reads
grid_json
(wildcard) and overridestile_width
,tile_height
,tile_overlap
automatically tile_batch_size
to batch UNet calls when VRAM allows
Input: model
(+ optional grid_json
)
Output: model
(tiled-enabled)
β‘ Quick Start
- Resize your input to the target resolution.
- Image Tile Split β set
tile_w
,tile_h
,overlap
(e.g.,512/512/96β128
). - Tiled Regional Prompt β connect the same
grid_json
and yourclip
; fillprompt_list
(multi-line or comma-separated). - Egregora Magick Diffusion (Model) β connect the same
grid_json
so tile sizes/overlap match your prompt regions. - Sampler β use the patched model and the conditioning from the regional prompt.
- VAE Decode β decode as usual (no special tiled decoder needed with this setup).
π‘ Tips
- Larger tiles + smaller overlap = faster; more overlap = smoother seams (tune for your model).
- Reuse identical phrases across tiles to benefit from CLIP encode caching.
- Increase
tile_batch_size
if VRAM allows to amortize UNet overhead.
β Compatibility
- ComfyUI latest stable.
- Tested with SDXL and SD1.5.
- No additional Python packages required.
πΊοΈ What Changed (compared to earlier versions)
- Removed legacy Latent Tile Split and VAE Decode From Tiles sections from the workflow.
- Added the renamed Egregora Magick Diffusion (Model) node and streamlined the 3-node pipeline: Image Tile Split β Tiled Regional Prompt β Egregora Magick Diffusion (Model).