AICG-渲染器(高级·加速)
Same Renderer, But the Model Is Forced Onto an Explicit Wire
- model
- h3_context
- sampler
- sigmas
- guide_image
- guide_audio
- digital_human_lowres_model
- digital_human_highres_model
- video
The difference is one socket
AICG-渲染器(高级·加速) is AICG-渲染器(高级) with a single structural change, and if you don't notice it you'll spend ten minutes wondering why the node won't queue. In the plain version, model is optional - the renderer happily uses whatever model the h3_context is carrying. Here, model is a required input, and it comes first in the socket order, above h3_context.
That's it. Same sampling path, same joint audio/video decode, same VIDEO output, same noise_seed / sampler_name / scheduler / steps / denoise / cleanup_after_run widgets, same optional sampler and sigmas for external schedules. The source literally subclasses the other node and reorders the inputs.
So why does the pack ship both?
Why a required model wire is the better default
Because it makes the patch chain visible. H3's "acceleration" story is LoRAs and sampling patches - a four-step distilled LoRA, a sigma-shift node, whatever model surgery your workflow needs - and all of that happens on a MODEL between the loader and the sampler. In the plain renderer that wire is optional, so it's easy to leave it dangling and sample the base weights while your carefully loaded LoRA sits in the graph doing nothing. The model still comes from the context, the render still works, the video still looks plausible, and you have no idea your patch was ignored.
The WithModel variant takes that failure mode off the table. No model wire, no run. Two tracks on the canvas: model on top, context below.
How to wire it
Load with the pack's loader (which emits both h3_bundle and model), or build a bundle with AICG3D_H3ModelAdapter and patch the model yourself. Then:
MODEL -> [LoRA loader] -> [ModelSampling / shift patch] -> model (this node)
h3_context -> h3_context
video -> SaveVideo
If you have no patches at all, connect the loader's model straight in. The node doesn't care whether the chain has anything in it - it just wants the wire to exist.
Settings, briefly
Everything you'd set on the plain renderer applies here:
noise_seed- 64-bit, reroll until the shot is right.sampler_name,scheduler,steps,denoise- 20 steps at full denoise is a sane default for H3 at native resolution.cleanup_after_run- defaults to unloading the model and emptying the cache after the run. Lowest footprint, slowest second take. Switch to释放缓存if you're iterating on one shot with VRAM to spare.sampler/sigmas(optional) - external schedule overrides, tooltip-documented as overridingsampler_nameand the scheduler/steps/denoise trio respectively.
Output is the single VIDEO.
Install
Manager: search AICG3D or 短剧工作台. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/JGRFW/comfyui-AICG3D
Restart ComfyUI and hard-reload the browser (Ctrl+F5) - this pack's UI assets are versioned precisely because stale JS causes ghost bugs. The only Python dependency in requirements.txt is imageio-ffmpeg.
You'll need H3 weights in place before any of this is meaningful: FL2VA/REF2VA transformers in models/diffusion_models, the text encoder in models/text_encoders, minimax_h3_video_vae_* and minimax_h3_audio_vae_fp32 in models/vae. Note that the H3 Community License carves the US, EU, UK and South Korea out of its territory - worth reading before you build a pipeline on it commercially.
Traps
"Required input missing: model." The whole point of the node. If you migrated an existing graph from the plain renderer by swapping the class, the wire didn't come with it.
Patching after the context. If you also built the context through a path that applied its own acceleration patches, you now have two model states in play: the context's and the one on this wire. The explicit wire wins, which is the behaviour you want, but it means the context's patched model is idle and its VRAM is wasted. Pick one place to patch.
Expecting it to be faster. "加速" in the display name isn't a performance claim from this node - it's the variant that makes an acceleration chain practical. The speed comes from the LoRA and the schedule you attach, not from the node class.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| h3_context | MINIMAX_H3_CONTEXT | — | |
| noise_seed | INT | 00–18446744073709550000 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| steps | INT | 201–10000 | — |
| denoise | FLOAT | 1.000–1 | — |
| cleanup_after_run | COMBO | 卸载模型 | 跑完这个节点后怎么收尾:卸载模型 = 连模型一起卸出显存并回收内存,占用最低,但下次运行要重新加载;释放缓存 = 只把 PyTorch 缓存的显存还给驱动并回收内存,模型留在显存里,下次跑得快;不处理 = 保持 ComfyUI 默认行为。 |
| guide_frame_idx | INT | 0-9999–9999 | 引导图片或音频锚定到哪一帧:0 = 首帧,-1 = 最后一帧。只有连接了引导图片或引导音频时生效。 |
| digital_human_selflift | BOOLEAN | true | 二次采样浅空间放大:开 = 首采完成后,用 H3 3D 潜空间放大器把画面提升到设定倍数,再跑第二段扩散采样重建高清细节;关 = 只跑普通单段采样。 |
| digital_human_upscale_scale | FLOAT | 1.501–4 | 二次采样后的高清输出倍数:1.5 = 宽高各放大 1.5 倍并执行第二段扩散采样;1.0 = 保持原分辨率但仍进行二次采样精修。 |
| digital_human_cfg | FLOAT | 1.00–100 | H3 二采使用 BasicGuider,固定按 CFG 1.0 运行;此控件保留用于兼容旧工作流。 |
| digital_human_transition_step | INT | 41–100 | 第二阶段高清重采样步数;建议 4~6 步,步数越高细节越充分、耗时也越长。 |
| digital_human_lowres_scale | FLOAT | 0.350.05–1 | 第二阶段高清重采样的 denoise;建议 0.30~0.35,越低越保留首采人物与环境,越高会补充更多细节。 |
| digital_human_upscaler_model | COMBO | none | 首采后只放大视频 latent 的 H3 3D 放大器;优先使用 minimax_h3_latent_upscaler_3d_fp16_V2,音频 latent 保持原样。 |
| sample_preview | BOOLEAN | false | 开启后每步通过 ComfyUI 原生预览通道显示采样画面;关闭后不生成任何采样预览。 |
| sampleropt | SAMPLER | 可选外部采样器,例如 DMAD Sampler。连接后覆盖 sampler_name。 | |
| sigmasopt | SIGMAS | 可选外部 Sigmas,例如 DMAD Sigmas。连接后覆盖 scheduler、steps 和 denoise 截断。 | |
| guide_imageopt | IMAGE | 可选。把图片或视频帧批次锚定到 guide_frame_idx;多帧批次会按 MiniMax H3 原生规则作为短片段引导。 | |
| guide_audioopt | AUDIO | 可选。把音频锚定到同一个 guide_frame_idx,超出视频剩余长度的部分会自动裁掉。 | |
| digital_human_lowres_modelopt | MODEL | 首段采样的模型;不接时使用渲染器 model 输入。 | |
| digital_human_highres_modelopt | MODEL | 潜空间放大后第二段高清采样使用的模型;不接时沿用首采模型。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |