Latent mirror
Flip a latent and blend it with the original
- latent
- vae_optional
- LATENT
Latent mirror is the direct-manipulation counterpart to the pack's Mirror transform: it flips a latent outside sampling and - this is the special part - merges the flipped version with the original. It's a finished-latent tool, not a mid-sampling one, and it's the node people reach for when they want symmetric composition without waiting for a transform to run through a sampler.
The inputs
latent- what you're mirroring.direction-vertically,horizontally, orboth. Note: no rotation options here; those live on the Mirror transform (sampling) version.multiplier- scales the merged result. The merge itself is always a straight average of the flipped and original latent (flipped + original), so this is your strength knob.
There's an optional vae_optional for a UI preview of what you're about to hand to the next stage.
What it's for
The merge is the point. Flip a latent and keep only the flipped half and you've got a hard, obviously-faked reflection with a visible seam. Merge it with the original and you get a soft, averaged symmetry - the kind that looks intentional when the next sampling pass works it over. The standard workflow is: mirror the latent, then run a low-denoise sampling pass, and the sampler smooths the symmetry into something natural. That's the same "shift toward the axis, then mirror" trick the community recommends for mirrored shots - Latent mirror is the second half of it.
It's also a genuinely useful preview tool: mirror a latent with a VAE attached, and you can eyeball the symmetry before committing to a full generation.
The honest comparison
If you're already inside a TSampler workflow, the mid-sampling Mirror transform usually gives cleaner results - it mirrors the denoised prediction step by step, so the model rebuilds both halves and the seam disappears. Latent mirror is the outside-sampling version: quicker to set up, works with any sampler, but the seam is your problem and the merge is cruder (fixed 50/50 average plus a multiplier, no combine/replace choice). Use it when you want a fast symmetric starting latent; use Mirror transform when you want the sampler to do the healing.
Install
Standard for this pack:
cd ComfyUI/custom_nodes
git clone https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control
Restart, or install "Advanced Latent Control" via ComfyUI Manager. No models, no extra dependencies.
Quick start
Encode an image, Latent mirror with direction: horizontally, then a KSampler at denoise ~0.4–0.6. You'll see the reflection settle into something coherent instead of a hard flip. Raise multiplier only if you want the mirrored structure to dominate the next pass - and don't go far above 1 before sampling, because out-of-range latent values are exactly what the pack's Latent normalize node exists to fix.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | — | |
| direction | COMBO | 3 options: vertically, horizontally, both | |
| multiplier | FLOAT | 1.00-10–10 | — |
| vae_optionalopt | VAE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |