IAMCCS Cine Info H3 - REF2VA Inputs
This is how you tell MiniMax H3 REF2VA which reference means what
- 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
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..4withreference_role_1..4- each image getssubject_identity,keyframe,composition,style, ordisabled. 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. Pickmotion_camerawhen the source is a camera move you want copied,temporal_structurewhen you care about shot rhythm,continuationfor "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.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| task_override | COMBO | from_shotboard | 5 options: from_shotboard, t2va, i2va, fl2va, ref2va |
| reference_role_1 | COMBO | subject_identity | 5 options: subject_identity, keyframe, composition, style, disabled |
| reference_role_2 | COMBO | subject_identity | 5 options: subject_identity, keyframe, composition, style, disabled |
| reference_role_3 | COMBO | composition | 5 options: subject_identity, keyframe, composition, style, disabled |
| reference_role_4 | COMBO | style | 5 options: subject_identity, keyframe, composition, style, disabled |
| reference_video_role | COMBO | off | 5 options: off, motion_camera, temporal_structure, video_edit, continuation |
| reference_audio_role | COMBO | off | 5 options: off, voice_timbre, rhythm_timing, audio_reuse, sound_reference |
| ref_image_size | COMBO | match | 2 options: match, max |
| reference_resize_policy | COMBO | from_shotboard | 5 options: from_shotboard, off, canvas_crop, canvas_pad, total_pixels |
| reference_resize_megapixels | FLOAT | 0.500.1–2 | — |
| reference_resize_filter | COMBO | area | 4 options: area, bilinear, bicubic, nearest-exact |
| reference_image_1opt | IMAGE | — | |
| reference_image_2opt | IMAGE | — | |
| reference_image_3opt | IMAGE | — | |
| reference_image_4opt | IMAGE | — | |
| reference_videoopt | IMAGE | — | |
| reference_video_audioopt | AUDIO | — | |
| reference_audioopt | AUDIO | — | |
| custom_audioopt | AUDIO | R21 custom audio drive. This is distinct from REF2VA reference audio: an atomic backend may encode it into the AV latent before sampling. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — |