MiniMax H3 SelfLift Tiling — Experimental
Split the last few denoise steps so 1080p stops eating your VRAM
- tiling
This is a four-widget settings node with no execution of its own: it builds a tiling object you wire into the highres_tiling input of either MiniMax H3 Chain SelfLift Sampler or SelfLift Seed Hunt.
What it saves you: with SelfLift, the first stage runs at lowres_scale of the Plan size, which is how you keep the memory down. The finish still runs at full size, and at 1080p-and-up that's the step that decides whether the scene fits. Tiling splits those final high-resolution denoising steps spatially so each pass only holds one slab of the video in its attention workspace.
What it costs you is context: tiles don't share attention, so the model can't reconcile what it's drawing on the left of a seam with what it's drawing on the right. The node's own description warns that it may introduce seams or change motion and audio quality, and that only the first tile's audio prediction is kept. This is the classic tiled-upscale tradeoff - the KB's tiled-diffusion advice about tile ControlNet is the image analogue - and you should treat it as a memory rescue, not a quality upgrade.
The widgets
enabled- off by default, and off/unconnected preserves the existing full-frame behavior exactly.tiles- default 2, range 2–8. A fixed count along one spatial axis. More tiles means a smaller attention workspace and less cross-tile context, plus more overhead; small grids use fewer tiles automatically than you ask for.overlap- default 8, range 0–64 in steps of 2. The context margin at each tile edge, measured in latent pixels, which the tooltip notes is normally 16 output pixels each. Adjacent margins overlap and blend, so this is your only lever against a visible seam. It's clamped on small tiles.axis-longest(the default),widthorheight. Split along the longest spatial dimension, or force one. Every tile keeps the full video timeline and audio, so this is purely a spatial split.
The output is a single tiling socket. Nothing else to wire.
Where it sits in the graph
Point tiling at highres_tiling on the sampler. The description is specific that this affects the final high-resolution denoising steps only - it is not TST, not VAE tiling, and not tiling of the learned latent lift. That last part matters most: if your problem is a lifted latent with blocky patches or wrong detail, tiling the high-resolution steps does not fix it, because the lift already happened. The pack says so in as many words, and lists the lift artifact as a known, unfixed limitation.
ControlNet and regional conditioning aren't supported through this path, so a tiled finish and a spatial-conditioning-heavy workflow don't mix yet.
Install
ComfyUI Manager, search MiniMax H3 Contex Loop, or:
cd ComfyUI/custom_nodes
git clone https://github.com/seitanism/ComfyUI-H3-Motion-Context-MultiRef.git
git clone --branch main https://github.com/ethanfel/ComfyUI-MiniMaxH3-Context-Loop.git
Restart ComfyUI fully. The pack ships no requirements.txt, so there's no pip step, but the tiling only does anything inside a SelfLift run - which means you also need a current ComfyUI with native Add Guide for MiniMax H3 support, your own H3 diffusion model, text encoder and both VAEs, an upscaler selected on the SelfLift Project node (an LBH checkpoint in models/latent_upscale_models, tridae which downloads on first use, or bilinear), and ffmpeg on PATH for the review and assembly side.
Practical settings and the errors you'll see
Start at tiles=2. It halves the largest workspace with one seam to inspect instead of seven, and it's the configuration worth validating on your own footage before you reach for 4 or 8. If you see a seam, overlap is the dial - 8 is already a generous default margin in latent terms, but a hard-edged subject on the split axis will show you where it isn't enough. If the seams are visible in motion rather than as a static line, more overlap is unlikely to save it, and you should go back to full-frame and cut resolution instead.
The validator is strict and the messages are clear: tiles outside 2–8, an odd overlap outside 0–64, or an axis that isn't longest/width/height all raise rather than silently clamping. And if you connect the output while enabled is off, you get {"enabled": False} back, which the samplers read as "no tiling" - so a disabled settings node behaves exactly like an unconnected one, which is the right default for an experimental knob.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | false | Opt in to spatial tiling of SelfLift's final high-resolution denoising steps only. Not TST, VAE tiling or tiling of the learned latent lift. |
| tiles | INT | 22–8 | Fixed tile count along one spatial axis. More tiles reduce attention workspace but lose cross-tile context and add overhead. Small grids use fewer tiles. |
| overlap | INT | 80–64 | Context margin at each tile edge, in latent pixels (normally 16 output pixels each). Adjacent margins overlap and blend. Clamped on small tiles. |
| axis | COMBO | Split along the longest spatial dimension, or choose width/height. Every tile retains the full video timeline and audio. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| tiling | H3_SELFLIFT_TILING | — |