Nodes/ComfyUI-TJ_NODE/MiniMax H3 Output (TJ)
ComfyUI Node

MiniMax H3 Output (TJ)

Save the clip, or stitch the whole One-Take sequence — your call

By designloves2·Created 3 months ago·Updated 5 days ago· 13
MiniMax H3 Output (TJ)
  • images
  • audio
  • images
  • video
  • audio
  • fps
  • total_frame
  • report
fps24
save_modefalse
filename_prefixMinimaxH3
pathminimax_h3/%date/
manifest_nameonetake001
index1
total_count1

Every H3 workflow ends the same way: you've got decoded frames, an audio track, and a mess of clips that need to become a single video file. MiniMax H3 Output (TJ) is the endpoint that does two jobs depending on a single switch - it's a save node for one clip, and a whole One-Take stitching pipeline when you flip it.

In its default state (save_mode off, "Single Clip") it just encodes what you give it: the images get written as an mp4 via imageio/libx264, the optional audio gets muxed in with ffmpeg, and you get back the file path. Nothing exotic. Flip save_mode on ("One-Take") and it becomes a recorder: every clip is saved individually and appended as {index, path} to a JSON manifest on disk. On the final clip - when index reaches total_count - it reads the whole manifest, trims the 1.625s overlap off the tail of every clip after the first (the same 39 frames the Sequencer/One-Take Sampler use, hardcoded to match), and concats everything with ffmpeg into one stitched video. Stop the shoot halfway, come back tomorrow, rerun the last clip's run with the same manifest_name and it finishes the job.

The inputs that drive it:

  • images and fps - the decoded frames and frame rate; fps is meant to come straight from the Sequencer/One-Take Sampler's fps output.
  • save_mode - a boolean toggle labeled One-Take/Single Clip. The author's tip: wire the One-Take Sampler's one_take value in here so both nodes always agree.
  • filename_prefix (default MinimaxH3) and path (default minimax_h3/%date/) - %date/ expands to a dated subfolder under your ComfyUI output directory.
  • manifest_name - One-Take only: every clip in one sequence must use the same name (onetake001), because that name is the manifest file.
  • index and total_count - from the Prompt Queue node; the recorder logic compares them to decide when it's seen the last clip.

Outputs: images, video (the file path as a STRING - handy for handing off to other tools), audio, fps, total_frame, and report. Two of those have subtleties. In One-Take mode, video on intermediate clips points at that clip's individual file, and only on the final clip does it return the stitched result - so read it after the last run. And total_frame on the final clip is the stitched frame count, which is less than clips × per-clip frames because the overlaps get trimmed; use that value for anything downstream that cares about real length.

The dependencies are worth knowing before you build a workflow around it: it shells out to ffmpeg (must be on PATH or bundled) and imports imageio to write mp4. The pack's requirements list imageio and imageio-ffmpeg precisely because neither ships with ComfyUI, so a clean install needs them.

Install

Part of ComfyUI-TJ_NODE:

cd ComfyUI/custom_nodes
git clone https://github.com/designloves2/ComfyUI-TJ_NODE

or ComfyUI Manager → "ComfyUI-TJ_NODE", then restart. Confirm imageio and imageio-ffmpeg are installed (the pack's installer handles it; if you cloned by hand and skipped requirements, pip install imageio imageio-ffmpeg). And the usual H3 caveats: you supply the model files, and the local-weights license excludes the US, EU, UK and South Korea.

Troubleshooting

  • ModuleNotFoundError: imageio - the pack's requirements didn't get installed. pip install imageio imageio-ffmpeg and restart.
  • ffmpeg errors / "file not found" - ffmpeg isn't reachable. Install it or make sure imageio-ffmpeg's bundled binary is being used.
  • Stitch output shorter than expected - correct: each clip after the first loses its 39-frame overlap. That's the design, and total_frame on the final run reflects it.
  • Clips not stitching - manifest_name must be identical across the sequence, and index/total_count must actually be wired from the queue node; without total_count the recorder never knows to fire.
Category ✨ TJ_Node/Video

Inputs (9)

NameTypeDefaultDescription
imagesIMAGE
fpsFLOAT241–120MiniMax H3 Sequencer (TJ)의 fps 출력을 연결하세요.
save_modeBOOLEANfalseMiniMax H3 One-Take Sampler (TJ)의 one_take와 같은 값을 연결하면 두 노드가 항상 같이 켜지고 꺼집니다.
filename_prefixSTRINGMinimaxH3
pathSTRINGminimax_h3/%date/
manifest_nameSTRINGonetake001One-Take 모드에서만 사용. 같은 원테이크 시퀀스의 모든 클립은 이 이름을 동일하게 써야 하나의 매니페스트로 묶입니다.
indexINT11–100000MiniMax H3 Prompt Queue (TJ)의 index 출력을 연결하세요.
total_countINT11–100000MiniMax H3 Prompt Queue (TJ)의 total_count 출력을 연결하세요.
audiooptAUDIO

Outputs (6)

NameTypeDescription
imagesIMAGE
videoSTRING
audioAUDIO
fpsFLOAT
total_frameINT
reportSTRING