MiniMax H3 LongMedia Video Reconstructor
Restore long, low-quality video with MiniMax H3 — without VRAM scaling to the runtime
- source_video
- source_audio
- reconstruction
- report
MiniMax H3 natively generates clips up to about 15 seconds. Feed it a two-minute, low-quality source clip through a single giant reference pass and your VRAM bill grows with every frame you add. The Video Reconstructor exists to break that link: it prepares an arbitrarily long source video for H3 neural reconstruction so that VRAM follows a local time window, not the total duration.
Reach for it when you have a low-res or degraded clip - old footage, compressed web video, noisy phone captures - and you want H3 to clean it up and rebuild detail rather than just upscale it. The model genuinely can: its native reference-driven (Ref2VA) path is the strongest open-weight answer yet to video-editing-with-audio, which is the whole reason this pack exists.
How it actually works
The important honesty up front: this node does no model or VAE work. Its own docstring says as much. It's a prep and policy node that packages your source into an H3_LONGMEDIA_RECONSTRUCTION contract - a structured payload holding the frames, FPS, fit policy, chunk size, overlap, and fidelity settings. You wire that contract into the reconstruction socket on Long Media Setup, and the pack's existing Setup/Sampler engine performs the actual reconstruction as a segmented native Ref2VA edit, followed by the dual-candidate Detail Recovery V3 pass. The Reconstructor owns the media and the chunking strategy; it leaves the heavy lifting to the machinery already built for segmented generation.
The chunking is the mechanism that keeps memory flat: the source is processed in local temporal windows of segment_seconds, with overlap_frames of hidden continuation context between chunks so the stitching doesn't flicker.
The inputs that matter
- source_video - the full clip as an IMAGE batch (load it with something like VHS_LoadVideo). Frames only; a video IMAGE never carries a soundtrack.
- source_audio - optional AUDIO socket. Connect your original soundtrack here if you want it preserved untouched at the output rather than regenerated.
- source_fps - default 24. Match your source, or the duration math (and every chunk boundary) goes wrong.
- profile -
conservative,balanced, orneural_remaster. Start atbalanced. - source_fit - how frames fit the target canvas.
center_crop(default) preserves geometry;stretchkeeps the full frame but can distort the aspect ratio;strictdemands an exact size match and errors otherwise. - reconstruction_strength - default 0.55. How much authority the source reference holds over the rebuild. 0.55 is the stated balanced starting point.
- detail_recovery / detail_strength / detail_steps - the Detail Recovery V3 pass that synthesizes structure detail and microtexture separately after the main pass.
detail_strength0.35–0.55 is the recommended restoration range (0 disables it);detail_stepsdefaults to 3 - higher costs more and can invent texture. - segment_seconds / overlap_frames - the local window and its hidden continuation context. Shorter windows = lower peak VRAM, more chunk boundaries.
Outputs
- reconstruction - the contract. This is not pixels; it's a request for work. Feed it into Long Media Setup's
reconstructionsocket. - report - a JSON string summarizing what you asked for: source duration, profile,
execution_contract: streamed_local_source_windows_constant_vram, and so on. Useful for confirming the chunking and audio hookup actually registered.
Installing it
Same pack as the rest of the LongMedia line. ComfyUI Manager, search "MiniMax H3 LongMedia", or:
cd ComfyUI/custom_nodes
git clone https://github.com/vizart-vj/ComfyUI-MiniMax-H3-LongMedia
Restart ComfyUI. No extra pip packages. The pack downloads nothing - you supply the H3 model weights through the normal Comfy loaders, and the reconstruction only runs when Setup and the Long Media Sampler are downstream. Worth repeating for US/EU/UK/South Korea users: the H3 open weights sit under a Community License that geofences those regions, so check before you build the whole pipeline around running them locally.
Common issues
- You wired
reconstructioninto a preview or save node and got nothing. It's a contract, not a render. Setup is the thing that turns it into actual reconstruction. - A
strictfit errors out. Your source resolution doesn't match the target canvas - usecenter_cropunless you deliberately need an exact match. - Detail looks overcooked or swirly. You pushed
detail_stepstoo high; the tooltip's warning about inventing texture is real. Back it to 3 and trimdetail_strength. - The soundtrack came back wrong. You didn't connect
source_audio- H3 regenerated audio per its audio mode instead of preserving the original.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| source_video | IMAGE | Full source video as an IMAGE batch. Frames are sliced lazily per LongMedia chunk. | |
| source_fps | FLOAT | 24.0001–120 | — |
| profile | COMBO | balanced | 3 options: conservative, balanced, neural_remaster |
| source_fit | COMBO | center_crop | How source frames are fit to the LongMedia target canvas. center_crop preserves geometry, stretch preserves the full frame but can distort aspect ratio, strict requires an exact size match. |
| reconstruction_strength | FLOAT | 0.550.05–1 | Controls native Ref2VA source-reference authority for reconstruction. Balanced start: 0.55. Detail recovery is controlled separately below. |
| detail_recovery | BOOLEAN | true | Run the dual-candidate Detail Recovery V3 after the second/global pass. It synthesizes structure detail and microtexture separately while low-frequency geometry, motion and audio remain locked. |
| detail_strength | FLOAT | 0.350–1 | Strength of bounded multi-band detail transfer from the dedicated detail pass. 0 disables it; 0.35-0.55 is the recommended restoration range. |
| detail_steps | INT | 31–8 | Model evaluations used by the separate detail pass. Three is the recommended start; higher values cost more and can invent texture. |
| segment_seconds | FLOAT | 5.01–30 | Local reconstruction window. Total source duration may be arbitrarily longer; VRAM follows this window, not total duration. |
| overlap_frames | INT | 225–360 | Hidden temporal continuation context between reconstruction chunks. |
| source_audioopt | AUDIO | Optional original soundtrack. It is preserved untouched at final output and is not regenerated. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| reconstruction | H3_LONGMEDIA_RECONSTRUCTION | — |
| report | STRING | — |