H3 Chunked · Slice ONE First-Pass Segment (T8 EXP)
Slice one first-pass segment without sampling anything
- first_pass_latent
- plan
- segment_latent
- segment_spec
- report_json
Most ComfyUI nodes that "split" a video into chunks are hiding something. This one is refreshingly dumb, and that's the point: H3 Chunked · Slice ONE First-Pass Segment takes a finished first-pass latent, a chunked plan, and an index, and hands you exactly one segment. No sampling. No upscaling. No claim that the first pass was ever completed.
Why would you want that? Because on the legacy v1–v4 chunked route, everything downstream is separate and explicit: you slice a segment, you upscale that segment with the learned 3D upscaler, and you sample the second pass on it with your own sampler settings. The slice node is step one, and it's the step that decides your segment boundaries.
The mechanism
Feed first_pass_latent - the nested audio+video latent from your low pass - plus plan (from the pack's Chunked Two-Pass Plan node) and segment_index, a plain integer starting at 0. Out comes segment_latent, a T8_CHUNKED_SOURCE_SEGMENT token called segment_spec, and a report.
The segment_spec is the important output. It's a typed identity, not a string you can fake: it carries which plan, which slice, and the geometry that goes with it. Downstream nodes - the PASS2 sampler, the v1 Relay projection, the v1 save/load pair - all re-check it. Change the plan and the old spec stops matching, on purpose.
Segment geometry comes from the plan's temporal chunking. In the pack's own S18 research set that's 56 frames total with 34-frame windows and a 17-frame overlap, which is why you get three segments; the overlap exists so a window has read-only context from the one before it. Segments land on H3's 17-frame grid (five tokens per 17 frames), and changing the frame count, chunk length or overlap means rebuilding the segments, not nudging a widget on an old graph and hoping. The node also checks for gaps or overlaps outside the declared plan and refuses bad time metadata outright.
Inputs and outputs
Three inputs, and you'll only touch one of them repeatedly:
first_pass_latent- the completed low pass. The node does not verify it was completed; see below.plan- the chunked two-pass plan that defines the slices.segment_index- 0 through 9999, default 0. Each segment in your graph gets its own slice node with its own index. This is how this family avoids loops: one node per segment, wired in order.
Outputs are segment_latent (hand it to your learned upscaler), segment_spec (hand it to the PASS2 sampler and to the Relay projection for that segment), and report_json.
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 restart ComfyUI afterwards, then refresh the browser tab. Model side: the H3 main model goes to models/diffusion_models, Qwen to models/text_encoders, both VAEs to models/vae. The learned 3D upscaler weights come from the author's HuggingFace (t8star) - the node pack ships no weights. Base nodes install with no extra pip requirements; don't let anyone talk you into reinstalling Torch for this.
Gotchas
It does not prove the first pass ran. Connect a truncated, hand-edited or half-decoded latent and the node will happily slice it. If you want provenance on the low pass, use the v5 route's Verify Native Partial4 Source - that node exists precisely because "I connected something that looks like a latent" isn't evidence.
It rejects the v5 contract. Standard joint 4+4 lifts the whole timeline once and then windows it. This node's per-segment slicing doesn't line up with that, and the pack says so in the node description rather than failing weirdly later. If you're on a v5 workflow, you want MiniMaxH3ChunkedV5WindowLoadEXPT8 and friends - not this.
Duplicate packs. If the node is missing, or its inputs don't match what a workflow expects, check for a second copy of the pack in custom_nodes. Old test copies serve stale schemas; rename them with a .disabled suffix (a leading underscore is not enough), restart, and confirm the python_module in /object_info.
The pack also warns that this is full_frame_safe territory: spatial tiling is not certified on this route, and the old v1/v2/v3/v4 example recipes don't carry over to v5.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| first_pass_latent | LATENT | — | |
| plan | T8_H3_CHUNKED_TWO_PASS_PLAN | — | |
| segment_index | INT | 00–9999 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| segment_latent | LATENT | — |
| segment_spec | T8_CHUNKED_SOURCE_SEGMENT | — |
| report_json | STRING | — |