MiniMax H3 Aicg 媒体拆分
Get your references back out as normal IMAGE, VIDEO and AUDIO — 媒体拆分
- 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
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- returnsNonefor 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_1into an image-to-image or upscale chain to prep a reference before it goes back into H3 as a keyframe.audio_1into an audio-trim / level-normalise chain, or into the digital-human path.video_1into 自动分段切点 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_BUNDLEfrom 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_countvalue saved with the graph, not a broken install.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| media_bundle | MINIMAX_H3_MEDIA_BUNDLE | — | |
| image_count | INT | 10–27 | — |
| video_count | INT | 00–9 | — |
| audio_count | INT | 00–9 | — |
| empty_output_mode | COMBO | block_missing | 2 options: block_missing, allow_none |
Outputs (45)
| Name | Type | Description |
|---|---|---|
| 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 | * | — |