Nodes/h4_Live/h4 - Context Unpack
ComfyUI Node

h4 - Context Unpack

The distributor that unpacks an h4 pipe back into real wires

By m3rr·Created 9 months ago·Updated 10 days ago· 1
h4 - Context Unpack
  • h4_pipe
  • model
  • vae
  • clip
  • positive
  • negative
  • latent
  • image
  • mask
  • any_A
  • any_B

H4_ContextUnpack is the other half of h4_Live's pipe system - the exact mirror image of H4_ContextHub. ContextHub bundles your model, VAE, CLIP, conditionings, latent, image, and mask into a single h4_pipe that travels down one wire. ContextUnpack takes that one wire and fans it back out into the individual outputs so normal nodes can actually consume them. If ContextHub is the Mothership, this is the distributor - cargo in, packages out.

You don't strictly need it, and that's worth saying, because it's the kind of node that confuses beginners. ContextHub already passes every component through as individual outputs alongside the pipe. So you can build a workflow that never uses ContextUnpack at all - just wire from the hub's individual outputs. Where Unpack earns its place is in loop-friendly and multi-consumer graphs: you pack once at the top, ship the pipe around (through buffers, through loops), and then unpack at each point where you actually need the raw model or latent. It keeps the graph tidy without forcing every consumer to dig through a pile of hub outputs.

The input

One input, one job: h4_pipe. That's it. Feed it an H4_PIPE - whether it came fresh from a ContextHub or was extended via a base_pipe chain - and out comes everything that was inside.

The outputs

Ten outputs matching the hub's bundle:

  • model, vae, clip - the model stack, ready to wire into a sampler.
  • positive, negative - the conditioning pair.
  • latent, image, mask - the visual payload.
  • any_A, any_B - the wildcard slots, in case you rode something custom through the pipe.

Any value that was never packed (say, no mask went in) comes out as None - and since downstream nodes generally tolerate a missing optional, an empty slot is usually harmless.

The honest caveat

Like every pipe system, h4's is pack-specific. A ContextUnpack will happily take an h4 pipe and only an h4 pipe - rgthree's Context, an Efficiency pipe, or an Easy-Use pipe won't connect. That's the universal tax of the "bundle everything" pattern: every pack invented its own context type and none of them interoperate. If you're married to another pack's context bus, stay married to it; Unpack is for graphs that live in h4_Live.

Installing

Same as the whole pack: ComfyUI Manager → search "h4_Live", or:

cd ComfyUI/custom_nodes
git clone https://github.com/m3rr/h4_Live

restart, done. Pure Python, no dependencies, no models.

Where people get burned

The most common mistake is expecting Unpack to merge pipes or to act as a fallback. It doesn't - it's a pure fan-out. If you feed it a pipe that was assembled badly (say, a base_pipe was never passed into the hub that built it), the outputs are just empty. Debug by checking what actually got packed at the hub end, not by poking at the unpacker. Also remember the ecosystem note: this is a genuinely useful tool inside h4-Live-only graphs, and a paperweight anywhere else.

Categoryh4_Live

Inputs (1)

NameTypeDefaultDescription
h4_pipeH4_PIPE

Outputs (10)

NameTypeDescription
modelMODEL
vaeVAE
clipCLIP
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
imageIMAGE
maskMASK
any_A*
any_B*