Nodes/IAMCCS-nodes/IAMCCS R42 Reference Image · Prompt + Preset
ComfyUI Node

IAMCCS R42 Reference Image · Prompt + Preset

The Node That Decides Whether Your H3 Graph Makes a Still or a Shot

By IAMCCS·Created about a year ago·Updated a day ago· 120
IAMCCS R42 Reference Image · Prompt + Preset
  • cine_linx
  • direct_reference
  • h3_prompt
  • width
  • height
  • reference_image
  • detail_enabled
  • detail_model
  • detail_strength
  • branch_report
  • reference_image_2
  • reference_image_3
  • reference_image_4
  • vram_profile
◄prompt►
◄project_json{}►

If you've wired MiniMax H3 into a semi-serious project, you already know the annoying part isn't the sampling - it's that you end up maintaining two graphs. One for the video, one for the reference still you want to seed it with, because the still needs a different prompt shape, a different canvas, and a different reference policy. This node is IAMCCS's answer to that: a small adapter that lets the same project produce an exact-size reference image instead of a shot.

What it is, and why you'd reach for it

MiniMax H3 is the 33B omni-modal video model - 4–15 second clips up to 2K with native stereo audio, under a licence with sharp territorial carve-outs. IAMCCS-nodes wraps it in a production system: a Shotboard holds the sequence, Settings PRO holds the technical decisions, a renderer branch executes them. The R42 still branch is one of those branches.

Reach for this node when you want the reference image - a character sheet, a production plate, the still your ref2va shots get conditioned on - to come out of the same pipeline as the video. task_mode=reference_image in Settings PRO compiles to the ref2va root downstream, so this isn't a separate image model bolted on. It's H3 making one still frame on purpose.

This node does nothing on its own. It obeys Settings PRO, and those settings reach it over the cine_linx wire - the CineLinX bus, IAMCCS's take on the "one wire instead of forty" context-object pattern that rgthree and Easy-Use each popularised separately.

How it works

The node doesn't sample anything. It reads, validates, republishes.

It walks the CineLinX payload for the Settings PRO settings dict, then hard-fails unless the mode matches: if task_mode isn't reference_image you get a ValueError telling you to select it, and nothing runs. An empty prompt is another ValueError - this branch expects a final Prompter prompt, not a placeholder.

Then it does the one editorial thing it's actually for: it appends an output contract to your prompt. On single_image that's a sentence demanding one static reference image on a single canvas, with "no temporal action, montage, multi-shot sequence or motion language." On character_sheet it asks for clearly separated, non-overlapping, identity-consistent views. This matters more than it sounds - ask a video model for a picture and it will cheerfully hand you a storyboard.

Finally it resolves the reference. Three policies: auto_prompter_then_direct takes an image attached to the Prompter project and falls back to the direct socket; prompter_ref2v requires that Prompter visual and errors without it; direct_reference uses only the optional input. Up to four survive, matching H3's reference ceiling. The canvas is max(64, settings width or 3840) by the same for height - which is where the "exact 4K" claim comes from, because nothing downstream resizes it.

The inputs and outputs that matter

You will not set anything on this node itself. That's the point of it - stop hunting for a checkbox.

  • prompt and project_json - both from the IAMCCS Prompter. The prompt is your final text; the project JSON is where attached visuals live.
  • cine_linx (IAMCCS_SUPERNODE_LINX) - from Settings PRO, carrying task_mode, canvas, source policy, preset and the detail controls.
  • direct_reference (optional IMAGE) - a Load Image, needed only for the DIRECT REFERENCE policy.

Outputs: h3_prompt, width, height, reference_image plus _2, _3, _4, detail_enabled, detail_model, detail_strength, branch_report. Prompt and ints go into the H3 still generator. The three detail_* outputs aren't decoration - they wire straight into IAMCCS_H3OptionalSameSizeDetail's three control inputs, so the chain is bridge → still generator → optional detail → save. branch_report prints mode, preset, exact canvas, which reference route won, and whether detail is on.

Installing it

Via ComfyUI Manager, search IAMCCS Nodes, or:

cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes

Restart and hard-refresh the browser - a duplicated copy of the pack in custom_nodes gives you stale node definitions and frontend routes. No requirements.txt to pip install, and no weights ship with the pack; H3's own weights carry a licence that excludes the US, EU, UK and South Korea.

The gotcha: Settings PRO only considers reference_image available when your graph has both this bridge and an H3 image-generator node (SatoDiveH3Image).

Where people get burned

The error messages here are unusually good, so read them. "select task_mode=reference_image (current=…)" tells you what the wire is actually carrying. "PROMPTER REF2V, but IAMCCS Prompter has no attached visual" is the one people hit at 1 a.m. - attach an image in the Prompter, run the AI pass, hit Inject.

The subtler failure is the classic context-bus one: the node reads whatever is inside the CineLinX payload it was handed. If that wire came off a region assembled before you changed the mode, you're reading stale settings and the node behaves as if you never touched anything.

CategoryIAMCCS/MiniMax H3/Reference

Inputs (4)

NameTypeDefaultDescription
promptSTRING—
project_jsonSTRING{}—
cine_linxIAMCCS_SUPERNODE_LINX—
direct_referenceoptIMAGE—

Outputs (12)

NameTypeDescription
h3_promptSTRING—
widthINT—
heightINT—
reference_imageIMAGE—
detail_enabledBOOLEAN—
detail_modelSTRING—
detail_strengthFLOAT—
branch_reportSTRING—
reference_image_2IMAGE—
reference_image_3IMAGE—
reference_image_4IMAGE—
vram_profileSTRING—