Nodes/Trent Nodes/H3 Chain Step
ComfyUI Node

H3 Chain Step

N extensions of a MiniMax H3 clip, no hands on the queue

By TrentHunter82·Created 10 months ago·Updated a day ago· 42
H3 Chain Step
  • meta_batch
  • step
  • seed
  • load_slot
  • save_slot
  • primer
◄chunks3►
◄seed987654321►
◄primer_passfalse►

MiniMax H3 renders 4–15 second clips, with the sound generated jointly with the picture rather than bolted on afterwards. That's the good news. The consequence is that anything longer than one clip is a chain: feed the tail of chunk N back in as context, sample chunk N+1, decode, repeat. What eats your afternoon is the queue - press Run, wait four minutes, remember to bump a counter, press Run again, lose track of the count.

H3 Chain Step is the node that takes that loop off your hands. It doesn't sample or decode anything - it tells VHS's Meta Batch Manager the job is exactly N extensions, then counts the requeues for you.

How it actually works

VideoHelperSuite's Meta Batch Manager is a loop driver: queue the prompt once with it in the graph and it re-runs the whole workflow, injecting a growing requeue counter (0, 1, 2, …) into its own prompt inputs each pass. Normally it's used to chew through a long source video in batches. H3 Chain Step repurposes it as a plain "do this three times" counter.

To get the step number, the node follows the meta_batch link to the manager's node id, then reads that node's requeue widget value out of the prompt currently executing. It also overwrites the manager's total_frames with chunks × frames_per_batch so the progress readouts make sense, and sets has_closed_inputs on the final chunk - the flag that tells VHS it's the last pass and time to finalise the file.

On step 0 it calls meta_batch.reset() and re-stamps its own node id onto the manager. That looks paranoid until you hit it: VHS wipes its id when it finalises, and the cached manager object can survive into a later manually queued run.

The three things you actually set

meta_batch is a forced input, wired from VHS's Meta Batch Manager. Hard requirement, not a nice-to-have - see the install notes.

chunks is how many new extension clips you want, excluding the primer (default 3, capped at 1000). The author's own figure for the supplied workflow: 141-frame windows with 39 frames of retained context, so 102 new frames per chunk - 4.25 seconds at H3's 24 fps, which is why the tooltip talks in seconds.

seed is the base seed, and it isn't passed through unchanged: the seed output is seed + step wrapped at 2^64, so every chunk gets its own noise while the chain stays reproducible from one number.

That's the whole node. step (INT) goes to H3 Chain Audio + Save Barrier's step input, and seed goes into your RandomNoise node - right-click the noise seed widget, convert it to an input, wire it there.

Install

ComfyUI Manager is the easy path: search Trent Nodes (registry id trentnodes) and install. Manually it's:

cd ComfyUI/custom_nodes
git clone https://github.com/TrentHunter82/TrentNodes.git
cd TrentNodes
pip install -r requirements.txt

Then restart ComfyUI, and look under Trent/MiniMax in the Add Node menu - the pack organises everything under Trent/. Note that these two H3 Chain nodes aren't in the pack README's node list yet, so don't go hunting there for them.

The pack's requirements.txt is broad and you need almost none of it here - vosk, transformers, psd-tools, transnetv2 and the LLM SDKs all belong to other nodes. Manager installs the lot; if one of those unrelated extras fails to build, this node still works.

What you do need is ComfyUI-VideoHelperSuite, because VHS_BatchManager is its type. Without VHS there's nothing to wire into the required meta_batch input.

Where people get burned

"H3 Chain Step replaces the driver video. Disconnect other batch loaders." The manager's own inputs socket must be empty. If you wired a VHS loader into it - the normal way to use Meta Batch Manager - the node refuses to run. Delete that link; the chain drives the manager itself.

"H3 chain exceeded its chunk count; queue a fresh run." The requeue counter is past chunks - 1 - you re-queued after the run finalised, or lowered chunks mid-run. Don't try to resume; start over.

"H3 batch state was lost. Queue a fresh run." The manager's id no longer matches the node feeding it, usually because you replaced or rewired the manager.

A slow chain is normal, and it's the cache. Both Chain nodes return NaN from IS_CHANGED, the standard trick for forcing a node to run on every queue. That's required here, but it also re-executes everything upstream on every requeue - which is what you want for chunk N+1, and exactly why a five-chunk chain costs what it costs.

One wiring note: H3 Chain Step isn't an output node. It only runs when something downstream asks for step or seed - in practice the audio/save-barrier node. Leave both outputs dangling and it never executes.

CategoryTrent/MiniMax

Inputs (4)

NameTypeDefaultDescription
meta_batchVHS_BatchManager—
chunksINT31–1000New extension clips, excluding the primer. The supplied 141/39-frame workflow adds 4.25 seconds per chunk.
seedINT9876543210–18446744073709550000—
primer_passoptBOOLEANfalseGenerate the primer as pass 0 of this chain, before the chunks. Pass 0 saves slot 1; pass k loads slot k and saves slot k + 1.

Outputs (5)

NameTypeDescription
stepINT—
seedINT—
load_slotINT—
save_slotINT—
primerBOOLEAN—