MiniMax H3 Video VAE Encode
Pixels in, H3 latents out, on a budget
- pixels
- vae
- LATENT
Somewhere between "I have frames" and "the H3 sampler can work with them" sits a VAE encode - and on H3, that encode is expensive enough that how you do it decides whether it fits on your card at all. MiniMax H3 Video VAE Encode is the pack's encode side of the story: it takes pixels and produces H3 video latents, using the same tiled strategy as its decode sibling so big inputs don't blow up VRAM.
It's a straightforwardly named node with a real job: this is what turns your source video into the LATENT that H3 sampling starts from. If you're doing video-to-video or conditioning on existing footage, this is where the footage enters the latent world.
How it works
The encoder retains the official H3 tiled geometry - 256px windows with 64px overlap - and batches tiles automatically so you don't have to hand-schedule them. Two details from the node's own description are the actual point:
- Asynchronous pixel buffering - pixel data streams in while the encoder works, instead of everything sitting in memory at once.
- ComfyUI-managed block-level dynamic-weight prefetch - the encoder's weights load block-by-block as needed, using ComfyUI's offload machinery. That's the mechanism that keeps a big encode from demanding the whole model in VRAM.
The output storage matches ComfyUI's configured VAE intermediate dtype, with numerically sensitive accumulation staying in FP32 - the same discipline the decode side uses. You get normal LATENT output, ready for the sampler or for the pack's AV-latent nodes.
The inputs that matter
- pixels - the
IMAGEframe batch. - vae - the H3 VAE.
That's it - two inputs, one output (LATENT). No attention selector, no experimental threshold; the encode side is deliberately simpler than decode because the heavy choices (which attention backend, how much overlap to keep) live on the decode side.
How to install
cd ComfyUI/custom_nodes
git clone https://github.com/wjie98/comfyui-svdint4
cd comfyui-svdint4
python -m pip install -v --no-build-isolation -e ./kernel
The tiled encoder needs the compiled kernel, so the manual build step applies here. Restart ComfyUI after. H3 VAE weights come from the normal model folders - this node expects a loaded VAE, it doesn't load one itself.
The honest take
The pattern you'll actually use in a workflow: load H3 VAE → encode your source footage with this node → (optionally split/concat AV latents if audio is involved) → sample → decode with MiniMax H3 Video VAE Decode. The encode is the boring end of that loop, which is exactly right - it should be reliable and memory-sane and otherwise invisible. If your encode is the thing OOMing, it's almost always the source being decoded-to-pixels-first (or the wrong VAE); feed it real frames and let the tiling do its job.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| pixels | IMAGE | — | |
| vae | VAE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |