Nodes/ComfyUI-DiT360Plus/DiT360 Panorama Editor
ComfyUI Node

DiT360 Panorama Editor

More knobs than you'll use, and the two that matter

By thomashollier·Created 7 months ago·Updated 3 months ago· 3
DiT360 Panorama Editor
  • pipeline
  • inverted_data
  • mask
  • IMAGE
modeoutpaint
promptThis is a panorama image. A beautiful landscape
tau50
eta0.75
steps50
guidance_scale2.8
seed0
start_timestep0.00
stop_timestep0.99
mask_feather0.0

This is the payoff node of the pack's RF-inversion pipeline. DiT360ImageInverter encodes your panorama into invertible latents; DiT360MaskProcessor cleans your mask; this node takes both, runs a controlled reverse-ODE denoise, and hands you a panorama where the region you masked changed and everything else survived. It's the most powerful editor in the pack and easily the fiddliest.

How it works

The denoise uses PersonalizeAnything attention processors - the same trick from the Insta360 DiT360 repo. At each denoising step, the attention in the masked region is swapped toward your prompt's content while the unmasked tokens are pulled back toward the source, driven by the tau and eta knobs. The mask gets circular-padded to match the panorama's wrap, so edits near the seam behave. Real talk on cost: the edit phase runs the transformer at batch size 2 for roughly steps passes. On top of the ~50 inversion passes. This is the slow, controlled path, and it knows it.

Inputs that matter

  • pipeline and inverted_data - from the loader and inverter. Non-negotiable.
  • mask - meaning flips with mode, and this is the classic trap:
    • inpaint: white = the area to replace.
    • outpaint: white = content to keep; black = the area to extend into.
  • mode - default is outpaint, which trips everyone up. Wire a mask painted for inpainting and forget to change this, and your edit comes out backwards - you wanted the sky gone and the sky stayed.
  • tau (0–100, default 50) - source preservation strength. Higher = the edit clings to the original. 50 is the sensible midpoint.
  • eta (0–1, default 0.75) - the one you'll actually tune. 1.0 is pure reconstruction (nothing changes), 0.0 is pure chaos. Lower = stronger edit; 0.6–0.8 is the recommended band.
  • steps - default 50. Keep it matching the inversion steps; the math assumes they align.
  • guidance_scale - 2.8, same as generation.
  • start_timestep / stop_timestep - the eta-guidance window. Defaults of 0.0 to 0.99 are fine; narrowing it (say, 0.3–0.8) confines the edit to mid-denoise, which can help if the edit fights the source.
  • mask_feather - soft edge width as a percentage of image width (not pixels), so it's resolution-independent. 0 = hard edges; 1–3% gives subtle blending, 5–10% wide transitions. If your edit has a visible seam around the masked region, this is the fix.

Output is a single IMAGE - wire it through the pack's 360 Edge Blender (edits love to leave a seam) and into 360 Viewer.

When to use it, and when not to

Honest take: if you just want to swap a sky or delete a sign, this node is overkill. The Kontext Panorama Editor does the same job with three knobs and no inversion. Where DiT360PanoramaEditor earns its keep is outpainting - extending the panorama beyond its original boundaries with content that stays stylistically glued to the source - and edits where source fidelity genuinely matters. That's the workflow the README's DiT360_inpainting.json example walks through.

Common issues

  • Backwards edit → mode mismatch. Inpaint vs outpaint have opposite white meanings.
  • Nothing changed → eta too close to 1.0. Drop toward 0.6.
  • Chaotic mush → eta too low, or tau too low to anchor the source.
  • Visible patch edge → raise mask_feather a few percent.
  • OOM → the inversion+edit pair is the heaviest path in the pack. If the loader is on model offload, drop width, or accept the slowdown of balanced.
CategoryDiT360Plus/editing

Inputs (13)

NameTypeDefaultDescription
pipelineDIT360_PIPELINEDiT360 pipeline from the Pipeline Loader node.
inverted_dataDIT360_INVERTEDInverted latents from the DiT360 Image Inverter node.
maskMASKEditing mask. For inpainting: white=edit area. For outpainting: white=keep area.
modeCOMBOoutpaintEditing mode. Inpaint: replace white mask area. Outpaint: extend beyond white mask area.
promptSTRINGThis is a panorama image. A beautiful landscapeDescription of the desired result after editing.
tauINT500–100Preservation strength (0-100). Higher = stronger source preservation. Recommended: 50.
etaFLOAT0.750–1Reconstruction vs. edit strength. 1.0 = pure reconstruction (no change). 0.0 = pure transformer (chaotic). Lower values allow stronger edits. Recommended: 0.6-0.8.
stepsINT5010–200Number of denoising steps. Should match inversion steps.
guidance_scaleFLOAT2.80–20Classifier-free guidance scale. Recommended: 2.8.
seedINT00–18446744073709550000
start_timestepFLOAT0.000–1Start of eta guidance window. Recommended: 0.0.
stop_timestepFLOAT0.990–1End of eta guidance window. Recommended: 0.99.
mask_featherFLOAT0.00–50Soft mask edge width as percentage of image width. 0 = hard edges. 1-3% gives subtle blending, 5-10% for wider transitions. Resolution-independent.

Outputs (1)

NameTypeDescription
IMAGEIMAGE