Nodes/MiniMax H3 Context Loop/MiniMax H3 SelfLift Seed Hunt — Experimental
ComfyUI Node

MiniMax H3 SelfLift Seed Hunt — Experimental

Four cheap low-res takes of the same H3 scene, then one expensive finish

By ethanfel·Created 2 months ago·Updated a day ago· 516
MiniMax H3 SelfLift Seed Hunt — Experimental
  • state
  • model
  • positive
  • vae
  • latent
  • sampler
  • sigmas
  • negative
  • model_hires
  • highres_tiling
  • output
  • status
  • selected_state
◄seed0►
◄cfg1.0►
◄candidate_count4►
◄batch_namehunt_1►
◄tiny_vae▾►
◄auto_remove_saved_takesfalse►
◄review_enabledtrue►
◄run_moderesume►

SelfLift splits a scene into a cheap low-resolution pass and an expensive full-resolution finish. Seed Hunt asks the obvious follow-up question: why spend the expensive half on a seed you haven't looked at yet?

So it generates a batch of candidates, saves each one's low-resolution pass before anything is decoded for preview, and lets you watch them and pick. Only the takes you choose get their remaining high-resolution steps. Candidate seeds are just the base seed, base seed + 1, base seed + 2 and so on, wrapping at uint64 - which means a hunt is reproducible, and "keep the seed fixed" is a real instruction rather than a superstition.

This is the one shipped SelfLift example in 0.7, covering both reviewed and automatic mode. The plain Chain SelfLift Sampler still exists for workflows already built on it.

Inputs and outputs that matter

The sampling inputs match the dedicated sampler: state, model, positive, vae, latent, sampler, sigmas, seed, cfg (default 1, which is right for a guidance-distilled model), with optional negative, model_hires for the finishing checkpoint and highres_tiling from the tiling node. On top of that:

  • candidate_count - default 4, up to 100, but see the review toggle below.
  • batch_name - default hunt_1. Keep this and the seed unchanged to resume saved takes; change it for a fresh hunt.
  • tiny_vae - the TAEH3 decoder used for the review previews, picked from models/vae_approx.
  • run_mode - resume reuses this scene's latest saved attempt, including finished results; regenerate starts a fresh one while keeping older takes and saved clips. resume is the default for a reason: it reuses completed high-resolution latents after an interruption, and a failed high pass restarts from its saved low pass.
  • review_enabled - on by default. Turn it off and the node generates or reuses just take 1 with the input seed, ignoring candidate_count, with no tiny-VAE preview and no pause. It applies at queue time; it won't change a hunt already running.
  • auto_remove_saved_takes - off by default, and it only cleans up after Segment Save has committed every marked take including the main.

Outputs are output (LATENT - the main take's finished latent, on to Segment + Checkpoint or the review gate), status, and selected_state, which carries the chosen seed downstream. Wire selected_state to Segment Save, the final Review Gate and Loop End; the shipped example already does, and it's how the chosen seed persists into later scenes.

Picking takes

Browse the saved low passes with the gate-style arrows or dots, and use Preview upscale if you want to see the lifted latent before committing. Then Use take - finish upscale for one, or Mark for upscale on several, pick a main with Make main, and Finish N marked. Up to 20 takes per finished review; the alternates are saved as revisions and don't advance the loop; the main finishes last. Keep the final gate's candidate count at 1 - a multi-take selection supplies its own finished set and overrides it.

The previews are honest about being approximate. They're silent, they use a tiny decoder, and flat 2D TAE frames repeat at H3's token timing, so playback duration is right while the motion has fewer distinct frames. Preview upscale is a screening aid, not a promise: the pack documents localized colored patches from learned lifts that show up in the high-resolution pass and don't appear in the low preview.

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 fully. Beyond your own H3 model files and ffmpeg, the review previews need KJNodes (the TAEH3 decoder comes via its Model Preview Override KJ node - without it you get an explicit error, and PyAV is imported up front so you find out before spending the low pass) plus the Kijai H3 TAE weights dropped in models/vae_approx. An upscaler has to be selected on the SelfLift Project node, same as the plain sampler; tridae wants lowres_scale 0.5 and final dimensions divisible by 64.

Resume rules to internalise

Keeping batch_name and the seed is the resume contract. Change the upscaler, or the lift controls rho, w_min, w_max, and you have a distinct hunt identity - finished takes from the old settings won't come back as your new test, and continuation falls back to saved HQ context rather than an incompatible low-resolution carry. After a crash, switch back to resume; regenerate is for when you actually want a different roll.

Categorysampling/minimax/context_loop

Inputs (18)

NameTypeDefaultDescription
stateH3_CHAIN_STATE—
modelMODEL—
positiveCONDITIONING—
vaeVAE—
latentLATENT—
samplerSAMPLER—
sigmasSIGMAS—
seedINT00–18446744073709550000—
cfgFLOAT1.00–100—
candidate_countINT41–100—
batch_nameSTRINGhunt_1Keep this and the seed unchanged to resume saved takes. Change it for a fresh hunt.
tiny_vaeCOMBO1 options: taeh3.safetensors
negativeoptCONDITIONING—
model_hiresoptMODELOptional compatible H3 diffusion checkpoint for the final full-resolution steps. Unconnected: reuse model. Same sampler, sigmas, CFG, VAE and conditioning; connect desired LoRAs to this model separately. Ignored when SelfLift is off.
highres_tilingoptH3_SELFLIFT_TILINGOptional SelfLift Tiling settings for the final high-resolution denoising steps only. Off/unconnected preserves full-frame sampling. Not TST or latent-upscaler tiling.
auto_remove_saved_takesoptBOOLEANfalseDelete this hunt's temporary latents and previews only after Segment Save successfully saves every marked clip/checkpoint, including the main take. Keep off to retain low passes for later choices. Requires selected_state connected to Segment Save. Failed runs keep recovery files.
review_enabledoptBOOLEANtrueOn: generate candidates and wait for a choice. Off: upscale the saved chosen take, or run only the first/input seed automatically (ignores candidate count). Middle passes still save for recovery; no Tiny-VAE preview is required. Applies when queued; does not change an already running hunt or the final Review Gate.
run_modeoptCOMBOresumeResume reuses this scene's latest saved attempt (including finished results). Regenerate starts a fresh attempt each time this node executes, keeping older takes and saved clips. After a failure, switch back to Resume to recover the new attempt. Applies to each scene in the queued range; seed and sampling settings stay unchanged.

Outputs (3)

NameTypeDescription
outputLATENT—
statusSTRING—
selected_stateH3_CHAIN_STATE—