ComfyUI Node

MiniMax H3 Aicg 媒体拆分

Get your references back out as normal IMAGE, VIDEO and AUDIO — 媒体拆分

By JGRFW·Created about a month ago·Updated about 13 hours ago· 261
MiniMax H3 Aicg 媒体拆分
  • media_bundle
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • image_7
  • image_8
  • image_9
  • image_10
  • image_11
  • image_12
  • image_13
  • image_14
  • image_15
  • image_16
  • image_17
  • image_18
  • image_19
  • image_20
  • image_21
  • image_22
  • image_23
  • image_24
  • image_25
  • image_26
  • image_27
  • video_1
  • video_2
  • video_3
  • video_4
  • video_5
  • video_6
  • video_7
  • video_8
  • video_9
  • audio_1
  • audio_2
  • audio_3
  • audio_4
  • audio_5
  • audio_6
  • audio_7
  • audio_8
  • audio_9
◄image_count1►
◄video_count0►
◄audio_count0►
◄empty_output_modeblock_missing►

Bundles are great until you need one item out of them. Everything in this pack travels as a media_bundle or an h3_context, and almost nothing else in ComfyUI speaks either type - so the moment you want to face-swap a reference, or run a library image through an upscaler, or trim a driving audio track, you need a splitter. MiniMax H3 Aicg 媒体拆分 is it.

What it does

One media_bundle in, up to forty-five standard outputs out: image_1 … image_27, video_1 … video_9, audio_1 … audio_9. The outputs are typed as wildcards server-side and rebuilt in the frontend from your three count widgets, so the node only ever shows the sockets you asked for. Set image_count to 2 and you get two image outputs; the other twenty-five don't exist until you say so.

The three counts

  • image_count - default 1, 0 to 27. 27 is a strange number until you remember H3 reference workflows can genuinely want a lot of stills.
  • video_count - default 0, 0 to 9.
  • audio_count - default 0, 0 to 9.

Order matches the bundle: images, then video, then audio. Item 1 of each group is the first item of that type in the bundle, which is a relief compared to the flat indexing you might expect.

empty_output_mode, which is the whole design decision here

  • block_missing (default) - if you asked for an output that the bundle can't fill, that branch stays blocked. This is the classic pack behaviour: nothing downstream runs with a null shoved into it, and you get an obvious "why is my save node greyed out" instead of a crash three nodes later.
  • allow_none - returns None for the missing slot and lets the graph keep going. Use this when the reference is optional: a workflow that renders with or without a wardrobe reference, a batch where some clips have a driving audio and some don't.

Picking the wrong one produces two very different, both annoying, failure modes: with block_missing your graph mysteriously won't execute; with allow_none something downstream receives a None and throws something unhelpful about a missing tensor. If execution stops and nothing looks wrong, count the outputs you asked for against what's in the library.

Typical wiring

Resource library → 媒体拆分, then:

  • image_1 into an image-to-image or upscale chain to prep a reference before it goes back into H3 as a keyframe.
  • audio_1 into an audio-trim / level-normalise chain, or into the digital-human path.
  • video_1 into 自动分段切点 when you're doing long-video replacement and need real frame counts.

It's also the clean way to preview what's actually in a bundle. Wire a few outputs into a preview node and you can see the ordering rather than guessing from filenames.

Installing

Ships in comfyui-AICG3D:

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

Restart, right-click → AICG3D. No dependencies, no models, no panel - this one is pure plumbing and it loads as fast as it looks.

Where people get burned

  • Feeding it a MINIMAX_H3_MEDIA_BUNDLE from a splitter. It takes a media bundle only; the segment result type from 分段汇总 is a different thing and won't connect.
  • Setting counts to zero and wondering why nothing connects. Zero means zero outputs.
  • Assuming outputs appear immediately. They're built by the frontend from the counts. If you're loading a workflow JSON from someone else and the sockets look off by one, it's usually a stale image_count value saved with the graph, not a broken install.
CategoryAICG3D/提示词与 Skill

Inputs (5)

NameTypeDefaultDescription
media_bundleMINIMAX_H3_MEDIA_BUNDLE—
image_countINT10–27—
video_countINT00–9—
audio_countINT00–9—
empty_output_modeCOMBOblock_missing2 options: block_missing, allow_none

Outputs (45)

NameTypeDescription
image_1*—
image_2*—
image_3*—
image_4*—
image_5*—
image_6*—
image_7*—
image_8*—
image_9*—
image_10*—
image_11*—
image_12*—
image_13*—
image_14*—
image_15*—
image_16*—
image_17*—
image_18*—
image_19*—
image_20*—
image_21*—
image_22*—
image_23*—
image_24*—
image_25*—
image_26*—
image_27*—
video_1*—
video_2*—
video_3*—
video_4*—
video_5*—
video_6*—
video_7*—
video_8*—
video_9*—
audio_1*—
audio_2*—
audio_3*—
audio_4*—
audio_5*—
audio_6*—
audio_7*—
audio_8*—
audio_9*—