Nodes/IAMCCS-nodes/MiniMax H3 Shotboard
ComfyUI Node

MiniMax H3 Shotboard

One node decides how a whole MiniMax H3 shot gets made

By IAMCCS·Created 11 months ago·Updated 5 days ago· 113
MiniMax H3 Shotboard
  • cine_linx
  • cine_linx
global_promptone continuous cinematic shot with coherent motion, stable identity, controlled camera and native stereo audio
timeline_data
duration_seconds10.00
task_modeauto_from_timeline
audio_modeh3_native_generated
prompt_mappingglobal_plus_local
upscale_modeoff
width960
height544
frame_rate24
guide_policyevery_checked_row
min_guide_gap_seconds0.00
max_guides50
default_force1.00
promptrelay_epsilon0.0010
ltx_round_modenone
image_paths
image_width960
image_height544
image_resize_methodcrop
image_multiple_of32
img_compression0
accelerationlow_vram_auto
ref_image_sizematch
reference_role_1subject_identity
reference_role_2subject_identity
reference_role_3composition
reference_role_4style
reference_video_roleoff
reference_audio_roleoff
sol_conditioningexact_kv_and_rows
spectrum_profilelow_vram
vram_clean_before_decodetrue
rife_modeoff
upscale_enabledfalse
upscale_width1920
upscale_height1080
upscale_prompt
upscale_sagetrue
upscale_seed_offset10000
wan_upscale_denoise0.20
text_encoder_devicegpu_auto
performance_profilelow_vram_balanced
seed42
seed_stride1
steps16
sampler_nameeuler
schedulersimple
denoise1.00
shift_video12.00
shift_audio3.00
turbo_modeoff
turbo_lora_name
turbo_strength1.00
turbo_sampler_modeaudio_fixed
reference_resize_policyoff
reference_resize_megapixels0.50
reference_resize_filterarea
ltx_detailer_enabledfalse
ltx_detailer_lora_name
ltx_detailer_strength0.60
ltx_4k_enabledfalse
ltx_4k_qualityULTRA
ltx_seam_safetrue
flf_join_modeh3_keyframe_cut
flf_overlap_frames9
ltx_looper_temporal_tile_size80
ltx_looper_temporal_overlap24
ltx_looper_guiding_strength1.00
ltx_looper_overlap_strength0.50
ltx_looper_cond_image_strength1.00
ltx_looper_horizontal_tiles1
ltx_looper_vertical_tiles1
ltx_looper_spatial_overlap1
v2v_guide_moderaw_only
v2v_source_range_policytimeline_segment
v2v_source_offset_seconds0.00
v2v_source_fitcanvas_pad
v2v_source_end_policyhold_last_for_grid
v2v_audio_pairingpair_with_source_video
flf_continuity_modestable_keyframes
flf_continuity_tail_frames22
flf_continuity_audiotrue
voice_reference_picture_index0
face_detailer_enabledfalse
face_detailer_profilebalanced
face_detailer_use_sam_maskfalse
secondary_lora_enabledfalse
secondary_lora_name
secondary_lora_strength0.00
pdd_lora_name
pdd_strength1.00
h3_controlnet_enabledfalse
h3_controlnet_name
h3_controlnet_kindpose_dwpose
h3_controlnet_strength1.00
h3_controlnet_start_percent0.00
h3_controlnet_end_percent1.00
h3_controlnet_frame_scopetimeline_segment
h3_controlnet_end_policystrict_match

Most video nodes are a single job: load a model, condition, sample. The IAMCCS_MiniMaxH3ShotPlanner - displayed as "MiniMax H3 Shotboard" - is the opposite. It's the editorial brain of the IAMCCS MiniMax H3 pipeline, a single node that decides everything about how a shot gets made: which task mode, what resolution, which sampler, whether a turbo LoRA or LTX detailer gets applied, how the audio behaves, how reference images are used, and what the upscale/delivery path is. Every downstream node in the H3 workflow reads its decisions through one contract output.

If you're coming from a plain KSampler habit, this looks overwhelming - it has dozens of widgets, and most of them you should touch rarely. The design philosophy is that a shot plan is a persisted object, not a set of loose constants: you save a board once and it reproduces its VRAM strategy, its LoRA choices and its audio policy every time.

What to actually set

  • global_prompt - your master shot description. It's the anchor that the local timeline rows refine.
  • timeline_data - the shot's timeline (segments, timings), usually filled by the Shotboard UI rather than typed by hand.
  • task_mode - the big one. auto_from_timeline is the default, but the useful choices are t2va (text → video + audio), i2va (image → video + audio), ref2va (reference → video + audio), v2va_object_swap, and ref2vid_lipsync. Getting this wrong sends your references to the wrong conditioning path.
  • duration_seconds - shot length; the planner splits it into the chunked segments the renderer can actually produce.
  • width / height - 960×544 is the proven low-VRAM default (roughly 0.5MP, 16:9). Raise it only if you have the VRAM to burn.
  • performance_profile - low_vram_balanced is the safe start; the rtx3060_* and h3_turbo_* presets trade quality/VRAM for speed.
  • seed, steps, sampler_name, scheduler - the sampling core, matching MiniMax H3's native expectation (res_multistep + simple are moved to the top of the lists for a reason).
  • upscale_mode and the upscale_* block - whether the shot gets an LTX 2.3 or Wan 2.2 5B finishing pass; the Shotboard decides, the actual model branches stay lazy in the workflow.

There's also a full reference layer: reference_role_1..4 (subject identity / keyframe / composition / style) and reference_video_role / reference_audio_role, plus turbo_mode with turbo_lora_name, ltx_detailer_enabled, and the whole LTX temporal-looper block for long masters. You don't need all of it on day one.

The contract

The single output is cine_linx - a structured payload that bundles the shotplan, the timeline, and a report string. Everything downstream (IAMCCS_MiniMaxH3Backend, the generation nodes, the upscale router, even the Prompter) reads this instead of duplicating your settings. That's the whole trick of the pack: one authority, many readers.

Install and gotchas

Install via ComfyUI Manager (search "IAMCCS") or cd ComfyUI/custom_nodes && git clone https://github.com/IAMCCS/IAMCCS-nodes.git, then restart. The H3 graphs themselves need a current ComfyUI with native MiniMax H3 support, ComfyUI-GGUF if you load H3 or the Qwen text encoder from GGUF, and KJNodes for the Sage/low-VRAM patches. Keep a single copy of the pack - the docs are explicit that duplicate/backup copies in custom_nodes register stale classes and cause import failures. And note this planner only plans: it doesn't load or sample anything. Wire its cine_linx into the Shotboard backend nodes that do the actual work.

CategoryIAMCCS/MiniMax H3

Inputs (101)

NameTypeDefaultDescription
global_promptSTRINGone continuous cinematic shot with coherent motion, stable identity, controlled camera and native stereo audio
timeline_dataSTRING
duration_secondsFLOAT10.000.01–36000
task_modeCOMBOauto_from_timeline11 options: auto_from_timeline, t2va, i2va, fl2va, ref2va, v2va_object_swap, +5
audio_modeCOMBOh3_native_generated4 options: h3_native_generated, h3_ref2va_audio, h3_custom_audio_drive, external_audio_post
prompt_mappingCOMBOglobal_plus_local3 options: global_plus_local, local_only, global_only
upscale_modeCOMBOoff8 options: off, rtx_final, h3_fast_latent_2pass, h3_pixel_refine, h3_latent_upres, ltx23, +2
widthINT960256–5760
heightINT544256–5760
frame_rateINT2424–24
guide_policyCOMBOevery_checked_row1 options: every_checked_row
min_guide_gap_secondsFLOAT0.000–0
max_guidesINT5050–50
default_forceFLOAT1.001–1
promptrelay_epsilonFLOAT0.00100.001–0.001
ltx_round_modeCOMBOnone1 options: none
image_pathsSTRING
image_widthINT960256–5760
image_heightINT544256–5760
image_resize_methodCOMBOcrop5 options: crop, pad, keep proportion, stretch,
image_multiple_ofINT3232–32
img_compressionINT00–100
accelerationCOMBOlow_vram_auto19 options: low_vram_auto, native, h3_sage, sol_low_vram, sol_adaptive_safe, sol_adaptive_balanced, +13
ref_image_sizeCOMBOmatch2 options: match, max
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
sol_conditioningCOMBOexact_kv_and_rows2 options: exact_kv_and_rows, exact_kv
spectrum_profileCOMBOlow_vram5 options: low_vram, quality, aggressive, conservative_3060, conservative_quality
vram_clean_before_decodeBOOLEANtrue
rife_modeCOMBOoff3 options: off, rife_48fps, rife_60fps
upscale_enabledBOOLEANfalse
upscale_widthINT1920256–7680
upscale_heightINT1080256–4320
upscale_promptSTRING
upscale_sageBOOLEANtrue
upscale_seed_offsetINT100000–18446744073709550000
wan_upscale_denoiseFLOAT0.200–1
text_encoder_deviceCOMBOgpu_auto4 options: gpu_auto, cpu_direct, auto, cpu_safe_12gb
performance_profileCOMBOlow_vram_balanced13 options: rtx_xx60_safe, rtx_xx70_balanced, rtx_xx80_quality, rtx_xx90_max, low_vram_draft, low_vram_balanced, +7
seedINT420–18446744073709550000
seed_strideINT10–18446744073709550000
stepsINT161–100
sampler_nameCOMBOeuler44 options: res_multistep, euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, +38
schedulerCOMBOsimple9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT1.000–1
shift_videoFLOAT12.000.01–100
shift_audioFLOAT3.000.01–100
turbo_modeCOMBOoff3 options: off, early_8_10, ckpt500_6_8
turbo_lora_nameCOMBO1 options:
turbo_strengthFLOAT1.000–4
turbo_sampler_modeCOMBOaudio_fixed2 options: audio_fixed, res_multistep_stock
reference_resize_policyCOMBOoff4 options: canvas_crop, canvas_pad, total_pixels, off
reference_resize_megapixelsFLOAT0.500.1–2
reference_resize_filterCOMBOarea4 options: area, bilinear, bicubic, nearest-exact
ltx_detailer_enabledBOOLEANfalse
ltx_detailer_lora_nameCOMBO1 options:
ltx_detailer_strengthFLOAT0.600–2
ltx_4k_enabledBOOLEANfalse
ltx_4k_qualityCOMBOULTRA4 options: ULTRA, HIGH, MEDIUM, LOW
ltx_seam_safeBOOLEANtrue
flf_join_modeCOMBOh3_keyframe_cut2 options: h3_keyframe_cut, wan_overlap_blend
flf_overlap_framesINT91–24
ltx_looper_temporal_tile_sizeINT8024–1000
ltx_looper_temporal_overlapINT2416–80
ltx_looper_guiding_strengthFLOAT1.000–1
ltx_looper_overlap_strengthFLOAT0.500–1
ltx_looper_cond_image_strengthFLOAT1.000–1
ltx_looper_horizontal_tilesINT11–6
ltx_looper_vertical_tilesINT11–6
ltx_looper_spatial_overlapINT11–8
v2v_guide_modeCOMBOraw_only5 options: , raw_only, raw_pose, raw_depth, raw_depth_pose
v2v_source_range_policyCOMBOtimeline_segment4 options: , timeline_segment, sequential_requested, repeat_from_offset
v2v_source_offset_secondsFLOAT0.000–86400
v2v_source_fitCOMBOcanvas_pad5 options: , native_adapt, canvas_pad, canvas_crop, stretch
v2v_source_end_policyCOMBOhold_last_for_grid3 options: , hold_last_for_grid, error
v2v_audio_pairingCOMBOpair_with_source_video4 options: , pair_with_source_video, standalone_reference, off
flf_continuity_modeCOMBOstable_keyframes2 options: stable_keyframes, native_av_context
flf_continuity_tail_framesCOMBO223 options: 22, 39, 56
flf_continuity_audioBOOLEANtrue
voice_reference_picture_indexINT00–4
face_detailer_enabledBOOLEANfalse
face_detailer_profileCOMBObalanced4 options: balanced, small_faces, gentle, sam_face_mask
face_detailer_use_sam_maskBOOLEANfalse
secondary_lora_enabledBOOLEANfalse
secondary_lora_nameCOMBO1 options:
secondary_lora_strengthFLOAT0.00-2–2
pdd_lora_nameCOMBO1 options:
pdd_strengthFLOAT1.000–2
h3_controlnet_enabledBOOLEANfalse
h3_controlnet_nameCOMBO1 options:
h3_controlnet_kindCOMBOpose_dwpose6 options: pose_dwpose, depth, canny, hed, mlsd, inpaint
h3_controlnet_strengthFLOAT1.000–2
h3_controlnet_start_percentFLOAT0.000–1
h3_controlnet_end_percentFLOAT1.000–1
h3_controlnet_frame_scopeCOMBOtimeline_segment2 options: timeline_segment, repeat_each_chunk
h3_controlnet_end_policyCOMBOstrict_match2 options: strict_match, hold_last
cine_linxoptIAMCCS_SUPERNODE_LINXConnect IAMCCS CineH3Input here to combine Settings, Prompter, Dialogue Tag Editor, AudioBoard Arranger and other CineLinX modules through the historical single input.

Outputs (1)

NameTypeDescription
cine_linxIAMCCS_SUPERNODE_LINX