ComfyUI Node

MiniMax H3 Aicg 媒体中转

The unglamorous node that makes H3 workflows run headless — 媒体中转

By JGRFW·Created about a month ago·Updated about 13 hours ago· 261
MiniMax H3 Aicg 媒体中转
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • image_7
  • image_8
  • image_9
  • video_1
  • video_2
  • video_3
  • audio_1
  • audio_2
  • audio_3
  • media_bundle
◄image_count1►
◄video_count0►
◄audio_count0►

Most of this pack is built around a canvas: a resource library panel you click, uploads, drag-and-drop ordering, a prompt box the frontend writes @图片1 into. That's lovely in the ComfyUI UI and completely useless when the workflow is being executed by an API client, a queue worker, or a script that only knows about graph inputs.

MiniMax H3 Aicg 媒体中转 is the escape hatch. Three widgets and a pile of sockets: image_count, video_count, audio_count, and the matching image_1…image_9, video_1…video_3, audio_1…audio_3 optional inputs. Output: one media_bundle, exactly like the resource library produces.

How it works

The counts decide how many of the optional sockets count. At run time it walks image, then video, then audio, up to the declared count, skips anything unconnected, and packs the rest into an ordered media bundle with a running index. Counts are clamped to their maxima, so a rogue 12 from an API call becomes 9 instead of an exception.

That's the whole node. No decoding, no caching, no panel - the values arrive already decoded as whatever types you wired in (IMAGE, VIDEO, AUDIO, or anything else, since the sockets are wildcards). The companion node 媒体拆分 does the reverse, which makes the pair a clean boundary for anything automated.

Why you'd reach for it instead of the library

Because the library's state lives in a string widget that the frontend writes. If you're driving the pack from an external queue, you can absolutely fill media_state with JSON - it's documented, input-relative and validated - but you'd be reconstructing a UI side effect by hand. Feeding the same bundle by wiring is deterministic: your client supplies an image tensor, the bridge packs it, the H3 node consumes it. No filenames, no input-directory games, no chance of the frontend rewriting the state on load.

The node's own description says as much: it exists to "collect explicit image, video and audio inputs for API-friendly MiniMax H3 workflows."

It's also just tidy. Two reference images, one driving video, one audio, going into a single H3 node that otherwise wants fifteen numbered media slots: one wire instead of four, and reordering is changing a count, not re-dragging cables.

Inputs and outputs that matter

  • image_count (default 1, max 9), video_count (default 0, max 3), audio_count (default 0, max 3) - the three you actually touch.
  • image_n / video_n / audio_n - wire what you have. Anything beyond the count is ignored, which is the one behaviour worth internalising: if your second image isn't showing up, check image_count before you check the connection.
  • media_bundle out - into an H3 node's media, or into 媒体拆分.

Reference numbering

The bundle is what makes @图片1 / @视频1 / @音频1 meaningful in the prompt, and the H3 node has a reference_mention_mode that switches between citing by index and citing by filename. With a bridge the indices are just "order they were packed", which is a lot easier to reason about than a panel's drag order. Cite by index, keep the counts honest, and the mapping is stable.

Installing

Part of the pack:

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

Or ComfyUI Manager → AICG3D / 短剧工作台. Restart, right-click → AICG3D. Nothing to download.

Where people get burned

One real trap: media types. The sockets are wildcards, so nothing stops you from wiring an IMAGE into audio_1. The pack won't complain here - the bundle just carries a value labelled audio, and an H3 node expecting a waveform will fail later, further from the cause. Keep the three groups straight yourself.

Second: don't confuse this with the library when you're following a tutorial. Both produce the same type from the same-shaped socket, so the graph will look right either way, but a workflow taught with the library panel assumes you'll click items after it opens. If you swapped the library for a bridge, the @图片N mentions in the prompt are now pointing at whatever you wired, which may be nothing.

CategoryAICG3D/提示词与 Skill

Inputs (18)

NameTypeDefaultDescription
image_countINT10–9—
video_countINT00–3—
audio_countINT00–3—
image_1opt*—
image_2opt*—
image_3opt*—
image_4opt*—
image_5opt*—
image_6opt*—
image_7opt*—
image_8opt*—
image_9opt*—
video_1opt*—
video_2opt*—
video_3opt*—
audio_1opt*—
audio_2opt*—
audio_3opt*—

Outputs (1)

NameTypeDescription
media_bundleMINIMAX_H3_MEDIA_BUNDLE—