Nodes/IAMCCS-nodes/IAMCCS CineInfo V2V SCAIL
ComfyUI Node

IAMCCS CineInfo V2V SCAIL

Let a shot plan drive your motion-transfer run

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS CineInfo V2V SCAIL
  • cine_linx
  • source_images
  • source_audio
  • pose_video_mask_image
  • reference_image_mask_image
  • fps
  • generation_width
  • generation_height
  • positive_prompt
  • negative_prompt
  • output_prefix
  • pose_video
  • reference_image
  • pose_video_mask_image
  • reference_image_mask_image
  • source_audio
  • source_video_info
  • replacement_mode
  • backend_profile
  • report

IAMCCS CineInfo V2V SCAIL is the "read my shot plan, give me a SCAIL run" node in the IAMCCS V2V shotboard pipeline. SCAIL, if you haven't met it, is Z.ai's motion-transfer model on a Wan 2.1 base - the one that dropped the stick-figure pose skeleton entirely and just throws reference image + driving video + masks at the model. That's why this node exists: SCAIL wants a small, specific set of inputs, and this node makes sure each shot of a multi-shot scene delivers exactly that set.

Fair warning before you go any deeper: this is an orchestration node. It takes a cine_linx (the IAMCCS plan bus) and unpacks it into SCAIL-ready values. Standalone, it's a passthrough that prints a report. It earns its keep inside the author's Shotboard V2V workflows - the ones distributed through the pack and the Patreon.

How it works

The source code is almost boring in a good way. It reads the cine_linx payload, loads the planner media (source video, reference image, audio), then does two smart things:

  1. It fabricates masks when you don't supply them. SCAIL-2 works with support masks for the driving pose and the reference. If you leave pose_video_mask_image and reference_image_mask_image disconnected, this node hands you a full-white mask so the pipeline doesn't crash. You're expected to swap in real masks (SAM 3.1 tracking output, in the author's setup) for actual quality.
  2. It picks the backend profile - scail2_single_person by default, or scail2_multi_person_identity if the plan says so - and exposes it as backend_profile so downstream switches know which branch you're on.

The backend templates in the code show what this is wrapping: SAM3 tracking previews, colored identity masks, a 16 FPS pass then a 32 FPS upscaled final. The CineInfo node is just the front door.

The inputs and outputs that matter

Required: cine_linx. That's it.

Optional overrides: source_images, source_audio, plus pose_video_mask_image and reference_image_mask_image - the two masks above.

The outputs you'll actually grab:

  • pose_video and reference_image - SCAIL's two core inputs.
  • pose_video_mask_image / reference_image_mask_image - drive and reference support masks.
  • replacement_mode (BOOLEAN) - whether this shot replaces the identity in the driving video (true) or keeps it.
  • fps, generation_width, generation_height, positive_prompt, negative_prompt - the per-shot values for your latent and sampler.
  • backend_profile and report - which SCAIL variant this run is, and a summary line.

Install and requirements

It's one node in IAMCCS-nodes - install the whole pack:

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

or Manager → search IAMCCS. README requirements: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. The SCAIL backend itself wants the SCAIL-2 model, a CLIP vision model, VAE, and (in the author's full pipeline) SAM 3.1 for mask tracking. That's a big stack; if you're only here for SCAIL-2, the vanilla ComfyUI core workflow is the lighter entry point and this node adds little unless you're committing to the shotboard pipeline.

Where people get burned

  • The masks default to white. You'll get motion transfer that looks like the reference is stamped over the whole frame. Generate real masks (SAM3 tracking) or don't blame the node when single-person replacement bleeds everywhere.
  • SCAIL is heavy. The KB and community both note generation cost is the wall - it's the strongest open motion-transfer model but mid-range GPUs sweat. This node doesn't change that math.
  • replacement_mode semantics. The plan's backend_settings decides it; if you're hand-driving this node without a plan, check the output before assuming what it does.
  • Duplicated pack folder breaks registration - the requirements doc calls it the top install mistake. One IAMCCS-nodes, no copies.
  • Pre-release one-author tooling, zero search impressions as of writing. If a Shotboard workflow references it and you don't have the full pipeline, you'll see a wall of "missing node" errors - grab the whole pack, not just this class.
CategoryIAMCCS/V2V

Inputs (5)

NameTypeDefaultDescription
cine_linxIAMCCS_SUPERNODE_LINX
source_imagesoptIMAGE
source_audiooptAUDIO
pose_video_mask_imageoptIMAGE
reference_image_mask_imageoptIMAGE

Outputs (15)

NameTypeDescription
fpsFLOAT
generation_widthINT
generation_heightINT
positive_promptSTRING
negative_promptSTRING
output_prefixSTRING
pose_videoIMAGE
reference_imageIMAGE
pose_video_mask_imageIMAGE
reference_image_mask_imageIMAGE
source_audioAUDIO
source_video_infoVHS_VIDEOINFO
replacement_modeBOOLEAN
backend_profileSTRING
reportSTRING