Nodes/ComfyUI-MiniMax-H3-Guide/MiniMax H3 Visual Reference Role (Legacy)
ComfyUI Node

MiniMax H3 Visual Reference Role (Legacy)

The fine-grained role node for H3 references

By ethanfel·Created 22 days ago·Updated 14 days ago· 207
MiniMax H3 Visual Reference Role (Legacy)
  • previous_roles
  • role_bindings
  • role_preview
reference_roleUnassigned - choose a reference role
retentionAuto - choose from this role
content_group
transfer_target
shot_scope
notes

A single reference image often does more than one job. The same photo of a woman in a red coat can define her identity and serve as the exact first frame and anchor a keyframe at Shot 3. Most tools make you pick one. This node - part of ComfyUI-MiniMax-H3-Guide's legacy reference chain - lets you chain role bindings on one asset so H3's prompt carries each independently constrained piece of evidence.

It's the fine-grained cousin of the single role dropdown on a Visual Reference node. Where that dropdown picks one job, this one builds a role_bindings chain that a Visual Reference or a Reference Sheet Visual Reference can consume wholesale.

What you set

  • reference_role - the exact job. Fourteen choices, and the routing split is the thing to internalize: endpoint roles (exact first/last frame) route to Image to Video; reusable/direct roles (identity, scene, style, motion, edit source, camera/cuts) route to Ref2VA. The "Unassigned" default deliberately stops execution rather than inventing a Subject or endpoint.
  • retention - how strongly H3 keeps it: fully_preserved, partially_preserved, attribute_transfer, weak_reference, or Auto (which is conservative: exact endpoints and motion get fully_preserved; style and storyboard get weak_reference).
  • content_group - the reusable-content key. Give related roles on different assets the same value when they jointly define one <Subject N>. Merged bindings must share one retention marker, because H3 allows one retention row per Subject.
  • transfer_target - only for attribute_transfer: name the different content group that receives this source attribute. The final context must contain a visible, non-transfer binding with that destination group, or the transfer has nowhere to land.
  • shot_scope - optional. 3 for one shot, 3,4 for selected shots, 3-4 for a range, all for everywhere. Empty means wherever relevant.
  • notes - binding-specific instructions about what to preserve, transfer, ignore, or change.

previous_roles chains from the preceding role node; leave it disconnected for the first role on this media.

Outputs

role_bindings connects to another Role node's previous_roles input, and the final chain plugs into a Visual Reference node's role_bindings input - or a Reference Sheet Visual Reference's. The role chain belongs to one media asset; the Visual Reference node is what adds it to the ordered context the Guide and Enhancer read. role_preview is a readable dump of every role, retention relation, group, scope, and note - wire it to a text viewer and confirm the chain before it reaches the Guide.

Installing

cd ComfyUI/custom_nodes
git clone https://github.com/ethanfel/ComfyUI-MiniMax-H3-Guide

Restart ComfyUI; it lands under MiniMax H3/Prompting. No Python dependencies - you just need a ComfyUI build with native MiniMax H3 support.

Where people get burned

The transfer trap is the most common: picking attribute_transfer, naming a target, but never actually creating the destination binding, so the final context is missing its receiving end and the role silently fails validation. The other classic is merging two roles into one content_group with different retention markers - they must agree or the compiler flags a conflict. And remember the routing split: an image can't be both an exact endpoint frame and a storyboard frame. If it's the first frame, it goes to Image to Video; the storyboard reading belongs on a different role or it'll try to ride two routes at once.

CategoryMiniMax H3/Prompting

Inputs (7)

NameTypeDefaultDescription
reference_roleCOMBOUnassigned - choose a reference roleChoose the exact job this media performs; the unassigned value intentionally stops execution instead of inventing a Subject or endpoint. Endpoint roles route to Image to Video; reusable/direct reference roles route to Ref2VA.
retentionCOMBOAuto - choose from this roleHow strongly H3 should retain this role. Auto is conservative: exact endpoints and motion are fully_preserved, while style/storyboard/camera are weak_reference. Select attribute_transfer explicitly and identify both its source and destination groups. Bindings merged into the same content_group must resolve to one shared retention marker because H3 allows one retention row per tracked Subject.
content_groupSTRINGOptional reusable-content key. Give related roles on different assets the same value when they jointly define one <Subject N>. Those merged bindings must also use the same retention marker. Direct frame/video roles cannot use it.
transfer_targetSTRINGOnly for attribute_transfer: name the different content_group that receives this source attribute. The final context must also contain a visible, non-transfer binding with that destination group.
shot_scopeSTRINGOptional Shot numbers where this binding applies. Use 3 for one Shot, 3,4 for selected Shots, 3-4 for a range, or all. Empty means wherever relevant. Older forms such as 'Shot 3' remain supported.
notesSTRINGBinding-specific instructions about what to preserve, transfer, ignore, or change.
previous_rolesoptMINIMAX_H3_VISUAL_ROLE_CHAINConnect role_bindings from the preceding role node. Leave disconnected for the first role assigned to this media.

Outputs (2)

NameTypeDescription
role_bindingsMINIMAX_H3_VISUAL_ROLE_CHAINConnect to another Visual Reference Role.previous_roles input, or connect the final chain to a Visual Reference.role_bindings input. The role chain belongs to one media asset; the Visual Reference node adds it to the ordered context used by the Guide and Enhancer.
role_previewSTRINGReadable preview of every role, retention relation, content group, shot scope, and note for this media.