ComfyUI Node

MiniMax-H3 Prompt Check

Check your MiniMax-H3 prompt before it costs you a render

By pytraveler·Created 26 days ago·Updated a day ago· 99
MiniMax-H3 Prompt Check
  • options
  • references
  • prompt
  • integrated_multimodal_description
  • subject_definitions
  • summary
  • retention_analysis
  • detailed_description
  • overall_soundscape
  • non_diegetic_music
  • findings
prompt
taskT2VA
duration10.0

MiniMax-H3 is a fussy eater when it comes to text. Its prompt input isn't a sentence - it's a contract: numbered [Shot N] markers with At MM:SS.mmm cut times, <d>[Language]…</d> dialogue tags, an alignment line when reference frames are involved, and for Ref2VA a whole bookkeeping of subjects, pictures, videos and audio. Break any of it and the model quietly ignores it, and you don't find out until the render's done.

Every writer in this pack re-checks its own answer before handing it over. MiniMax-H3 Prompt Check is that check, with nothing attached - it reads a prompt that came from anywhere and tells you whether H3 will read it the way you meant.

No model is loaded. Nothing is generated. The whole run is regexes over text already in memory, and it costs a few milliseconds. It's the same checks module the pack's writers run their fresh answers through, exposed as a node so a prompt written by another pack, typed by hand, loaded from a file, or found online gets exactly the reading a rewrite from this pack gets. And it splits the prose into its fields on the way out, which is why it has all those string outputs.

The inputs that matter

  • prompt - the text to read. It's passed through untouched on the first output, so you can drop this node into the middle of a graph without changing what reaches the generator.
  • task - which task the prompt was written for. This decides which fields are expected, how many references of each kind it may cite, and whether an alignment line belongs at the top. Getting it wrong makes the reading wrong rather than absent: a Ref2VA prompt read as T2VA is reported as missing three fields it never needed.
  • duration - how long the target clip is. Cut times are read against it, and a shot that starts after the end is the one mistake a hand-written shot list produces that nothing else catches. The range runs to 600 s because prompts collected from elsewhere are often longer than this pack's own writers allow.

The two optional inputs are references (an autogrow socket that only counts kinds - nothing is decoded, no captioner runs) and options, from which only self_check is read: how much gets announced on screen rather than what gets looked at.

The outputs

prompt first (the pass-through), then the seven fields any H3 task can fill - integrated_multimodal_description, subject_definitions, summary, retention_analysis, detailed_description, overall_soundscape, non_diegetic_music - and findings last. That last one is the same block the node writes under itself: a heading with counts, then one line each, ! for a warning, - for a note, empty when there's nothing to say. Wire findings into a text viewer once, and you've got a permanent proofreader for any prompt that flows through your graph.

One reading you should expect

Most hand-written H3 prompts are prose: no field labels, no shot list, no tags. Read as T2VA, such a text comes back flagged for missing fields and a missing [Shot 1] - and that's a true reading, not a bug. A prose paragraph is an instruction to a rewriter, not a finished H3 answer. Run it through one of the pack's writer nodes first, then check what comes back. That's the workflow this node exists to close the loop on.

Install and gotchas

It's a member of the pytraveler MiniMax-H3 Prompt Rewriter pack, so you get it with the whole family: ComfyUI Manager, searching MiniMax-H3-Prompt-Rewriter-ComfyUI, or

cd ComfyUI/custom_nodes
git clone https://github.com/pytraveler/MiniMax-H3-Prompt-Rewriter-ComfyUI

then restart, and install the requirements into ComfyUI's Python if you didn't use Manager. Fair warning: requirements.txt lists transformers, peft, accelerate and bitsandbytes - needed for the rewriter LoRA nodes, and totally unused by this one. Prompt Check is pure Python; it needs no GPU, no VRAM, and no model download. That's the deal with it: the cheapest node in the pack, and the one that saves you the most wasted renders. On a genuinely old ComfyUI the pack guards its registration and this node may be the one that quietly doesn't appear while the rest loads - update ComfyUI first.

Oh, and it has Save the last prompt, so a prompt that arrived from elsewhere and read clean can be filed into the pack's prompt library for next time.

CategoryMiniMax-H3

Inputs (5)

NameTypeDefaultDescription
promptSTRINGThe prompt to read. Anything that produces MiniMax-H3 prose can feed this: another node's output, a loaded text file, a rewrite from this pack, or something typed here. It is passed through untouched. This node never edits what it is given -- it says what it found and hands the text on, so it can sit in the middle of a graph without changing what reaches the generator.
taskCOMBOT2VAWhich task the prompt was written for. It decides which fields the answer is supposed to have, how many references of each kind it may cite, and whether an alignment line is expected at the top. Getting this wrong makes the reading wrong rather than absent: a Ref2VA prompt read as T2VA is reported as missing three fields it never needed.
durationFLOAT10.00.1–600How long the target video is, in seconds. Cut times are read against it: a shot that starts after the end is the one mistake in a hand-written shot list that nothing else catches. Set it to what the prompt was written for, which is not necessarily what this pack's own writers allow -- prompts collected from elsewhere are often longer.
optionsoptH3_REWRITER_OPTIONS
referencesoptCOMFY_AUTOGROW_V3The references this prompt is meant to describe, if you have them to hand. Only their kind and number are read -- nothing is decoded and no captioner runs. With them connected, the reading also covers what the text cites against what is actually here: a picture that is connected but never mentioned, or a clip mentioned that never arrived. With nothing connected those two rules are skipped and the rest still apply.

Outputs (9)

NameTypeDescription
promptSTRING
integrated_multimodal_descriptionSTRING
subject_definitionsSTRING
summarySTRING
retention_analysisSTRING
detailed_descriptionSTRING
overall_soundscapeSTRING
non_diegetic_musicSTRING
findingsSTRINGEverything the rules found, as the same block the node writes under itself: a heading with the counts, then one line each, '!' for a warning and '-' for a note. Empty when there is nothing to say.