ComfyUI Node

H3 Project Hub

The control panel for your MiniMax H3 clip chain

By Adudeguyman·Created about a month ago·Updated a day ago· 31
H3 Project Hub
  • vae
  • audio_vae
  • project
  • context_latent
  • chain_active
  • status
  • width
  • height
project_nameMyProject
create_if_missingtrue
width0
height0

The H3 Project Hub is the reason this suite is called a suite instead of "one clever node." H3 Context does the joining; H3 Project Hub is everything around it - the project manager, the review screen, the approve/reject loop, branching, and the one-click export. If you're chaining H3 clips into anything longer than a minute, this is the node that keeps it from becoming a pile of numbered files on disk.

And the setup is genuinely one step: type a project name and queue. That's it. Clip one renders like any normal H3 job - nothing to bypass, no switches to flip - because the Hub knows this is an empty project and stays out of the way.

How it works

One project per chain. Everything lives on disk under ComfyUI/output/h3_projects/YourProject/ - clips, latents, the manifest of what continues from what, and the trash - not in the graph. Close ComfyUI, reboot, come back tomorrow: the project is still there, and the next render picks up exactly where you left off.

Each run, the Hub resolves the approved tail's latent as context, arms or disarms H3 Context via its chain_active output, and hands H3 Project Save its identity. The IS_CHANGED on this node keys off the manifest's mtime, so approving a clip, rejecting one, or finishing a render all force a fresh resolve on the next queue - you never get a stale "what do I continue from" answer.

The two inputs

  • project_name (default "MyProject") - the folder name under output/h3_projects/. The whole chain lives inside it.
  • create_if_missing (default on) - creates the project on first run. Turn it off and a typo fails loudly instead of quietly starting a fresh empty project. Honestly, worth turning off once you have real projects, for exactly that reason.

The four outputs

  • project (H3_PROJECT) → H3 Project Save, so it knows which project to write into.
  • context_latent (LATENT) → H3 Context's context_latent input. The approved tail's latent, or a placeholder when the project is empty.
  • chain_active (BOOLEAN) → H3 Context's enabled input. False on an empty project, so clip 1 renders with no manual bypassing.
  • status (STRING) - a human-readable line like 2 approved | clip 3 take 1 PENDING REVIEW | next render: clip_00003 that you can wire into anything that shows text. The real dashboard, though, is the panel.

The review panel

Click Open project… on the node. Your clip is sitting on a scrubbable timeline, played in context of everything before it, with the playhead parked just before the join - so the first thing you see is whether the transition works. Approve makes it the thing the next clip continues from. Reject dumps it in the trash (recoverable). Don't like it but don't want to lose it? Change your prompt and queue again - you get another take, both kept, and a dropdown to watch each one. Reopen redoes an earlier clip and warns you exactly which later ones get dropped. Branch from clip N forks into a new project, original untouched. Export master stitches your approved clips into one video, and it never overwrites - it suggests the next free filename.

The one footgun is psychological, not technical: nothing advances until you approve. Queueing without approving re-rolls the same clip. That's deliberate - a clip you haven't looked at should never become the foundation for the next five. If you trust the chain, Auto-approve in the panel's top bar turns the gate off, and the pack makes sure you can't miss it (red line on the panel, red line on the node, warning in the log on every render).

Install and gotchas

It ships in the H3 Project Suite: ComfyUI Manager → search "H3 Project Suite", or cd ComfyUI/custom_nodes && git clone https://github.com/Adudeguyman/ComfyUI-H3-Project-Suite, restart, hard-refresh. Export needs ffmpeg on your system; the drift report and level-matcher need av and numpy, which most installs already have.

Pick your resolution first - a chain is locked to the size of its first clip. Want a different aspect ratio? New project. And if you still have the original ComfyUI-H3-Motion-Context pack installed, disable it; the two can't coexist.

Categoryconditioning/minimax

Inputs (6)

NameTypeDefaultDescription
project_nameSTRINGMyProjectFolder under output/h3_projects/. The whole chain - clips, latents, manifest, trash - lives inside it.
create_if_missingBOOLEANtrueCreate the project on first run. Turn off to make a typo fail loudly instead of quietly starting a fresh empty project.
vaeoptVAEOptional. Wire the H3 video VAE here and the panel's Import can encode footage without you picking files.
audio_vaeoptVAEOptional. The H3 audio VAE, so imported footage keeps its sound.
widthoptINT00–4096Optional. Wire a Resolution Selector (set its multiple to 32) to tell an EMPTY project what size it renders at; imported footage is then conformed to it. Leave unwired to read the size off the clips the project already has.
heightoptINT00–4096See width. A size that contradicts a clip the project already has is refused: every clip in a chain is one size.

Outputs (6)

NameTypeDescription
projectH3_PROJECTthis project's identity, for H3 Project Save
context_latentLATENTthe approved tail's latent, for H3 Context
chain_activeBOOLEANfalse until a clip is approved; arms H3 Context
statusSTRINGwhat the project is doing, in words
widthINTthe project's picture width - wire it into the empty latent so every clip renders at one size. 0 until the project has a size
heightINTthe project's picture height. 0 until the project has a size