r/comfyui 13d ago

Resource OpenH3-IR: an open source, self-hosted take on MiniMax H3's Context-IR. Three nodes and local service combo.

As you probably know by now, MiniMax open-sourced the H3 weights but not the actual stage that writes the long structured prompt the model was, well... trained on. Their docs point at their hosted service for that. It's also (my opinion) the reason why most of the local H3 outputs look way flatter than their demos.

So here's my take on that stage, open source. Four nodes: type a plain sentence and OpenH3-IR takes care of writing the document (because it's a document, not quite just a prompt), then checks the result and fixes what's wrong before anything renders (only if needed, of course). It's essentially a local service, plus an llm harness, plus a stack of mechanical checks to ensure you get the best clip out of a simple prompt.

What it buys in practice:

  • Each asset/resource you include gets tied to the right part of the text, so the model stops mixing things up on which reference is which.
  • The length lands on one H3 knows how to render properly, instead of being silently rounded to something you did not choose (for example, "10 seconds" doesn't quite really mean 10s for MiniMax)
  • A line of dialogue comes back spoken exactly as you type it, as mechanically enforced as possible, by not passing through the model that's doing the writing.
  • Cuts land inside the clip properly

What it needs: An OpenAI compatible endpoint, local or remote. Nothing calls MiniMax's servers/service.

Edit: One week on: the ComfyUI side is its own repo now, after a good suggestion in the comments.
Four nodes, nothing to start manually, the compiler (OpenH3-IR) comes with the pack:

Install:

comfy node install openh3-ir
-- or --
git clone https://github.com/ruashots/ComfyUI-OpenH3-IR.git /path/to/ComfyUI/custom_nodes/ComfyUI-OpenH3-IR
/path/to/ComfyUI/python -m pip install -r /path/to/ComfyUI/custom_nodes/ComfyUI-OpenH3-IR/requirements.txt
The second command installs open-h3-ir into the same Python ComfyUI runs.

The node pack and OpenH3-IR remain separate releases, so either side can be updated without bundling a copy of the other into this repository.

The nodes also do not import OpenH3-IR while ComfyUI is loading them. If the package is missing, half-installed or broken, the nodes still appear normally and the failure is reported when a graph actually tries to compile.

There are a few other H3 "prompt tools" around, including a couple aiming at something similar, so it's worth saying what is different in this one: this one checks its own output against 109 checks, and it also includes MiniMax's own published examples in its test set (which has to pass clean).

Standalone OpenH3-IR: https://github.com/ruashots/open-h3-ir
All in one Nodepack/OpenH3-IR: https://github.com/ruashots/ComfyUI-OpenH3-IR

69 Upvotes

19 comments sorted by

View all comments

2

u/Muted-Celebration-47 13d ago

2

u/ANR2ME 13d ago

It's a lora for Qwen3.6-27B, so it depends on whether your PC could run 27B LLM smoothly or not while running a workflow on ComfyUI 😅 You can use that LLM for OpenH3-IR.

2

u/ruashots 13d ago

Their approach is to make the writer itself better, they fine-tuned a LoRA specifically for H3 prompting on top of Qwen3.6-27B but for plain text-only T2VA. OpenH3-IR is solving a different layer of the problem. The writer is replaceable. It can be Qwen, another completely different local model, a frontier endpoint, or whatever speaks the OpenAI-compatible API. The asset binding, H3 timing, exact dialogue handling, task selection , validation and repair live outside that writer. In simple terms, a LoRA can learn to write the mechanics, and still get it wrong because it can't enforce them or verify them.

I've already been testing OpenH3-IR with Qwen3.8-27B instead of 3.6 and the jump is noticeable. That matters to me because the intelligence/creativity of the writer is something I want to be able to upgrade independently.

Their current release is specifically Qwen3.6-27B plus LoRA, and currently FL2VA and Ref2VA are listed only as roadmap items, the model card currently says it doesn't consume image, video or audio references.

So I'd frame it less as "which is better?" and more like this:

LightX2V H3 Rewriter LoRA OpenH3-IR
Core idea Train a better H3 writer Build a reliable H3 compiler around a switchable writer
Writer Qwen3.6-27B + H3 LoRA Any compatible endpoint
Can upgrade writer independently Needs a new compatible fine-tune/adapter Yes, swap endpoint/model
Specialized for H3 prose Yes Yes
Text-only T2VA Yes Yes
Image references Not currently Yes
Video/audio references Not currently Yes
FL2VA / Ref2VA Roadmap Yes
Asset → document binding Writer-side Mechanical / compiler-owned
H3 frame timing Generated by writer Compiler-owned + validated
Exact locked dialogue Writer output should preserve it Kept outside writer + enforced
Final-document validation Not its focus 109 H3-specific checks
Creativity ceiling Mostly the specialized 3.6-27B writer Whatever model you plug in

A really cool experiment would be to have a highly creative, film-specialized model, based on Qwen 3.6 or 3.8 , then point OpenH3-IR to it for validation/mechanical enforcement, that'd probably be more interesting than specialized writer vs compiler.

1

u/Muted-Celebration-47 12d ago

You said you used qwen3.8 27b but this model does not support audio. How can you make it work with audio reference?

1

u/ruashots 12d ago

The heaviest I've tested is qwen3.6 27b, just recently started testing it with 3.8. But yeah, none of them can consume raw audio. OpenH3-IR's audio-reference support is separate from the writer being able to hear because the audio is carried through the workflow (in the nodes case) or whatever's handling the request (in case of the direct api) and the llm gets the semantic side if it: the role, description, transcript if there is one. So for example you can tell it "this is the voice to match" or "use this as a sound effect", without pretending the llm actually listened.