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

MiniMax H3 Still Latent

Slice one latent frame out of an H3 sample

By roadmaus·Created 17 days ago·Updated about 18 hours ago· 58
MiniMax H3 Still Latent
  • samples
  • LATENT
index0

MiniMax H3 is a video model. So when the pack's PreStage wants to make a still out of it - a start frame, an end frame, a reference - it does something that sounds backwards: it generates a short video and throws almost all of it away. MiniMax H3 Still Latent is the node that does the throwing: it takes one temporal frame of a sampled H3 latent and hands it on as a plain, single-image latent.

Here's the shape of the trick. H3 samples a nested tensor pair - video as [B, 24, T, H/16, W/16], plus an audio half - and the H3 VAE is causal on the 17n+5 frame grid. Because of that causality, latent frame 0 is a function of pixel frame 0 alone, and it's exactly what encoding a single image produces. So the PreStage's H3 branch samples a short clip, slices out latent frame 0, and decodes it through an experimental T=1 image VAE (Mamad8/MiniMax-H3-Image-VAE, trained with H3's own encoder frozen). The still is then, genuinely, a frame the same weights that will render the shot would have produced - no second model family, no style drift between your keyframe and your video.

The audio half is dropped here rather than never generated: the DiT samples the pair together, so a still simply doesn't read one of them. That's a small but real cost of using a video model for stills - you pay for the audio half of the sample you discard.

The inputs that matter

  • samples - the sampled H3 latent, video and audio halves together.
  • index - which latent frame becomes the picture. Default 0, and the tooltip is the ground truth: 0 is the causal first frame, the slice the image VAE was trained on. Negative indexes count from the end, so -1 is the clip's last latent frame. Handy if you ever want a different moment than the opening frame as your still.

Output is a LATENT of length 1 - an ordinary image latent, the sort of thing the image VAE can decode as a picture.

Where it lives

It's internal plumbing for the PreStage's H3 branch. When you pick "MiniMax H3" as the architecture on a PreStage, the node compiles a short video generation, runs this slice, and decodes through the single-image VAE - reusing the exact same segment node, checkpoints and canvas as the video pipeline. That reuse is the point of the H3 branch: the keyframe agrees with the shot that opens from it because both came out of the same model.

Installing

Ships with the pack, dev-only:

cd ComfyUI/custom_nodes
git clone https://github.com/roadmaus/ComfyUI-MiniMax-Creator

Restart ComfyUI, no pip install. You'll only meet it inside an expanded PreStage graph, and you need the experimental single-image VAE (Mamad8/MiniMax-H3-Image-VAE) in models/vae for that branch to decode anything. If you've ever wondered how a video generator spits out a still that matches its own video, this slice is the answer.

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