Nodes/IAMCCS-nodes/IAMCCS Cine Info H3 - REF2VA Inputs
ComfyUI Node

IAMCCS Cine Info H3 - REF2VA Inputs

This is how you tell MiniMax H3 REF2VA which reference means what

By IAMCCS·Created 11 months ago·Updated 4 days ago· 113
IAMCCS Cine Info H3 - REF2VA Inputs
  • cine_linx
  • reference_image_1
  • reference_image_2
  • reference_image_3
  • reference_image_4
  • reference_video
  • reference_video_audio
  • reference_audio
  • custom_audio
  • cine_linx
task_overridefrom_shotboard
reference_role_1subject_identity
reference_role_2subject_identity
reference_role_3composition
reference_role_4style
reference_video_roleoff
reference_audio_roleoff
ref_image_sizematch
reference_resize_policyfrom_shotboard
reference_resize_megapixels0.50
reference_resize_filterarea

MiniMax H3's REF2VA route is a reference-driven video model: give it reference images, maybe a reference video, maybe a reference voice, and it conditions the generation on them. The whole question is whether it treats each reference as the subject to preserve or just a style hint or a keyframe to hit. IAMCCS_CineInfoH3 exists to make that explicit. It's the node where you hand the pipeline its REF2VA media and tell it, per reference, what role it plays - before anything downstream encodes a single frame.

The display name says "REF2VA Inputs" and that's the honest job description. You get four reference-image slots, one reference video, one reference audio, and - this is the part people miss - a custom_audio input with a genuinely different job. The tooltip is worth quoting: it's the R21 custom audio drive, distinct from REF2VA reference audio, and an atomic backend may encode it into the AV latent before sampling. So reference audio tells the model "sound like this voice / follow this rhythm," while custom audio is material the backend bakes into the latent as a drive signal. Don't wire the same file into both and expect identical results.

The inputs that matter, in order of how often you'll touch them:

  • reference_image_1..4 with reference_role_1..4 - each image gets subject_identity, keyframe, composition, style, or disabled. The defaults (identity, identity, composition, style) are sensible: identity is what the model must preserve, composition is framing, style is look.
  • reference_video + reference_video_role - off, motion_camera, temporal_structure, video_edit, continuation. Pick motion_camera when the source is a camera move you want copied, temporal_structure when you care about shot rhythm, continuation for "start where this ended."
  • reference_audio + reference_audio_role - voice_timbre, rhythm_timing, audio_reuse, sound_reference, off. This is how you tell H3 whether the audio is a voice to clone or a beatmap to sync to.
  • task_override - from_shotboard (default) trusts the shotboard's per-segment task; the four overrides (t2va, i2va, fl2va, ref2va) force a task. Set it only when a segment is being misdetected.

Then there's the resize block, which is the difference between a clean run and an ugly one. reference_resize_policy (from_shotboard / off / canvas_crop / canvas_pad / total_pixels) with reference_resize_megapixels (0.5 default) and reference_resize_filter (area default) controls how reference images are normalized before conditioning. If your reference is a 4K still and your generation canvas is 1280x720, total_pixels at 0.5MP is your friend; canvas_crop vs canvas_pad is the usual "do I cut off the subject or letterbox it" tradeoff.

Output is a single cine_linx - all this media and role metadata gets attached to the bus outside the timeline, and downstream atomic backends read it per segment. Nothing is decoded here; it's an attach node.

Installation is pack-standard: search IAMCCS in ComfyUI Manager, or clone https://github.com/IAMCCS/IAMCCS-nodes.git into custom_nodes and restart. This node itself ships no model - the REF2VA model, the Qwen3-VL text encoder, and the H3 video/audio VAEs all come from your own model folders, and the pack's MiniMax H3 workflow doc lists the exact family you need (a REF2VA-compatible model alongside the base FL2VA one, plus the matching VAEs).

The failure people actually hit: connecting a reference video and forgetting to set reference_video_role off-to-something, so the model treats your source clip as a continuation instead of a camera move. And the classic - loading a huge reference image and wondering why conditioning is slow, when total_pixels resize was sitting there the whole time.

CategoryIAMCCS/MiniMax H3

Inputs (20)

NameTypeDefaultDescription
cine_linxIAMCCS_SUPERNODE_LINX
task_overrideCOMBOfrom_shotboard5 options: from_shotboard, t2va, i2va, fl2va, ref2va
reference_role_1COMBOsubject_identity5 options: subject_identity, keyframe, composition, style, disabled
reference_role_2COMBOsubject_identity5 options: subject_identity, keyframe, composition, style, disabled
reference_role_3COMBOcomposition5 options: subject_identity, keyframe, composition, style, disabled
reference_role_4COMBOstyle5 options: subject_identity, keyframe, composition, style, disabled
reference_video_roleCOMBOoff5 options: off, motion_camera, temporal_structure, video_edit, continuation
reference_audio_roleCOMBOoff5 options: off, voice_timbre, rhythm_timing, audio_reuse, sound_reference
ref_image_sizeCOMBOmatch2 options: match, max
reference_resize_policyCOMBOfrom_shotboard5 options: from_shotboard, off, canvas_crop, canvas_pad, total_pixels
reference_resize_megapixelsFLOAT0.500.1–2
reference_resize_filterCOMBOarea4 options: area, bilinear, bicubic, nearest-exact
reference_image_1optIMAGE
reference_image_2optIMAGE
reference_image_3optIMAGE
reference_image_4optIMAGE
reference_videooptIMAGE
reference_video_audiooptAUDIO
reference_audiooptAUDIO
custom_audiooptAUDIOR21 custom audio drive. This is distinct from REF2VA reference audio: an atomic backend may encode it into the AV latent before sampling.

Outputs (1)

NameTypeDescription
cine_linxIAMCCS_SUPERNODE_LINX