Nodes/ComfyUI-vlo/MiniMax H3 Apply Semantic Guides (experimental)
ComfyUI Node

MiniMax H3 Apply Semantic Guides (experimental)

Let H3's Qwen encoder see your guide too — with the honesty rules attached

By PxTicks·Created 3 months ago·Updated a day ago· 0
MiniMax H3 Apply Semantic Guides (experimental)
  • clip
  • guide_spec
  • clip
  • plan
semantic_conditioningauto
presentationmerged
sample_fps2.0

MiniMax H3 is omni-modal in a way that trips people up: a guide image doesn't just feed the diffusion transformer, it can also be read by the Qwen text encoder, which turns pixels into something the prompt can talk about - "match the lighting of the reference," that kind of instruction only works if Qwen actually saw the reference. The pack's masked-guide nodes handle the DiT side. vloMiniMaxH3ApplySemanticGuides handles the Qwen side: it shows a guide to Qwen as a timestamped <Video k> reference at the guide's own position in the generated video.

The placement requirement is the first thing to know. Qwen runs inside the conditioning node, so this wrapper has to sit between the CLIP loader and the conditioning node - CLIP in, CLIP out, and the guide presentation is smuggled in before the encoder runs. Miss that wiring and nothing happens, because the conditioning node never gets the enriched CLIP.

Inputs and the honesty gate

  • clip - the MiniMax H3 CLIP on its way to the conditioning node.
  • guide_spec - the plan from Build Guide Spec / ... From Video, built from the same latent you're sampling.
  • semantic_conditioning - auto (default) presents every guide that qualifies; off passes the CLIP straight through untouched.
  • presentation - how multiple guide clips are labelled: merged is one <Video k> whose timestamps jump over the gaps (one subject seen at intervals); separate is one <Video k> per clip (reads as several different videos, but lets the prompt address each individually). Neither emits anything for the gaps.
  • sample_fps - how densely a guide clip is sampled for Qwen. Default 2.0 is core's reference-video rate, but H3 guide clips are only 0.2–1.6 s long, so at 2 fps a clip yields one or two frames. Each sampled pair costs roughly a thousand tokens on the text span - a real cost on the sequence budget.

Then the rule that separates this node from a naive implementation: only guides whose every condition token sits at exactly full confidence qualify. A masked or weakened guide is telling the DiT that part of it is unreliable - and Qwen has no way to represent "partially unreliable pixels," so a semantic reading of a weakened guide would be a lie, and this node would rather show nothing than tell it. Anything short of a fully open mask, or strength under 1.0, and that guide is skipped on the semantic path even though it still steers the latent path.

What it does and doesn't add

It adds no reference latents and no PackedLayout rows - Qwen sees the guide as text-side information at its timestamp, not as an extra video track in the layout. Outputs are the enriched clip (into your conditioning node) and a plan STRING reporting what was presented, which is worth a glance while you're learning the eligibility rules.

Caveats

Experimental family, pinned to recent ComfyUI internals; install the whole pack (git clone https://github.com/PxTicks/ComfyUI-vlo.git into custom_nodes/, restart). The masks only matter with Patch Masked Guides on the model, and the token/timestep subtleties of that patch are where the real A/B lives. H3 weights: ~42.5 GB, licence excludes US/EU/UK/Korea.

Categorymodel/conditioning/minimax

Inputs (5)

NameTypeDefaultDescription
clipCLIPMiniMax H3 CLIP, on its way to the conditioning node.
guide_specVLO_H3_GUIDE_SPECGuide plan from a Build Guide Spec node. It must be built from the same latent this graph samples, so the crops, clip lengths and frame indices the two conditioning paths use are the same ones.
semantic_conditioningCOMBOauto'off' passes the CLIP straight through. 'auto' presents every guide whose final token strengths are all exactly 1.
presentationCOMBOmergedHow several guide clips are labelled. 'merged' is one <Video k> whose timestamps jump over the gaps -- one subject seen at intervals. 'separate' is one <Video k> each, which reads as several different videos but lets the prompt address them individually. Neither emits anything for the gaps.
sample_fpsFLOAT2.00.1–24How densely a guide clip is sampled for Qwen. 2.0 is core's reference-video rate, but H3 guide clips are 0.2-1.6s long, so at 2 fps a clip yields one or two frames. Each sampled pair costs about a thousand tokens on the text span.

Outputs (2)

NameTypeDescription
clipCLIP
planSTRING