MiniMax H3 Checkpoint Upscale Adapter
Upscale an already-checkpointed MiniMax H3 chain as a separate child run
- source_manifest
- flow
- state
- source_manifest
- status
Upscale Adapter is the node that turns a finished MiniMax H3 chain into a second, smaller, separate production: the upscale pass. It takes the verified generated lineage from Checkpoint Manager - the exact checkpoint branch you selected - and launches a resumable child upscale loop that reads the saved scenes without a source Plan and without touching the original run. Same idea as the main loop's recursive body, but pointed at a different job: refining what's already on disk instead of generating what's not.
The separation is the point. Your generation run stays frozen exactly as accepted; the upscale loop is a child graph that consumes those checkpoints, writes its own output under upscaled/<profile>/, and can be stopped, tweaked, and resumed without invalidating or rewriting a single accepted generation scene.
How it works
Input is a source_manifest emitted directly by Checkpoint Manager - the verified generated lineage, which may stop before later ungenerated Plan scenes (no source Plan is needed). The Adapter builds a child-run state and hands you a raw recursive-loop link:
- flow - connect directly to Upscale Loop End. This raw link defines the recursive child-loop body.
- state - the current child-run state, for Upscale Current Scene.
You then build whatever upscale body you want between Current and Loop End: H3 latent refinement, an LTX 2.5 pass, or a custom recipe. The node deliberately doesn't constrain which nodes you place in the loop; that's yours.
The inputs that matter:
- profile - the child output folder under the run's
upscaled/directory (defaulth3_2x). Different profiles keep competing upscale experiments isolated, which is nice when you're comparing backends. - backend - a provenance label (
h3_latent,ltx_2_5, orcustom). Read the tooltip closely: it's a label, not a constraint. It records what recipe the profile claims, so you can tell a year later what a folder actually is. - start_clip / end_clip - the scene range to upscale.
start_clipabove 1 verifies and reuses the saved HQ prefix for the profile, so you can resume a child loop from where it stopped. 0 end = the final source scene. - save_latent - persist the HQ sampler latent in each child checkpoint. Off still saves assembly/audio and any compact Drift-Control context needed for standalone merge and resume; on additionally retains the big latent. Saves a lot of disk if you only want the merged video.
- segment_crf - H.264 quality for persisted HQ scene segments. 18 is the usual starting point.
Outputs: flow, state, the verified source_manifest (passed through), and a status string summarizing profile, range, backend, and latent policy.
Install
One node from ComfyUI-MiniMaxH3-Contex-Loop. ComfyUI Manager → search the pack, or:
cd ComfyUI/custom_nodes
git clone https://github.com/ethanfel/ComfyUI-MiniMaxH3-Contex-Loop.git
Restart. No pip deps. Expects a current ComfyUI with native Add Guide for MiniMax H3; H3 weights aren't bundled and are geofenced out of the US/EU/UK/South Korea under the Community License. An upscale body that uses LTX 2.5 or MAINodes needs those packs installed separately - this node doesn't bring them.
Gotchas
The backend label being purely provenance is the subtle one: if you label a profile h3_latent and then swap in an LTX body without changing the label, nothing breaks mechanically - but a month later the label lies, and you'll trust it. Pick a fresh profile when you change recipes. Also remember this is a deferred upscale: it runs on saved checkpoints, so whatever quality decisions you locked in at generation time (including the saved prompt and seed) are the material you're refining. And the usual resume rule applies in miniature - start_clip above 1 verifies the saved prefix, so don't mangle the profile folder between sessions.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| source_manifest | H3_CHAIN_MANIFEST | Verified generated lineage emitted directly by Checkpoint Manager. It may stop before later ungenerated Plan scenes; no source Plan is needed. | |
| profile | STRING | h3_2x | Child output folder under this run's upscaled directory. |
| backend | COMBO | h3_latent | Provenance label for this child recipe. It does not constrain which nodes you place in the loop. |
| recipe_json | STRING | {} | Advanced, provenance-only backend/model/sigma settings, hidden by default. The visible graph remains authoritative. |
| start_clip | INT | 11–128 | First upscale scene. Values above 1 verify and reuse the saved HQ prefix for this profile. |
| end_clip | INT | 00–128 | Last scene to upscale; 0 means the final source scene. |
| save_latent | BOOLEAN | false | Persist the HQ sampler latent in each child checkpoint. Off still saves assembly/audio and any compact Drift-Control context needed for standalone merge and resume. |
| segment_crf | INT | 180–51 | H.264 quality for persisted HQ scene segments. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| flow | H3_CHAIN_UPSCALE_FLOW | Raw recursive-loop link; connect it directly to Upscale Loop End. |
| state | H3_CHAIN_UPSCALE_STATE | Current child-run state for Upscale Current Scene. |
| source_manifest | H3_CHAIN_MANIFEST | Verified manifest of the selected generated checkpoint lineage. |
| status | STRING | Selected profile, scene range, backend label, and latent-save policy. |