MiniMax H3 Still Latent
Slice one latent frame out of an H3 sample
- samples
- LATENT
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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| samples | LATENT | — | |
| index | INT | 0-4096–4096 | Which 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)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |