MiniMax H3 Aicg
The one node that reads your prompt, picks the task mode, and hands out a context
- h3_bundle
- media
- media_1
- media_2
- media_3
- media_4
- media_5
- media_6
- media_7
- media_8
- media_9
- media_10
- media_11
- media_12
- media_13
- media_14
- media_15
- model
- h3_context
MiniMax H3 is a 33B omni-modal video model - picture and stereo audio generated in one pass, not a silent clip with sound bolted on afterwards. Running it locally is genuinely heavy, and the community's running joke on launch day was "please tell me it doesn't need a supercomputer." This node is the part of the 短剧工作台 (comfyui-AICG3D) pack where you actually talk to the model: prompt, task mode, resolution, duration.
It's the "single shot" node. If you want a 6-minute mini-drama stitched from dozens of segments, you don't start here - you use MiniMax H3 Aicg 上下文分段 (Context Segments) instead. AICG3D_H3 caps out at 30 seconds. That's the boundary between the two nodes and it's the first thing to get straight.
What it actually does
It takes the h3_bundle that the pack's loader built (weights, text encoder, both VAEs, LoRAs) and turns your text plus optional media into a h3_context - I've also seen this pattern called a "pipe" or a "context bus": one wire carrying conditioning, latent, VAEs, fps and model, so you don't drag fifteen connections around the canvas. Like every context bundle, its failure mode is staleness: the contents of the wire matter more than the fact that it's plugged in. Assemble the bundle after your LoRAs, not before.
The mode switch is the whole node
mode defaults to reference (Ref2VA - multi-reference), and the tooltip lays out the rest: T2VA pure text, I2VA one first frame, FL2VA first and last frame, L2VA one last frame, digital_human which locks the audio from your media instead of generating it. There's also a bare image value in the list that the tooltip doesn't describe - for a single first frame, I2VA is the one you want.
Mode isn't cosmetic. The README's changelog for v1.1.6 is explicit that it changes real generation behaviour: how many media items are legal, how the first/last frames condition the sample, which model role is used, and the prompt-optimizer rules.
Inputs worth touching
- prompt - obvious, and it's where the pack expects references written as
@图片1/@视频1/@音频1when you're pulling from the resource library. - mode, resolution, aspect_ratio - 360P through 1080P plus a
customentry, and the usual 1:1 → 21:9 ladder. Thewidth/heightintegers default to 1344×768 with a 32-pixel step, and they only really come into play when you pickcustom. If your output looks like the wrong shape, look at aspect ratio first, not the numbers. - seconds - 0.2 to 30.
- advanced - flips on the settings you'd otherwise never see:
fps(default 24),keyframe_role(first/last),ref_image_size(match/1k/1.5k/2k/original, i.e. the resolution your reference images get encoded at), andreference_mention_mode(indexorfilename- whether you cite refs by number or name). - prompt_optimizer_settings plus prompt_optimizer_scene_guide - 19 scene/style presets (3D animation short, brand promo, papercraft stop-motion, Chinese dialogue, and so on). It's a rewriting pass, not a magic wand; it hides under a boolean for a reason.
- media and
media_1…media_15- the first is the plain slot you wire from a loader, the numbered ones are how the resource library pushes its ordered items in. You don't fill those by hand.
Outputs
Two. model is a MODEL you can hand to a sampler or a renderer if you're building the chain by hand. h3_context is the important one: it goes into MiniMax H3 Aicg 输出 (if you want to unpack conditioning/latent/VAEs for a native sampler chain), into any of the renderers (一采 / 二采放大 / 高级), or into MiniMax H3 Aicg 宽高比 if you need to mirror the aspect ratio downstream.
Installing
Grab it through ComfyUI Manager - search AICG3D, 短剧工作台, or MiniMax H3; it's in the Comfy Registry as of v1.1.11. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/JGRFW/comfyui-AICG3D
Restart, then right-click → AICG3D. Only real pip dependency is imageio-ffmpeg, and that's for final video composition. Weights are the H3 transformer(s) in models/diffusion_models, the Qwen3-VL text encoder in models/text_encoders, and two H3 VAEs in models/vae - a video one and an audio one. Both are non-negotiable.
Where people get burned
Installing ComfyUI-AICG3D-PromptSplit alongside this pack. The README says it in bold: prompt-split is already inside, and two nodes with the same name will eat each other's frontend logic. Also, if you're migrating an old workflow that used MiniMaxH3Easy-prefixed nodes, replace them by hand with their AICG3D_H3_ equivalents - the forced prefix is deliberate namespace hygiene, but it does break imported graphs.
And check your licence situation before you download anything. H3's community licence excludes the EU, UK, Korea and the US from its applicable territory; the weights will load wherever you point them, but that's a legal question, not a technical one.
Inputs (49)
| Name | Type | Default | Description |
|---|---|---|---|
| h3_bundle | MINIMAX_H3_BUNDLE | — | |
| mode | COMBO | reference | Ref2VA 综合参考;T2VA 纯文本;I2VA 单张首帧;FL2VA 首尾两帧;L2VA 单张尾帧;数字人锁定素材音频。 |
| prompt | STRING | — | |
| resolution | COMBO | 480P | 12 options: 360P, 416P, 480P, 540P, 640P, 720P, +6 |
| aspect_ratio | COMBO | 16:9 | 8 options: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, +2 |
| width | INT | 134432–16384 | — |
| height | INT | 76832–16384 | — |
| seconds | FLOAT | 5.00.2–30 | — |
| advanced | BOOLEAN | false | — |
| fps | FLOAT | 241–120 | — |
| keyframe_role | COMBO | first | 2 options: first, last |
| ref_image_size | COMBO | 1k | 5 options: match, 1k, 1.5k, 2k, original |
| reference_mention_mode | COMBO | index | 2 options: filename, index |
| prompt_optimizer_settings | BOOLEAN | false | — |
| prompt_optimizer_scene_guide | COMBO | none | 19 options: none, 3d_animation_short, brand_promo, coop_game_intro, handdrawn_live, minimalist_product_ad, +13 |
| mediaopt | * | — | |
| prompt_optimizer_resourcesopt | STRING | — | |
| prompt_optimizer_markeropt | STRING | — | |
| prompt_optimizer_prompt_connectedopt | BOOLEAN | false | — |
| media_1opt | * | — | |
| media_type_1opt | STRING | — | |
| media_2opt | * | — | |
| media_type_2opt | STRING | — | |
| media_3opt | * | — | |
| media_type_3opt | STRING | — | |
| media_4opt | * | — | |
| media_type_4opt | STRING | — | |
| media_5opt | * | — | |
| media_type_5opt | STRING | — | |
| media_6opt | * | — | |
| media_type_6opt | STRING | — | |
| media_7opt | * | — | |
| media_type_7opt | STRING | — | |
| media_8opt | * | — | |
| media_type_8opt | STRING | — | |
| media_9opt | * | — | |
| media_type_9opt | STRING | — | |
| media_10opt | * | — | |
| media_type_10opt | STRING | — | |
| media_11opt | * | — | |
| media_type_11opt | STRING | — | |
| media_12opt | * | — | |
| media_type_12opt | STRING | — | |
| media_13opt | * | — | |
| media_type_13opt | STRING | — | |
| media_14opt | * | — | |
| media_type_14opt | STRING | — | |
| media_15opt | * | — | |
| media_type_15opt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| h3_context | MINIMAX_H3_CONTEXT | — |