H3 Full-Reference Plan
A working node with an input you currently can't make
- timeline
- plan
- report
Here's an odd one to write about honestly: this node works, and in this release you probably can't feed it. Reading that before you build a workflow around it will save you an afternoon.
What it does
H3 Full-Reference Plan adopts a validated Full-Reference timeline and turns it into a canonical H3_CONTEXT_PLAN - the same plan type the shared H3 Context Compiler consumes. That's the design intent: the reference-set route gets its own planner, and then rejoins the common pipeline so compilation, validation and native wiring stay in one place. The node's own contract says exactly that - "compilation, validation, and native media wiring remain explicit downstream nodes."
It takes one required input, timeline (H3_FULL_REFERENCE_TIMELINE), described as a "validated M6 Full-Reference timeline result." Out comes plan (H3_CONTEXT_PLAN) and report, where the report is an inspectable draft that carries the timeline's limitations forward rather than hiding them.
The point of the split is that a reordered reference set is a timeline problem before it's a prompt problem. If your video reference contributes the first eight seconds and your image reference owns the subject's identity throughout, that ordering has to be settled - and validated - before anything tries to write prose about it. This node is where that settled structure becomes a plan.
The catch
The README's known-limitations list is blunt: H3 Full Reference Timeline Producer cannot be queued in this release, with or without a connected visual_result; validation reports perception_profile_unavailable. That's the node that would produce the timeline this one consumes.
So in practice: Full-Reference Plan is a working door on a corridor that's still being built. The code path exists and is deterministic, but nothing shipped can hand it a qualified input, because the upstream producer needs perception results that the shipped perception profiles can't produce - the same story as the audio and visual perception producers, which report unavailable unless a host operator registers a local service.
The README's advice is the right advice: write full-reference prompts with the Plan and Compiler nodes instead. You lose the automatic timeline adoption, and you keep everything that actually generates today.
Install
Same as any node in the pack, and the pack isn't in the Comfy Registry yet:
cd ComfyUI/custom_nodes
git clone https://github.com/rookiestar28/ComfyUI-MiniMaxH3-Studio.git
# restart ComfyUI
No Python dependencies (dependencies = []), no model downloads during install, prebuilt frontend. Python 3.10+. For generation you'll need ComfyUI's native MiniMaxH3ImageToVideo / MiniMaxH3ReferenceToVideo nodes, the official video_minimax_h3_* templates, and official H3 weights - the pack never installs or manages weights for you.
Should you care about the reference route at all?
Yes, eventually, and H3 is why. It's a 33B omni-modal model that treats text, image, video and audio as one context and generates audio jointly with the picture (MiniMax H3 panel), and reference-set conditioning is where that pays off. The M6/M15 nodes in this pack are clearly aimed at that: identity retention across modalities, directive authority over what's kept and what's changed, and a cross-reference graph that refuses to guess that two assets are the same person (character-consistency.md).
That architecture is half-shipped. Which is normal for a 1.0.2 custom-node pack written by a single author against a model that's weeks old - but it means the honest answer to "how do I use H3 Full-Reference Plan" is: today you don't, and you check the release notes for the version where the timeline producer qualifies.
A note if you're wiring it anyway
If you're the sort of person who reads source for fun, three things about this node are worth knowing. It requires an exact typed timeline, so a hand-built dict won't do. Its report is a draft by design, not a validation pass - validation is the Validator node's job. And the plan it emits is compatible with the same compiler, validator and native adapter as the base route, which is precisely why the reference route is worth finishing rather than a parallel universe of nodes.
One more practical warning: because nothing upstream can produce its input, a workflow containing this node will show a missing-input or unavailable state, not a crash you can debug. Don't chase it.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| timeline | H3_FULL_REFERENCE_TIMELINE | Validated M6 Full-Reference timeline result. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| plan | H3_CONTEXT_PLAN | — |
| report | H3_CONTEXT_REPORT | — |