Nodes/H3 Creator Palette/MiniMax H3 Still Latent
ComfyUI Node

MiniMax H3 Still Latent

Pull one frame out of a sampled H3 latent — the trick that turns H3 into a stills generator

By z3rofeels·Created 25 days ago·Updated 22 days ago· 1
MiniMax H3 Still Latent
  • samples
  • LATENT
index0

H3 is a video model. So how does the pack's PreStage make a still with it? The answer is MiniMax H3 Still Latent: it takes one temporal frame of a sampled H3 latent and hands it out as an ordinary single-image latent. That slice is what the experimental T=1 image VAE was trained on, so decoding it gives you a picture - the same weights, the same canvas, a keyframe made by the model that will render the shot it opens.

It's an MiniMax/internal node, written into the graph by the PreStage's H3 still branch (and it's also the obvious place to point a hand-built graph if you want one). You're most likely to meet it as the silent middle step between "generate an H3 still" and "save a PNG."

How it works

H3 samples a nested pair: a video latent of shape [B, 24, T, H/16, W/16] and an audio half. This node takes the video half, picks the frame at index, and returns it as a plain latent of length 1, .contiguous(), so nothing downstream holds the whole sampled clip alive to read one frame of it. The audio half is dropped here - the DiT sampled the pair together, a still just doesn't read one of them.

The frame index isn't arbitrary, and that's the interesting part: the H3 VAE is causal on its grid, so latent frame 0 is a function of pixel frame 0 alone - exactly what encoding a single image produces. That's why index defaults to 0 and why the tooltip calls it "the causal first frame - the slice the image VAE was trained on."

Inputs and output

  • samples - a sampled H3 latent. If it arrives as the nested (video, audio) pair the sampler returns, the node unbinds it; if it's already a plain video latent, it passes through. Either works.
  • index - which latent frame becomes the picture. Default 0 (the causal first frame); negative counts from the end, so -1 is the clip's last latent frame. Range is −4096 to 4096, and the node checks the frame actually exists: it raises if you ask for frame 40 of a clip that packs into 30.

Output is a single LATENT - length-1, ready for the video VAE decode or any image-VAE path.

Where it shows up

This is the mechanism behind "keyframe made by the weights that will render the shot," which is the PreStage's pitch for its H3 branch - no second model family loaded, and the still and the video agree on look by construction. The index isn't just a technical detail, either: pull frame 0 for a first frame, or a negative index for a last frame, and you've got your end-card from the same latent that made the shot. Install is the shared pack install: ComfyUI Manager → search "H3 Creator Palette", or git clone https://github.com/z3rofeels/ComfyUI-H3-Creator-Palette into custom_nodes/, restart, hard-refresh. ComfyUI 0.34.0+.

CategoryMiniMax/internal

Inputs (2)

NameTypeDefaultDescription
samplesLATENT
indexINT0-4096–4096Which latent frame becomes the picture. 0 is the causal first frame — the slice the image VAE was trained on. Negative counts from the end.

Outputs (1)

NameTypeDescription
LATENTLATENT