Nodes/ComfyUI-DiT360/360° Edge Blender
ComfyUI Node

360° Edge Blender

The cheapest seam fix in the pack, and the one you'll leave on

By cedarconnor·Created 10 months ago·Updated 9 months ago· 3
360° Edge Blender
  • image
  • IMAGE
blend_width10
blend_modecosine

The seam. You generate a 2048×1024 equirectangular panorama, it looks great, and then right at the point where the left edge wraps to the right edge there's a visible slice where the scene doesn't line up. Equirect360EdgeBlender is the final polish: it cross-fades the left and right edges so the wrap is continuous, and it's the one node in this pack that's cheap, instant, and nearly always worth leaving in.

It's a plain post-processor. Feed it the decoded image (from 360° VAE Decode, or any 2:1 image), and it blends the seam band. Inputs:

  • image - the panorama.
  • blend_width (default 10) - how wide the blend is in pixels. 10–20 is the sweet spot; 20–40 for stubborn seams; 0 disables blending entirely.
  • blend_mode - cosine (default, smoothest), linear (harder blend), or smooth (gentler).

Mechanically it takes a band from the right edge and a band from the left edge, cross-fades them with the chosen curve, and then runs a continuity check and tells you in the console whether the edges now agree - or to widen the blend. That "did it work" message is genuinely useful, because seam visibility is otherwise something you can't see until you're inside the panorama.

Why this one matters: the other seam strategies in this pack work in latent space or by patching the model, and they're all fiddly and potentially destabilizing. EdgeBlender works on the finished image, costs nothing in VRAM or time, and catches whatever the other layers missed. If you're doing anything 360°, this is the node to keep in your workflow even if you skip the fancier ones. It also plays perfectly with the pack's stable baseline workflow - plain FLUX + DiT360 LoRA through a normal KSampler, with the seam fixed entirely here.

Install

Same as the whole pack - Manager (search "ComfyUI-DiT360"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/cedarconnor/ComfyUI-DiT360
cd ComfyUI-DiT360
pip install -r requirements.txt

then restart. Requirements are just numpy and Pillow, both already in ComfyUI, so there's nothing heavy here. The heavy part is the models: FLUX.1-dev in models/checkpoints and the DiT360 LoRA (~2–5GB, from Insta360-Research on Hugging Face) in models/loras, applied at strength 1.0.

Troubleshooting

  • Seam still visible → widen blend_width to 20–40, and/or add circular_padding in the sampler or decode step. Blending alone rarely fixes a big seam.
  • Middle of the image looks smeared or softblend_width too wide; keep it under roughly 5% of the image width.
  • Edges look doubled → you're double-blending - running it twice, or blending on top of already-blended padding. One pass.

Honest take: this is the highest value-per-effort node in the pack. It won't fix a fundamentally broken generation, but for a good panorama it turns "almost" into "seamless," and it's the node I'd reach for first every time.

CategoryDiT360/post_process

Inputs (3)

NameTypeDefaultDescription
imageIMAGEPanorama image to blend (2:1 equirectangular).
blend_widthINT100–200Blend width in output pixels. Recommended: 10-20; increase (20-40) for stubborn seams; 0 disables.
blend_modeCOMBOcosineBlend curve. Recommended: cosine (smoothest). Use linear for a harder blend, smooth for a gentler transition.

Outputs (1)

NameTypeDescription
IMAGEIMAGE