LC MiniMax H3 Pipe
One wire for all your MiniMax H3 reference media
- pipe
- fl2va_model
- fl2va_clip
- ref2va_model
- ref2va_clip
- video_vae
- audio_vae
- ref_image_0
- ref_image_1
- ref_image_2
- ref_image_3
- ref_image_4
- ref_image_5
- ref_image_6
- ref_image_7
- ref_image_8
- ref_video_0
- ref_video_1
- ref_video_2
- ref_video_audio_0
- ref_video_audio_1
- ref_video_audio_2
- ref_audio_0
- ref_audio_1
- ref_audio_2
- pipe
ComfyUI's native MiniMax H3 nodes - MiniMaxH3ImageToVideo, MiniMaxH3ReferenceToVideo - take a lot of inputs. A video UNET, a CLIP, video and audio VAEs, width/height/length/framerate, up to nine reference images, three reference videos, three reference-video audios and three bare audios. That's the noodle plate the pipe pattern exists for, and LC MiniMax H3 Pipe is the bundling end of it: pack everything onto one LC_H3_PIPE wire, route that one line across the graph, unpack it with its sibling at the far end.
If you've used rgthree Context or an Efficiency pipe, this is the same trick - one object traveling down one wire, each node pulling off what it needs - just scoped to MiniMax's H3 reference stack. It's the kind of node that's pointless on a two-node test graph and quietly essential on a real one where you're A/B-ing three reference images and your canvas would otherwise be a spiderweb.
How it works
The pipe is just a dict the node assembles. You connect the model pieces and refs on the left; it merges them into one bundle and hands you the single pipe output.
- Models & clips:
fl2va_model/fl2va_clipfeed the first-last-frame-to-video path (MiniMaxH3ImageToVideo);ref2va_model/ref2va_clipfeed reference-to-video (MiniMaxH3ReferenceToVideo). You'll typically populate one pair, not both, but they can coexist. - VAEs:
video_vaeandaudio_vae- MiniMax's H3 VAE and audio VAE, separate downloads. - Size:
width(default 1344),height(768),length(frames),frame_rate(24 - H3 is trained at 24 fps; 124 frames ≈ 5s, 244 ≈ 10s). - References:
ref_image_0…8,ref_video_0…2,ref_video_audio_0…2,ref_audio_0…2- fixed sockets, no autogrow. The count is deliberate: it mirrors whatMiniMaxH3ReferenceToVideoaccepts.
There's also a pipe input, and it does something worth knowing. Feed it an existing H3 pipe and the new node does a full merge - your new connections override, everything else carries through, so you can chain edits down the line. Feed it an Aspect Ratio Simplifier pipe or LC Pipe instead and it copies only width and height - nothing else, by design. That's the trick for driving H3 output size from a per-project ARS setup. The flip side: if you're merging an ARS pipe, length and frame_rate still need their own wires, because that pipe type doesn't carry them.
The input you'll actually touch
Beyond the models, the two that bite beginners are length and frame_rate. Leave frame rate at 24 - MiniMax trained H3 at 24, and drifting it produces jittery motion. And remember the prompt tags are 1-based: ref_image_0 is <Picture 1>, ref_image_1 is <Picture 2>, and so on. Get the off-by-one wrong in your prompt and the model treats <Picture 1> as your actual first reference when you meant the second one.
Before you install anything else: read the license
The pipe is just plumbing, but the model it feeds is not. MiniMax H3 is a 33B omni-modal model (~42.5 GB full precision) that opened in August 2026 with day-zero ComfyUI support - and a community license that geofences the weights out of the US, EU, UK and South Korea, outputs included. If you're in one of those regions, running the local weights is unlicensed on the face of the text; your licensed path is MiniMax's hosted Hailuo API. Where this bite people: they grab the ComfyUI nodes, find the HF repo, and only discover the map carve-out after downloading 40+ GB. Check your region before you commit the disk.
Install
The pack itself has zero dependencies - no requirements.txt, just ComfyUI's torch/numpy. Via Manager, search "ComfyUI_LC123_nodes" and restart; or:
cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes
Restart and you'll see the [LC123] load line. The model side is the heavy lift: the H3 weights plus video and audio VAEs are all separate downloads, and you need a card that can actually hold them - nobody has a verified consumer-VRAM floor yet, so assume "big" and plan accordingly.
Inputs (29)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeopt | LC_H3_PIPE | H3 pipe to merge, or Aspect Ratio Simplifier / LC Pipe (copies width + height only). | |
| fl2va_modelopt | MODEL | First-last-frame to video UNET. | |
| fl2va_clipopt | CLIP | CLIP for FL2VA (MiniMaxH3ImageToVideo). | |
| ref2va_modelopt | MODEL | Reference-to-video UNET. | |
| ref2va_clipopt | CLIP | CLIP for REF2VA (MiniMaxH3ReferenceToVideo). | |
| video_vaeopt | VAE | Video VAE (MiniMax vae). | |
| audio_vaeopt | VAE | Audio VAE (MiniMax audio_vae). | |
| widthopt | INT | 134416–16384 | Video width. ARS pipe on pipe fills this. |
| heightopt | INT | 76816–16384 | Video height. |
| lengthopt | INT | 1245–3600 | Frame count. H3 is 24 fps; 124 ≈ 5s, 244 ≈ 10s. |
| frame_rateopt | INT | 241–120 | Frame rate. MiniMax H3 is trained at 24. |
| ref_image_0opt | IMAGE | ref_image_0 | |
| ref_image_1opt | IMAGE | ref_image_1 | |
| ref_image_2opt | IMAGE | ref_image_2 | |
| ref_image_3opt | IMAGE | ref_image_3 | |
| ref_image_4opt | IMAGE | ref_image_4 | |
| ref_image_5opt | IMAGE | ref_image_5 | |
| ref_image_6opt | IMAGE | ref_image_6 | |
| ref_image_7opt | IMAGE | ref_image_7 | |
| ref_image_8opt | IMAGE | ref_image_8 | |
| ref_video_0opt | IMAGE | ref_video_0 | |
| ref_video_1opt | IMAGE | ref_video_1 | |
| ref_video_2opt | IMAGE | ref_video_2 | |
| ref_video_audio_0opt | AUDIO | ref_video_audio_0 | |
| ref_video_audio_1opt | AUDIO | ref_video_audio_1 | |
| ref_video_audio_2opt | AUDIO | ref_video_audio_2 | |
| ref_audio_0opt | AUDIO | ref_audio_0 | |
| ref_audio_1opt | AUDIO | ref_audio_1 | |
| ref_audio_2opt | AUDIO | ref_audio_2 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pipe | LC_H3_PIPE | — |