Nodes/ComfyUI-MiniMax-H3-Studio/H3 Studio · Unpack Generation
ComfyUI Node

H3 Studio · Unpack Generation

Taking H3's bundle apart for your own sampler graph

By thaakeno·Created 17 days ago·Updated 5 days ago· 79
H3 Studio · Unpack Generation
  • generation
  • positive
  • h3_latent
  • video_vae
  • requested_frames
  • fitted_source
  • run_info

Some ComfyUI packs keep their internals private. H3 Studio goes the other way: its Condition & Route node hands you a typed H3_STUDIO_GENERATION bundle, and if you'd rather build your own sampling and decode section instead of using the pack's recommended path, H3StudioOutput is the node that unpacks it for you. It's an escape hatch for people who trust the conditioning but want the sampling in their own hands.

The single input is generation - the bundle from Condition & Route (or from the Director's own conditioning path). What you get back are the ordinary ComfyUI values the bundle was hiding:

  • positive - the compiled conditioning, ready to feed a sampler.
  • h3_latent - the prepared temporal latent packet.
  • video_vae - the native H3 video VAE, for your own decode step.
  • requested_frames - the temporal profile count, so you know how many frames you're sampling/decoding.
  • fitted_source - the source image fitted to the generation canvas (only meaningful if you did an image-to-image or reference run).
  • run_info - the string report of what was prepared.

Why you'd bother

The maintained workflow is designed to just work - Loader → Director → Condition → sample → decode → select → save. But H3 sampling is exactly where people want to experiment: custom samplers, scheduler tweaks, different sigma recipes, the LightX profiles, comparing samplers on the same latent. If you're doing any of that, you want the conditioning/latent/VAE handed to you as plain values and the freedom to wire them wherever - which is precisely what this node provides.

It's also the natural bridge if you're moving an H3 Studio graph into a larger workflow that has its own established sampling section. Rather than re-encoding everything, you unpack the generation and let your existing sampler machinery take over. The h3_latent and positive are standard types, so anything that eats a LATENT and CONDITIONING will accept them.

The one thing to remember

The bundle carries the temporal profile for a reason. H3 denoises the whole frame packet jointly, so when you unpack, sample the full requested frame count and then pick your still - that's what the Native H3 VAE Decode + Single Image Output nodes are for. Dropping the temporal dimension to "just one frame" mid-sampling is the classic mistake, and it's why the pack keeps requested_frames right there in the outputs instead of burying it in a report.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/thaakeno/ComfyUI-MiniMax-H3-Studio.git
cd ComfyUI-MiniMax-H3-Studio
python -m pip install -r requirements.txt

Restart and hard-refresh the frontend. No extra dependencies - it's a plain unpack node, so there's nothing else to install beyond the pack and the H3 models themselves.

CategoryH3 Studio

Inputs (1)

NameTypeDefaultDescription
generationH3_STUDIO_GENERATION

Outputs (6)

NameTypeDescription
positiveCONDITIONING
h3_latentLATENT
video_vaeVAE
requested_framesINT
fitted_sourceIMAGE
run_infoSTRING