SelfLift Brings Progressive-Resolution Sampling to ComfyUI

ComfyUI Wikinews

comfyui-SelfLift runs early denoising at low resolution and finishes at full res, a training-free speedup for Z-Image, FLUX.2-Klein and MiniMax H3 with TST correction.

comfyui-SelfLift ports the SelfLift progressive-resolution method into ComfyUI: the first denoising steps run at low resolution, the intermediate latent is lifted to full resolution, and the remaining steps finish there. It is training-free and needs no extra model for the image path.

How SelfLift splits the schedule

Few-step models such as Z-Image-Turbo and FLUX.2-Klein compress the temporal axis, which makes the spatial cost of every remaining forward pass the dominant term. Progressive-resolution sampling cuts that cost by denoising at low resolution first. The problem the SelfLift paper (arXiv:2609.02036) identifies is that simply lifting a latent and trusting the few remaining steps to absorb the mismatch leaves visible artifacts.

SelfLift instead derives the repair signal from the model itself: after the lift, a fraction of high-risk locations is corrected toward a pixel-VAE anchor, and the transition is designed so the low-res prefix stays a valid part of the same trajectory. The paper's reported starting points are 6 of 8 steps at low resolution for Z-Image-Turbo and 3 of 4 for FLUX.2-Klein.

SelfLift teaser figure showing progressive resolution denoising

The SelfLift teaser figure from the project page.

Three nodes in one package

NodeClassWhat it does
SelfLift Progressive Sampler (Image)SelfLiftImageSamplerProgressive-resolution sampling for rectified-flow image models, using the model's own VAE
SelfLift Progressive Sampler (MiniMax H3)SelfLiftH3SamplerExperimental audio-video adaptation of the same idea for H3
H3 Temporal State Transport (TST)SelfLiftH3TSTA MODEL to MODEL patch that corrects temporal imbalance in H3 videos

The samplers plug into the standard ComfyUI sampler wiring: they take a sampler and a sigmas input like SamplerCustom, so you connect KSamplerSelect set to euler and the model's own scheduler. Other samplers are rejected on purpose.

The main knobs are transition_step (how many steps stay at low resolution), lowres_scale (default 0.5), rho (the fraction of high-risk locations pulled toward the VAE anchor, 0 disables it), w_min / w_max for correction strength, the lift interpolation (nearest or bilinear), and an optional model_hires so the high-resolution stage can run a different checkpoint or LoRA stack. The transition adds no extra denoiser evaluations: an N-step schedule stays exactly N, plus one VAE decode, upscale and re-encode round trip unless rho is 0.

SelfLift overview diagram

SelfLift overview: low-resolution prefix, latent lift, and anchored high-resolution stage.

The MiniMax H3 path

The H3 sampler is explicitly marked experimental by the author and is not validated by the paper. It offers two lifting routes:

  • External upscaler (default): an installed H3 latent upscaler with rho at 0, a learned latent-only lift. Compatible with the H3 latent upscaler weights, which the README credits; the node picks up an h3 file from models/latent_upscale_models/.
  • SelfLift-zero: upscaler_model set to none with rho above 0. The author's tested H3 starting point is rho 0.6 with w_min and w_max at 1, after a single-seed run found that the paper's image setting left artifacts on H3's direct lift path.

An experimental highres_tiling option splits the high-resolution phase into 1 to 8 spatial tiles. It keeps only the first tile's audio, has no cross-tile attention and does not support ControlNet, so it is a memory trade rather than a quality knob.

Temporal State Transport

TST is the second paper ported here (arXiv:2609.08505). It measures a signed spectral tension of the frame-level attention operator and corrects only the imbalanced heads, sharpening over-mixed ones and softening fragmented ones, with stronger correction in deeper layers and earlier steps. It works with any standard sampler, not only the SelfLift sampler, and the author reports roughly 1 to 2 percent runtime overhead.

In practice it targets the failures users notice most in H3 output: flickering or morphing details such as on-screen text and logos, identity drift of people and outfits, and physically implausible motion. tau is the strength knob and 0.2 is the recommended value; 0.5 is visibly too strong. It cannot invent detail the model does not have, it applies to H3 models only, and it is skipped when highres_tiling is on. A logging option prints one diagnostics line per model forward, including the share of corrected heads, which the author measured as matching the exact attention operator for 89 to 100 percent of heads.

Availability

Clone facok/comfyui-SelfLift into ComfyUI/custom_nodes and restart; all nodes appear under the selflift category. The package has documentation in English and Chinese, including a table of diagnostic presets for tuning the H3 lift route.

Comments

Sign in with GitHub to join the discussion.

Loading comments…
SelfLift Brings Progressive-Resolution Sampling to ComfyUI | ComfyUI Wiki