MiniMax H3 Aicg 无限段落顺序生成(全局设置)
The global config for infinite segments — and why half its widgets exist
- h3_bundle
- model
- sampler
- sigmas
- sequence_config
AICG3D_H3SequenceGlobal - MiniMax H3 Aicg 无限段落顺序生成(全局设置) - is the node you wire first and touch least. One config, fed to the first 视频段落 and inherited by every segment after it: canvas, handoff, sampling, VRAM behaviour, cleanup. It's the film's spec sheet, not a per-shot control. You set 480P or 720P once and twenty segment nodes stop arguing about it.
The settings that actually change your output
resolution (360P through 1080P) and aspect_ratio (1:1 to 21:9) together compute the canvas; the resulting width/height is shown read-only under them. There's no custom pixel entry - deliberate, since H3's grid doesn't love arbitrary sizes. fps is locked to 24 and the range is 24–24, so it's a label, not a knob.
handoff_frames is how many frames each segment takes from the end of the previous one. The tooltip is admirably specific: the panel exposes 5 or 22, and anything you type from 1–5 quantizes to 5 while 6–22 quantizes to 22. More frames, more stable seam, more compute.
handoff_mode picks how that handoff travels. 尾帧续写(latent) passes the previous segment's tail latent straight through - lossless, fastest, the same trick the Motion Context path uses. 尾帧画面(RGB) re-encodes the tail as a visual guide: a tighter visual match, at the cost of one extra decode per segment.
steps / denoise / sampler_name / scheduler are plain sampling controls with euler + normal + 20 steps as the defaults. If you've connected DMAD's four-step accelerator, ignore these - see below.
exposure_lock (on by default) is the seam fixer: the first 12 frames of each segment match the previous segment's tail colour, a 12-frame additive brightness ramp smooths the join, whole-segment correction is capped at ±0.04, and a single-frame pose jump inside the same shot gets a light motion bridge while hard cuts are left alone. Turning it off gives you exactly what the sampler produced, warts included.
The settings that exist because big models are big
MiniMax H3 is a 33B omni-modal model with native audio, and the day-one "it fits on consumer hardware" claims drew instant scepticism. The weights are reportedly ~42.5GB. This node's job is to make that survivable:
vram_tier-自动(按显卡)reads your card once and picks.16Gis effectively "no extra limits" (the old behaviour).12Gcaps the canvas at 720P, unloads the text encoder before sampling and the trunk before decoding, and forces preview interval ≥ 2.8Gcaps at 480P, uses a lighter RGB preview and forces latent handoff. If you're getting OOM at 720P on a 12GB card, this is the first widget to check, not the sampler.vram_policy- per-segment cleanup:释放缓存(recommended) hands cached VRAM back to the driver but keeps the model resident, so the next segment starts fast.卸载模型frees the most but reloads weights every segment, which on a long film is a brutal tax.不处理is ComfyUI's default behaviour.sample_preview/preview_interval- live step previews during sampling. Lovely on a 24GB card, ruinous on an 8GB one, which is why the tier profile overrides it.
The ones people miss
audio_mode - 生成音频 gives every segment its own generated sound. 数字人(锁定音频) uses the single audio track in the media library as the driving track: sliced along the timeline, locked into each segment's latent so the picture follows the audio, and reused for the final film. No audio in the library and it quietly falls back to generated.
keep_full - in RGB-handoff mode, keeps the ~12 extra grid-alignment frames per segment so sentence endings and seams land better; the film runs slightly longer than the seconds you typed.
ref_image_size - how reference images are sized before encoding (1k default, match, 1.5k, 2k, original). 2k costs VRAM and helps faces; that's the whole trade. prompt_optimizer_settings opens the optimiser panel (API or local model, llama-cpp-python for the local route).
And the two optional inputs that override half the panel: connect a sampler (e.g. DMAD's re-noise sampler) and a sigmas (DMAD Sigmas) and they override sampler_name, scheduler, steps and the denoise truncation entirely. The pack's own release notes recommend DMAD at LoRA strength 1.0, 4 steps, shift 12 with the audio shifted separately. Unconnected, the built-in values apply as normal.
Inputs and outputs
Required h3_bundle, then the widgets above; optional model, sampler, sigmas. One output: sequence_config (MINIMAX_H3_SEQUENCE_CONFIG) into the first 视频段落 node. Later segments inherit it down the previous_segment chain, so you wire it once, not twenty times.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/JGRFW/comfyui-AICG3D
Restart, Ctrl+F5, under the AICG3D category. Nothing extra for this node; DMAD is a separate optional pack, and the local prompt optimiser needs llama-cpp-python.
Gotchas
Changing resolution mid-workflow invalidates everything downstream - every segment resamples at a new canvas. Set it before you write the prompts, not after. And if a long chain dies at segment 14 with a CUDA OOM, don't touch the sampler settings: step down vram_tier first, then the resolution.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| h3_bundle | MINIMAX_H3_BUNDLE | — | |
| resolution | COMBO | 480P | 所有段落共用的画布分辨率(没有自定义档):宽高由分辨率 + 宽高比自动算出,节点上只读显示,不用手填。 |
| aspect_ratio | COMBO | 16:9 | 所有段落共用的宽高比,算出来的画布尺寸显示在这两行下面。 |
| fps | FLOAT | 2424–24 | MiniMax H3 原生 24fps,锁定不可改(所有段落共用)。 |
| handoff_frames | INT | 51–22 | 每段开头要接住上一段结尾多少帧画面:H3 使用固定时间栅格,当前面板开放 5 / 22 两档:填 1~5 按 5 帧衔接,填 6~22 按 22 帧衔接(越大越稳、越慢)。 |
| handoff_mode | COMBO | 尾帧续写(latent) | 衔接方式:尾帧续写(latent)= 直接把上一段尾部的 latent 当上下文,无损、最快,Motion Context 同款;尾帧画面(RGB)= 把上一段尾部画面重新编码成 Guide,画面更贴但多一次解码。 |
| ref_image_size | COMBO | 1k | 5 options: match, 1k, 1.5k, 2k, original |
| sampler_name | COMBO | euler | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| scheduler | COMBO | normal | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 |
| steps | INT | 201–10000 | — |
| denoise | FLOAT | 1.000–1 | — |
| vram_policy | COMBO | 释放缓存 | 每个段落跑完的显存收尾:释放缓存(推荐)= 把 PyTorch 缓存的显存还给驱动并回收内存,模型留在显存里,下一段接着跑最快;卸载模型 = 占用最低,但每段都要重新加载权重,长片会很慢;不处理 = 保持 ComfyUI 默认行为。 |
| sample_preview | COMBO | 关 | 开:采样时每一步都把中间结果走 ComfyUI 原生预览通道推给前端,正在采样的那一段节点上能实时看到画面;关:只留底部进度条。 |
| preview_interval | INT | 11–1000 | 每隔多少步推一张采样预览(1 = 每步都推)。调大能省预览解码开销。 |
| prompt_optimizer_settings | BOOLEAN | false | 点这一行打开「提示词优化设置」:优化方式(API / 本地模型)、API 地址、API Key、模型名、本地模型都在这里配。 |
| audio_mode | COMBO | 生成音频 | 生成音频 = 每段自己出声音(默认);数字人(锁定音频)= 素材库里那一条音频当驱动音轨,按整条时间轴切片后锁进每一段(音频不参与去噪、生成的画面跟着音频走),最终成片也用这条音轨。素材库里没有音频时自动按「生成音频」跑。 |
| vram_tier | COMBO | 自动(按显卡) | 显存档位:按显卡显存选一档,档位会自己把画布上限、显存释放时机、采样预览开销调到这一档跑得完的程度。自动(按显卡)= 读一次显卡总显存自己选;16G = 不做额外限制(原来的行为);12G = 画布上限 720P、采样前卸编码器、解码前卸主干、预览间隔 ≥2;8G = 画布上限 480P,另外预览走轻量 RGB 因子、衔接强制按 latent 跑。想跑更大分辨率就把档位往上调。 |
| exposure_lock | COMBO | 跨段曝光锁定 | 接缝亮度匹配:开头 12 帧匹配上一段尾帧的低频色光,12 帧加性亮度平滑过渡,整段校正限制在 ±0.04;同镜头的一帧接缝跳变会做轻微运动桥接,硬切镜头保持不动。关闭则完全按原采样结果输出。 |
| keep_full | BOOLEAN | true | 对应工作台「保完整」。尾帧画面(RGB)引导时,每段会保留对齐网格多出的约 12 帧,成片会略长于界面秒数,但句尾和接缝更稳;关闭则严格裁齐界面时长。 |
| modelopt | MODEL | — | |
| sampleropt | SAMPLER | 可选的外部采样器,例如 DMAD Sampler(re-noise)。连接后覆盖下面的采样器名称。 | |
| sigmasopt | SIGMAS | 可选的外部 Sigma 调度,例如 DMAD Sigmas。连接后覆盖调度器名称、步数与 denoise 截断。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sequence_config | MINIMAX_H3_SEQUENCE_CONFIG | — |