H3 Studio Outputs
Six Wires Out of One Scene, and the Noise Is the Interesting One
- render
- model
- positive
- noise
- latent
- frames
- prompt
H3 Studio thinks in films. Your sampler thinks in a model, a conditioning, a latent and a noise. H3 Studio Outputs is the adapter - it takes the render the studio compiled and unpacks it into exactly the values a normal sampling chain wants.
One input: render. One node to learn. Six things out.
What each output is
model - the H3 model from H3 Studio Setup, but returned with this scene's LoRAs already applied, and its control video folded in. Sample with this model, not Setup's. Lanes with a curve over the steps ride on positive as hooks instead. Nice bonus: sampling with it plays each step on the studio's monitor, if Live preview is on in Studio Settings.
positive - the scene's conditioning, ready for the sampler.
noise - the scene's noise, from its own seed. Wire it into the sampler's noise input rather than letting the sampler roll its own. This is the one that makes re-rolling sane: change one scene's seed in the studio and only that scene - and the ones continuing from it - comes out different. There's an elegant detail underneath: a continuation's first tokens get the very noise the previous scene drew for the frames they regenerate, so the two start from the same field rather than from unrelated noise.
latent - the scene's latent for the sampler.
frames - an INT: the scene's length in frames at 24 fps. Feed it wherever you'd otherwise type a frame count, so the studio stays the single source of truth.
prompt - a STRING: the scene's prompt exactly as H3 receives it, @-mentions already compiled into tags. Print it once and you'll understand the studio's whole prompt model in about ninety seconds.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzH3
Restart with ComfyUI 0.30.0+ and the H3 weights from Comfy-Org's MiniMax-H3 repo. Nothing extra for this node.
The error you will probably hit
There's a deliberate failure in this node, and it's a good one. If a scene isn't part of this render, but something on End Loop's terminations needs that scene's sampler, the node raises:
H3 Studio: scene N isn't in this render, but something on End Loop's terminations needs its sampler (a Save Video fed from the decoded frames, say), so it can't be skipped.
Meaning: you rendered part of the film, but a per-scene Save Video or preview is hanging off the decoded frames, so scene six's decode demands scene six's sampler, which this run was never going to execute. The fix is in the message - feed per-scene saves and previews from H3 Studio Clip's video instead, where a skipped scene plays its clip. Or render every scene.
Wiring it up
H3 Studio ▶ Outputs ─┬─ model ───▶ sampler.model
├─ positive ▶ sampler.positive
├─ noise ───▶ sampler.noise (don't skip this)
├─ latent ──▶ sampler.latent
└─ frames ──▶ your length widget / note node
prompt and frames are the debugging pair. When a scene renders something you didn't ask for, look at prompt before you touch anything else - nine times out of ten the studio compiled exactly what you wrote, and you wrote the wrong thing.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| render | NYNXZ_H3_STUDIO_RENDER | From H3 Studio. |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| model | MODEL | The model from H3 Studio Setup with this scene's LoRAs (lanes with a curve over the steps ride on `positive` as hooks) and its control video applied. Sampling with it plays each step on the studio's monitor (Live preview in Studio Settings). |
| positive | CONDITIONING | — |
| noise | NOISE | The scene's noise, from its own seed — wire it to the sampler's noise. Re-roll a scene in the studio and only that scene (and those continuing from it) renders again. A continuation's first tokens get the very noise the previous scene drew for the frames they regenerate, so the two start from one field. |
| latent | LATENT | — |
| frames | INT | The scene's length in frames, at 24 fps. |
| prompt | STRING | The scene's prompt, as H3 receives it. |