Nodes/ComfyUI-Continuity/H3 Still Latent
ComfyUI Node

H3 Still Latent

Slice one latent frame out of an H3 sample

By roadmaus·Created about a month ago·Updated a day ago· 90
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.

CategoryContinuity/internal

Inputs (2)

NameTypeDefaultDescription
samplesLATENT
indexINT0-4096–4096Which latent frame becomes the picture. 0 is the causal first frame, where the decode is exact; a later frame is decoded as if it opened the clip. Negative counts from the end.

Outputs (1)

NameTypeDescription
LATENTLATENT