Nodes/Nynxz H3/H3 Studio Setup
ComfyUI Node

H3 Studio Setup

Everything the Studio Needs, Squeezed Onto One Wire

By Nynxz·Created 2 months ago·Updated about 22 hours ago· 6
H3 Studio Setup
  • model
  • clip
  • vae
  • audio_vae
  • previous
  • rewrite_clip
  • setup
◄controlnetnone►
◄scene0►

This is the "context bus" of the H3 Studio chain - one node gathering the models, the previous scene and a scene number, so the studio doesn't need eight wires running all the way across the canvas. Its own description: "The models H3 Studio renders with, and the previous scene it continues from, gathered onto one wire."

One output: setup, into H3 Studio. Simple, and worth understanding field by field because two of these are the ones people get wrong.

The required three

model - the H3 model. Wire the plain one here. What comes back out of H3 Studio Outputs is the same model with the scene's LoRAs and control video applied, and that's the one to sample with. This distinction trips people up constantly.

clip - the MiniMax H3 text encoder.

vae - the H3 video VAE. It's used for keyframes, references and continuation, so it's not optional even for a plain text-to-video scene.

The optional inputs, in order of how much they'll bite you

audio_vae - the H3 audio VAE. Only needed to carry the previous scene's sound across a continuation. Leave it off and you get video continuations without the audio carry. Worth wiring once you're doing a real edit; H3 generates audio jointly with picture, so a dropped audio carry is more visible than you'd expect.

controlnet - a dropdown defaulting to none, listing the MiniMax H3 Fun ControlNets it found in models/model_patches. Loaded only when a scene actually has a control video - a video reference used as Control - which then steers its layout and camera. It needs model wired to work at all. This is the field that makes grey-box blocking land properly: as a plain reference, a grey video tends to come back looking like a grey box; as a control video through the Fun ControlNet, H3 follows the staging and camera while drawing the look from your other references. The docs cover the strength and the "until" percentage in the studio's own panel.

previous - the previous scene as a single video, frames and sound. This is the continuation input, and in a loop you feed it from Start Loop's current_iteration_value (carrying H3 Studio Clip). On a loop's first pass it's empty, which is correct - the first scene starts fresh rather than continuing from nothing.

scene - which scene to render, counting from 0, 0–999. Wire Start Loop's iteration_index here to render the film scene by scene, or list_item if you're looping over H3 Studio Scenes' picked list. Unwired, the studio renders whichever scene you have selected in its editor.

rewrite_clip - the text model the studio's shot writer uses when you hit Rewrite on a shot. Wire a CLIPLoader on Qwen3-VL through H3 CLIP LoRA. Each draft queues that chain on its own; renders never load it, so it costs you nothing until you use the writer. Unwired, the writer falls back to the model picked in the studio's settings.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzH3

Restart, ComfyUI 0.30.0+. This node comes with the pack, but the models it references don't - you want the H3 diffusion model, the Qwen3-VL text encoder, and the video and audio VAEs from Comfy-Org's MiniMax-H3 repo on HuggingFace. Add minimax_h3_fun_controlnet_union_2.0_pruned_bf16 in model_patches only if you plan to steer with a control video. The example workflow's note lists every file and folder.

Gotchas

Empty controlnet dropdown. Nothing matching a Fun ControlNet is in models/model_patches. Put the file there and restart; the list is built at node-definition time.

The scene changed but the render didn't. You wired scene and left a selection in the studio. The wired value wins - that's usually what you want in a loop and confusing when you're testing one scene by hand. Unwire it to go back to the studio's playhead.

Continuations have no sound. audio_vae isn't wired.

The shot writer does nothing. No rewrite_clip, and no fallback in the studio's settings either. It's not a render-time dependency, so a missing one fails silently until you press Rewrite.

CategoryNynxz/H3/Studio

Inputs (8)

NameTypeDefaultDescription
modelMODELThe H3 model. H3 Studio Outputs gives it back with the scene's LoRAs and control video applied — sample with that model.
clipCLIPThe MiniMax H3 text encoder.
vaeVAEThe H3 video VAE, for keyframes, references and continuation.
audio_vaeoptVAEThe H3 audio VAE. Needed to carry the previous scene's sound across a continuation.
controlnetoptCOMBOnoneThe MiniMax H3 Fun ControlNet, from models/model_patches. Loaded only when a scene has a control video (a video reference used as Control), which then steers its layout and camera. Needs the model wired.
previousoptVIDEOThe previous scene as one video (frames and sound), e.g. Start Loop's current_iteration_value carrying H3 Studio Clip. Empty on a loop's first pass, which then starts fresh. Used when previous_frames isn't wired.
sceneoptINT00–999Which scene to render, counting from 0 — wire Start Loop's iteration_index to render the film scene by scene (or its list_item, looping over H3 Studio Scenes' `picked`). Unwired, the scene selected in the studio renders.
rewrite_clipoptCLIPThe text model the studio's shot writer (Rewrite on a shot) drafts with, e.g. CLIPLoader on Qwen3-VL, through H3 CLIP LoRA. Each draft queues this chain on its own; renders never load it. Unwired, the writer uses the model picked in the studio's settings.

Outputs (1)

NameTypeDescription
setupNYNXZ_H3_STUDIO_SETUP—