Nodes/comfyui-minimax-h3-audio-T8/H3 Chunked · External PASS2 EAV (one tile, T8 EXP)
ComfyUI Node

H3 Chunked · External PASS2 EAV (one tile, T8 EXP)

Attach One Stage EAV Config To Exactly One PASS2 Segment (Or Don't Bother)

By T8mars·Created 2 months ago·Updated about 7 hours ago· 1,158
H3 Chunked · External PASS2 EAV (one tile, T8 EXP)
  • model
  • sigmas
  • source_segment
  • lifted_segment
  • segment_spec
  • pass2_context
  • plan
  • eav_config
  • model
  • runtime
  • report_json
  • stage_context

EAV in this pack is the external attention effect: a config that applies a FETA gain to the video attention output, on an absolute clock of 1 − video_sigma, with a hard gain limit that stays where it is. It's off by default, report_only reports without changing anything, and apply_exp is the mode where it actually bites.

This node is the adapter that lets a chunked PASS2 segment use one. In a long-video chunked graph that's not trivial: the effect has to be bound to a specific segment's geometry, or the gain gets applied to the wrong slice of the timeline and you find out by looking at the render.

What it binds

Inputs: model, sigmas, source_segment, lifted_segment, segment_spec, pass2_context, plan, and eav_config - the T8_STAGE_EAV_CONFIG from the pack's external Stage EAV Config node.

Outputs: model (the one to feed this segment's PASS2 sampler), runtime (a T8_STAGE_EAV_RUNTIME - go straight to the matching MiniMaxH3ChunkedPass2EAVAuditEXPT8 with it), report_json, and stage_context.

Note what the node deliberately doesn't do: it doesn't touch your existing graph structure. The old graph is untouched; this is an added adapter, not a rewrite. And the config's mode still governs behaviour - if your EAV config is report_only, this binds a model that reports and doesn't apply. Nothing here upgrades a report to an apply.

The limitation you need to read

The description is blunt: currently only full_frame_safe single-tile plans are accepted. Multi-tile producer coverage isn't certified. If your chunked plan splits spatial tiles, this node isn't for you yet, and it will say so rather than half-working.

That fits the standard 4+4 contract, which explicitly only opens the full spatial canvas and the dual-clock Euler sampler. Spatial tiling is a different route with a different contract.

Also worth internalising: EAV executing is not the same as EAV helping. The pack repeats this in every doc, because the measurement is a gain, and a gain of 1.0000 means the effect ran and did nothing measurable. The pack has published cases exactly like that. If your report shows unit gain, you've validated routing, not benefit.

How it fits a chunked run

pass1 → Prepare PASS2 state → slice segment
                                 ↓
        Learned Lift one segment → [this node] → PASS2 sample
                                        ↓
                                   EAV Audit → cumulative AV

Wire model into the segment's PASS2 sampler, and keep the runtime paired with the segment you bound - the audit checks actual forward and attention calls for that segment, and a runtime from a different chunk is a mismatch, not a merge.

The gain limit is unchanged and absolute: exceed it and you get an error rather than a clamped value. The pack will not silently save your render by capping the number you asked for. On very short test grids that protection fires easily, which is normal and not a bug to work around.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8

Or search MiniMax H3 Audio T8 in Manager. Fully quit ComfyUI and relaunch - a page refresh won't register new node classes. No pip step exists on purpose: the pack's requirements file is deliberately empty so an install can never replace ComfyUI's Torch or CUDA stack. You need a recent ComfyUI with native H3 support, and the weights go in yourself: H3 in models/diffusion_models, Qwen in models/text_encoders, video and audio VAEs in models/vae.

Traps

  • Multi-tile plans. Rejected. Read the plan before wiring.
  • Assuming a connection means coverage. It doesn't. The audit exists precisely because a wire isn't proof. Run it.
  • Chaining the runtime to the wrong segment. One config, one segment, one runtime.
  • Reading unit gain as a win. It's a routing pass.
  • Old duplicate installs of this pack. They've shadowed the live module before and produced confusing unexpected keyword argument errors. One copy in custom_nodes.
CategoryT8/MiniMax H3/Modular Sampling/Chunked Experimental

Inputs (8)

NameTypeDefaultDescription
modelMODEL—
sigmasSIGMAS—
source_segmentLATENT—
lifted_segmentLATENT—
segment_specT8_CHUNKED_SOURCE_SEGMENT—
pass2_contextT8_CHUNKED_PASS2_CONTEXT—
planT8_H3_CHUNKED_TWO_PASS_PLAN—
eav_configT8_STAGE_EAV_CONFIG—

Outputs (4)

NameTypeDescription
modelMODEL—
runtimeT8_STAGE_EAV_RUNTIME—
report_jsonSTRING—
stage_contextT8_STAGE_CONTEXT—