IAMCCS Shotboard Planner V2V
One panel that plans an entire LTX-2.3 v2v shotboard run and hands it downstream
- cine_linx
IAMCCS_ShotboardPlannerV2V is the front door of the pack's multi-timeline video production path: an all-in-one planning panel that takes a source video, a source image, and a pile of generation settings, and packs them into a single cine_linx bundle that everything downstream reads. It's built around the pack's LTX-2.3 video-to-video backends, but it's fronted as "pick a backend profile, fill in the panel, get one clean output" - which is exactly the shape you want when a raw LTX graph has turned into node spaghetti.
The author ships detailed instructions for the LTX-2.3 v2v and audio+image-to-video flows on their Patreon (the README points there), so think of this node as the entry point to that whole production line rather than a standalone effect.
How it works
The panel is planning + orchestration, not rendering: it validates and normalizes your source, duration, trim, resolution, segmentation, and backend choices, then serializes everything into a cine_linx object (IAMCCS_SUPERNODE_LINX) that carries the full plan - including timeline_data, prompts, pose/audio VAE settings, and the chosen backend variant - to the shotboard editor and multigen backend nodes. You pick a backend_profile that says which engine handles the actual generation: LTX-2.3 infinite lipsync, LTX-2.3 loop anti-degrade, SCAIL-2 single/multi-person, WANAnimate extension, or Flux Klein pose transfer. SCAIL-2, if you're new to it, is Z.ai's motion-transfer fine-tune of WAN 2.1 that famously dropped the DWPose stick-figure stage; this node treats it as one of several selectable backends.
The inputs that matter
- source_video_path / source_image_path - the footage and the anchor frame the v2v works from.
- duration_seconds, fps, trim_start_s / trim_end_s, frame_load_cap - what portion of the source is used.
- generation_width / generation_height - output resolution (defaults 1280×720).
- segment_seconds, planning_mode, segment_preset, overlap_frames, ltx_round_mode - the same LTX-2 segmentation math as
SegmentPlanner, folded in. - backend_profile - the big one: which engine generates the frames.
- pose_mode (
none/dwpose_openpose/source_pose_only/image_pose_transfer) and dwpose_strength - how strongly the source's pose drives the output. - audio_vae_name - LTX-2.3's audio VAE (default
ltx-2.3-22b-dev_audio_vae.safetensors), which you'll need on disk for audio-synced runs. - global_prompt / negative_prompt - the shared prompt that applies across the timeline.
- vram_profile -
normal_vramorlow_vramfor memory-constrained cards.
Output: a single cine_linx that wires into ShotboardVideoEditorV1 or the multigen adapter. That's it - one wire, the whole plan.
Installing
ComfyUI Manager → search "IAMCCS", or
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart. This is where the pack stops being free of dependencies: the backend profiles expect a working LTX-2.3 (or SCAIL-2 / WANAnimate / Flux Klein) setup with native LTXV nodes, and LTX-2.3 audio runs want the audio VAE file in your models folder. The pack's SUPERNODES_REQUIREMENTS.md lists VideoHelperSuite (VHS) and MTB as needed for some combine paths - install them proactively.
Gotchas
The backend profiles are not interchangeable drop-ins; they have different external model requirements, and picking one you haven't installed will fail at the backend stage, not at this panel. frame_load_cap (default 241) silently bounds how much source footage is loaded - if your trim extends beyond it, later segments have nothing to work from. And keep vram_profile = low_vram for cards under ~16GB on the SCAIL-2 and LTX-2.3 profiles; the 22B LTX models do not fit casually.
Inputs (44)
| Name | Type | Default | Description |
|---|---|---|---|
| source_video_path | STRING | IMG_4145 2.mp4 | — |
| source_image_path | STRING | QWEN2509_FIRST_FRAME_DWPOSE_OPENPOSE_CONTROL_00001_.png | — |
| duration_seconds | FLOAT | 10.000.01–36000 | — |
| fps | FLOAT | 24.001–240 | — |
| trim_start_s | FLOAT | 0.000–36000 | — |
| trim_end_s | FLOAT | 0.000–36000 | — |
| frame_load_cap | INT | 2411–100000 | — |
| generation_width | INT | 128064–8192 | — |
| generation_height | INT | 72064–8192 | — |
| segment_seconds | FLOAT | 10.000.01–3600 | — |
| planning_mode | COMBO | explicit_preset_seconds | 2 options: manual_segment_seconds, explicit_preset_seconds |
| segment_preset | COMBO | 10sec | 6 options: 5sec, 10sec, 15sec, 20sec, videoclip, monologue |
| overlap_frames | INT | 90–4096 | — |
| ltx_round_mode | COMBO | up | 3 options: up, nearest, down |
| vram_profile | COMBO | normal_vram | 2 options: normal_vram, low_vram |
| backend_profile | COMBO | ltx23_v2v_infinite_lipsync | 6 options: ltx23_v2v_infinite_lipsync, ltx23_v2v_loop_antidegrade, scail2_single_person, scail2_multi_person_identity, wananimate_extension, flux_klein_pose_transfer |
| audio_vae_name | STRING | ltx-2.3-22b-dev_audio_vae.safetensors | — |
| audio_vae_device | COMBO | main_device | 2 options: main_device, cpu |
| audio_vae_dtype | COMBO | bf16 | 3 options: bf16, fp16, fp32 |
| pose_mode | COMBO | dwpose_openpose | 4 options: none, dwpose_openpose, source_pose_only, image_pose_transfer |
| dwpose_enabled | BOOLEAN | true | — |
| dwpose_strength | FLOAT | 0.750–1.5 | — |
| taeltx_preview_enabled | BOOLEAN | false | — |
| taeltx_preview_max_frames | INT | 171–257 | — |
| taeltx_preview_fps | INT | 81–60 | — |
| global_prompt | STRING | cinematic video-to-video continuation, coherent motion, stable identity, natural lipsync | — |
| negative_prompt | STRING | cartoon, ugly, unstable anatomy, flicker, broken motion, identity drift, subtitles, text | — |
| timeline_data | STRING | — | |
| output_prefix | STRING | IAMCCS/LTX23_V2V_SHOTBOARD | — |
| backend_family | COMBO | ltx | 4 options: ltx, scail2, wananimate, pose_transfer |
| backend_mode | COMBO | ltx_simple | 4 options: ltx_simple, scail2, wananimate, pose_transfer |
| backend_variant | COMBO | ltx_simple | 5 options: ltx_simple, scail2_single_person, scail2_multi_person_identity, wananimate_bg_locked, flux_klein_pose_transfer |
| scail_identity_mode | COMBO | single_person | 2 options: single_person, multi_person_identity |
| scail_output_stage | COMBO | final_32fps_upscaled | 3 options: final_32fps_upscaled, generated_16fps, both |
| enable_sam31_preview | BOOLEAN | true | — |
| wan_background_lock | BOOLEAN | true | — |
| wan_character_mask_mode | COMBO | sam31_identity_mask | 3 options: sam31_identity_mask, uploaded_character_mask, none |
| wan_control_preview | BOOLEAN | true | — |
| pose_transfer_image_path | STRING | — | |
| pose_transfer_video_path | STRING | — | |
| pose_transfer_result_path | STRING | — | |
| pose_transfer_result_mode | COMBO | use_as_reference | 3 options: preview_only, use_as_reference, export_result |
| output_stage | COMBO | final | 7 options: final, draft, sam_preview, mask_preview, pose_preview, reference_preview, +1 |
| preview_stage | COMBO | final | 8 options: final, draft, sam_preview, mask_preview, pose_preview, reference_preview, +2 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — |