Nodes/AICG3D 短剧工作台 - MiniMax H3 无限视频/MiniMax H3 Aicg 最终合成视频
ComfyUI Node

MiniMax H3 Aicg 最终合成视频

One long mp4 out of a paragraph chain, without a RAM bill

By JGRFW·Created about a month ago·Updated about 13 hours ago· 261
MiniMax H3 Aicg 最终合成视频
  • final_segment
  • video
  • saved_file
◄filename_prefixvideo/MiniMax_H3_Sequence►

This is the payoff node of the AICG3D long-video workflow. You've strung ten 视频段落 nodes together, each with its own prompt, seconds and seed, and now you want the thing you can actually upload. AICG3D_H3SequenceCombine - MiniMax H3 Aicg 最终合成视频 - takes the last segment of the chain, walks backwards to find all the others, and decodes them into one continuous MP4 with audio, saved into output/.

It's an output node, so it runs when you hit queue and it shows a preview. It's also the only node in the pack whose dependency is a real external binary, which is where most of the support threads come from.

The mechanism, which is the good part

The obvious naive implementation - decode every segment to a tensor, concatenate, encode - dies at about four segments on a normal machine. This node doesn't do that.

It collects the chain, then decodes one segment at a time and writes the frames straight into a single FFmpeg encoder that stays open for the whole film. Audio comes off each segment's audio latent, gets trimmed to its delivered window, and is written as raw PCM. At the end, video and audio are muxed. Peak memory tracks a single segment, not the runtime. If you've ever watched a "combine videos" node eat 60GB of RAM at 90% and then crash, this is the fix.

It also applies the exposure/seam handling from the global config on the way through, which is what keeps the joins from stepping in brightness. And in 数字人 (locked audio) mode it takes the single driving track from the media library as the film's audio track instead of the per-segment generated audio - including a hard error if the chain accidentally contains two different driving tracks, because the picture for each segment was sampled against its own slice and mixing them would desync the whole back half.

Inputs and outputs

Required:

  • final_segment (MINIMAX_H3_SEQUENCE_SEGMENT) - the last segment node's output. Not the first. It finds the rest by following previous_segment links backwards.
  • filename_prefix - where it lands in output/, default video/MiniMax_H3_Sequence. Add a subfolder in the prefix if you like: video/我的长片.

Outputs:

  • video (VIDEO) - the muxed result, for anything downstream. Note it's a copy of the same file, not a second encode.
  • saved_file (STRING) - the filename, useful if you want to log it or pass it to a node that wants a path.

There are no quality widgets. The encode is fixed; if you want control over bitrate, take the video output into your own save node and do it there.

Install

The pack first:

cd ComfyUI/custom_nodes
git clone https://github.com/JGRFW/comfyui-AICG3D

Then make sure FFmpeg is actually reachable from ComfyUI's Python. The pack ships imageio-ffmpeg as a wheel dependency, falls back to a system ffmpeg.exe on PATH, and honours VHS_FORCE_FFMPEG_PATH if you've set it:

# the interpreter ComfyUI actually runs under
python_embeded\python.exe -m pip install imageio-ffmpeg      # Windows portable
~/ComfyUI/venv/bin/python -m pip install imageio-ffmpeg      # venv

Restart afterwards. Installing into system Python and wondering why the node still can't find FFmpeg is, by volume, the single most common complaint about this pack - the release notes have carried a fix note for it more than once.

Troubleshooting

"Missing FFmpeg" / "Cannot find ffmpeg". See above. Check the install went into the right environment by running the same interpreter with -c "import imageio_ffmpeg; print(imageio_ffmpeg.get_ffmpeg_exe())".

It refuses your final segment. The node validates the type and errors if you hand it something that isn't a 视频段落 output. If you wired the first segment in, it'll happily combine a chain of one - which is legal, and a genuinely useful way to test your settings before committing to ten segments.

Two different driving tracks in digital-human mode. You used two media libraries across the chain. Point every segment at the same library, or switch the audio mode back to 生成音频.

The film is slightly longer than the seconds you typed. That's keep_full on the global config: the RGB-guide path keeps the extra ~12 frames of grid alignment so sentence endings and seams land better. Turn it off if you need frame-exact timing.

A last opinion: this node pairs with 提示词模板 and 分段提示词解析 much better than it pairs with hand-typing ten prompts. If you're doing more than three segments, script it.

CategoryAICG3D/提示词与 Skill

Inputs (2)

NameTypeDefaultDescription
final_segmentMINIMAX_H3_SEQUENCE_SEGMENT—
filename_prefixSTRINGvideo/MiniMax_H3_Sequence保存到 output 目录的前缀,例如 video/我的长片。

Outputs (2)

NameTypeDescription
videoVIDEO—
saved_fileSTRING—