JR MiniMax H3 Last Frame
The last-frame grabber, and the pass_frames trap that comes with it
- frames
- image
This is a tiny node and I won't pretend otherwise: it takes an IMAGE batch, returns the last frame as an IMAGE, and keeps the batch axis so the output stays a valid frame tensor rather than something that breaks downstream nodes. One input (frames), one output (image), no settings, no hidden state. It exists because the last frame of a video is genuinely useful - it's your "what did this generation end on" checkpoint, and it's the seed for continuation workflows where you want the final frame of clip one to inform clip two.
What makes it worth its own page is the integration detail that trips people up. If your frames come from the pack's own Enhanced Video Combine, you must enable pass_frames=true on that node - otherwise the combine node doesn't emit its frames output at all, and Last Frame has nothing to grab. The combine node's save_last_frame=true flag writes a PNG file, which is a file side effect, not an IMAGE output; it doesn't magically feed this node. Two different mechanisms, easy to confuse.
Under the hood it validates that the input is a non-empty [B,H,W,C] torch tensor with RGB or RGBA channels, then returns frames[-1:] (a contiguous single-frame batch). It refuses an empty batch with an error that helpfully tells you to enable pass_frames. There's no resizing, no color conversion, no averaging - it's a slice.
Where it fits
The README's wiring puts it at the end of the decode/upscale/save chain as an observation point:
Enhanced Video Combine (pass_frames=true) → frames → Last Frame → image
From there the last frame can go to a preview, a Save Image, or a prompt/conditioning input that wants a concrete image of where the video landed.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Goldlionren/ComfyUI_JR_MiniMaxH3Node
<your-comfyui-python> -m pip install -r ComfyUI_JR_MiniMaxH3Node/requirements.txt
or ComfyUI Manager → search ComfyUI_JR_MiniMaxH3Node. It's part of the same 16-node pack, so you get everything with one install.
Troubleshooting
- "Empty IMAGE batch" error - the combine node upstream isn't set to
pass_frames=true. That's the number-one cause and the error message says so. - Output looks like a 3D tensor when I expected 4D - check you're not squeezing the batch axis somewhere in between; the node returns
[1,H,W,C]on purpose. - Last frame looks wrong - it's literally the final frame of the batch you fed in. If your frames were reversed or trimmed upstream, that's upstream's doing.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| frames | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |