Nodes/comfyui-minimax-h3-audio-T8/H3 Chunked v1 · Freeze ONE Segment (T8 EXP)
ComfyUI Node

H3 Chunked v1 · Freeze ONE Segment (T8 EXP)

Freezing one chunk so you never resample it again

By T8mars·Created 2 months ago·Updated about 7 hours ago· 1,158
H3 Chunked v1 · Freeze ONE Segment (T8 EXP)
  • segment_result
  • source_segment
  • segment_spec
  • pass2_context
  • plan
  • cumulative_av_latent
  • segment_result
  • artifact_path
  • artifact_sha256
  • report_json
◄confirm_savefalse►

You just burned four minutes and half your VRAM refining segment 2, and now you want to change one word of the prompt for segment 3. Without something like this you rerun everything.

H3 Chunked v1 · Freeze ONE Segment writes a completed segment to disk with a manifest and an exact SHA-256, so the next run can load it instead of sampling it. It is not a cache and it's not automatic - the author is almost stridently clear about that. Writing is off by default; you flip confirm_save yourself and you copy the receipt by hand.

What gets written

Wire in the typed results from the segment you just finished: segment_result (from the PASS2 sampler), plus the same source_segment, segment_spec, pass2_context and plan that produced it. The node re-derives the identity of all of that, then writes a single safetensors file under

ComfyUI/output/MiniMaxH3/chunked_v1_segment_artifacts/

Each save creates a fresh directory, takes an OS lock so two runs can't trample each other, and commits atomically. Nothing is overwritten and nothing is pickled. The manifest keeps the cumulative AV content bound to the source identity, the segment index and the sampling state it came from.

Outputs: cumulative_av_latent (pass-through, so you can keep the chain moving in the same graph), segment_result (pass-through typed result), artifact_path, artifact_sha256 and report_json. The two receipt strings are the product - copy them into the load node verbatim. A filename is not an identity; the SHA is.

The async-is-not-a-cache part

Loading a frozen segment is not the same as telling ComfyUI "this MODEL produces this segment." The manifest proves what bytes are on disk. It does not prove that today's model, prompt, LoRA stack or conditioning would produce the same thing. The pack says this out loud in its own docs, and the load node repeats it in its description. So: freeze the segment when you're happy with it, then treat the frozen artifact as a fixed input, not as a promise about the current graph.

confirm_save defaulting to false is deliberate. In the shipped save/load example graphs, every save node ships disabled, so importing a workflow can't quietly fill your disk. You turn on the ones you mean.

Install

Manager → search MiniMax H3 Audio T8, or:

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

Fully quit and restart ComfyUI, then refresh the tab. The pack needs a current ComfyUI with native H3 support; the Registry listing and GitHub releases move independently, so if Manager doesn't show the version you need, clone from GitHub. No extra pip packages for these nodes - requirements.txt is intentionally empty so installing the pack can never replace ComfyUI's Torch/CUDA stack. Weights (main model, Qwen text encoder, video and audio VAEs) are separate downloads; the author's model mirrors are on HuggingFace under t8star.

Where it goes wrong

You forgot confirm_save. The node runs, returns no path, and the downstream load complains about an empty artifact_path. Toggle it and rerun the segment - you can't retrofit a save onto a finished run.

You edited the earlier part of the graph. Change the frozen segment's source model, prompt or effects and the load node's re-checks fail. That's intended: a bad receipt should refuse to load, not silently resample. If you genuinely changed the recipe, rerun and save again.

Two copies of the pack in custom_nodes. Old test-copy directories shadow the real install and serve stale schemas, which shows up as missing or extra inputs on nodes you didn't touch. Rename the stale directory with a .disabled suffix (a leading underscore does not disable a pack), restart, and confirm python_module via /object_info.

Storage discipline. These artifacts pile up fast - full joint AV latents, one directory per save. Clear out the ones whose SHA you're no longer referencing; the pack never prunes for you.

CategoryT8/MiniMax H3/Modular Sampling/Chunked Experimental

Inputs (6)

NameTypeDefaultDescription
segment_resultT8_CHUNKED_PASS2_RESULT—
source_segmentLATENT—
segment_specT8_CHUNKED_SOURCE_SEGMENT—
pass2_contextT8_CHUNKED_PASS2_CONTEXT—
planT8_H3_CHUNKED_TWO_PASS_PLAN—
confirm_saveBOOLEANfalse—

Outputs (5)

NameTypeDescription
cumulative_av_latentLATENT—
segment_resultT8_CHUNKED_PASS2_RESULT—
artifact_pathSTRING—
artifact_sha256STRING—
report_jsonSTRING—