Nodes/ComfyUI-IcyHider/Icy LatentComposite
ComfyUI Node

Icy LatentComposite

Cut and paste, but in latent space

By icekiub-ai·Created 9 months ago·Updated 9 months ago· 31
Icy LatentComposite
  • samples_to
  • samples_from
  • LATENT
x0
y0
feather0

IcyLatentComposite is the ComfyUI-IcyHider wrapper of core LatentComposite - same node, renamed class so the hiding extension can cover it. As with every node in this pack, "Icy" is packaging, not behavior.

What it does: it pastes one latent onto another. samples_to is the base canvas, samples_from is the patch being placed on top of it, at position (x, y), and feather softens the patch's edges so it blends rather than punching a hard rectangle. Output is a single LATENT - the composite.

Why composite in latent space

This is the classic regional-composition move. Instead of blending two whole images (that's LatentBlend), you generate a subject on its own canvas, then paste its latent onto the main scene's latent at a specific spot. Because the merge happens before final denoising, the two regions can interact during sampling - the model gets a chance to harmonize lighting and edges instead of you shipping a visible seam. It's a lower-level cousin of regional conditioning: there, prompts are confined to boxes; here, actual sampled content is placed into the canvas.

The inputs and the one real gotcha

  • samples_to (LATENT) - the base.
  • samples_from (LATENT) - the pasted content.
  • x / y (INT, 0–16384, step 8) - paste position.
  • feather (INT, 0–16384, step 8) - edge softness, in the same units.

Here's the gotcha: these values are in latent-space units, and latents run at one-eighth your image resolution. That's why every field steps by 8 - the schema is telling you the minimum meaningful increment. If your final image is 1024×1024, the latent is 128×128, and placing at x: 256 means "256 latent pixels in," i.e. 2048 image pixels in - off canvas entirely. Beginners who treat these as pixel coordinates paste things into the void or jam everything into a corner. Divide your intended pixel offset by 8 (or just think in latent units) and it all behaves.

When you'd use it

  • Regional compositing of separately generated subjects into one scene.
  • Object placement where you want full control over position and edge softness, then a final sampling pass to unify it.
  • Outpainting-style assembly by pasting a generated patch onto a blank/partial canvas.

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/icekiub-ai/ComfyUI-IcyHider

Restart, or use ComfyUI Manager (search "IcyHider"). No pip dependencies, no models.

Common issues

  • Missing node in shared workflows - install the pack or swap in core LatentComposite.
  • "Nothing appears where I put it." Check your units - see the x/y/8 explanation above. If you typed pixel-style numbers, you're way off-canvas.
  • Hard visible seam. feather is 0. Give it some padding (in multiples of 8) so the patch blends, and consider a final low-denoise pass over the composite so the sampler reconciles the regions.
  • Size mismatch. samples_from has to fit within samples_to at the given position; a patch larger than the canvas will error. Downscale the patch first.
CategoryIcyHider Comfy Core

Inputs (5)

NameTypeDefaultDescription
samples_toLATENT
samples_fromLATENT
xINT00–16384
yINT00–16384
featherINT00–16384

Outputs (1)

NameTypeDescription
LATENTLATENT