IAMCCS CineInfo V2V WanAnimate
WanAnimate segment control without hand-wiring every shot
- cine_linx
- source_images
- source_audio
- face_video
- pose_video
- background_video
- character_mask
- fps
- generation_width
- generation_height
- positive_prompt
- negative_prompt
- output_prefix
- reference_image
- face_video
- pose_video
- background_video
- character_mask
- source_audio
- source_video_info
- backend_profile
- report
If you've ever animated a talking character in WanAnimate, you know the drill: reference image, face video, pose video, background, a character mask - five wires you have to feed correctly or the whole thing falls apart. IAMCCS CineInfo V2V WanAnimate is this pack's answer to "do that per shot, from a plan, without me re-plumbing it every time." It's the WanAnimate branch of the IAMCCS V2V CineInfo family, and it exists because the author's WanAnimate workflows were exactly where this pack got its start - remember, the whole repo began as a fix for LoRAs silently failing in native WanAnimate graphs.
Same framing as its siblings: this is a shot-unpacking node, not a generator. It reads a cine_linx plan and spits out everything a WanAnimate backend wants, per segment. Standalone it does nothing visually. In a Shotboard V2V workflow it's the reason one shot can be a WanAnimate lip-sync and the next a different character setup, without touching the graph.
How it works
The node loads the plan's source video, reference image, and audio, then applies sensible defaults you're meant to override:
face_video,pose_video, andbackground_videoall default to the loaded source frames.character_maskdefaults to a full white mask.
Those defaults are deliberate - they let the graph validate and run before you've wired the real controls, and they make it obvious when you've forgotten one. The report output tells you whether background lock is on (wan_background_lock) and which backend profile is active. The author's production backend template (wananimate_extension) expects a generated background_video plus a real character_mask for the background-lock path, with SAM3 + ViTPose doing the segmentation and pose drawing upstream.
The inputs and outputs that matter
Required: cine_linx.
Optional inputs worth knowing: face_video, pose_video, background_video, character_mask (MASK) - the four controls you'll actually replace with real data.
Outputs you'll wire up:
reference_image- the identity anchor for WanAnimate.face_video/pose_video/background_video- feed these to your WanAnimate pipeline.character_mask- the segmentation that keeps the background from being animated.fps,generation_width(default 832),generation_height(default 480),positive_prompt,negative_prompt- per-shot sampler values.source_audio- essential if you want lip-sync; pass it into the audio conditioning chain.backend_profile,report- diagnostics.
Install and the WanAnimate connection
Install via Manager (search IAMCCS) or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
README floor: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. The WanAnimate backend wants a Wan 2.1/2.2 model + VAE, ViTPose for pose extraction, and SAM3 for masks. This is exactly where the pack's native-LoRA fix matters: native WanAnimate pipelines historically ignored LoRA weights because they bypass ComfyUI's internal LoRA merge; the pack's LoRA Stack + Apply nodes are the workaround, and they're expected in these workflows.
Where people get burned
- White-mask trap. A disconnected
character_maskmeans the whole frame is the character. Backgrounds become soup. Real segmentation masks are mandatory for the background-lock path. - Wan Animate's stretch problem. The community (and this pack's docs) hammer on the classic complaint that WanAnimate stretches the main character to match the driving video's aspect. If you're chasing that, the pack's motion and identity tooling is aimed at taming it, but it's a model-level trait.
- One pack, no copies. Duplicate
IAMCCS-nodesfolders → node registration collisions at startup. - Not a standalone node. Zero search impressions, one-author tooling, and it only makes sense inside the Shotboard V2V pipeline. If you're just starting with WanAnimate, the plain native workflow will teach you more than this wrapper will.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| source_imagesopt | IMAGE | — | |
| source_audioopt | AUDIO | — | |
| face_videoopt | IMAGE | — | |
| pose_videoopt | IMAGE | — | |
| background_videoopt | IMAGE | — | |
| character_maskopt | MASK | — |
Outputs (15)
| Name | Type | Description |
|---|---|---|
| fps | FLOAT | — |
| generation_width | INT | — |
| generation_height | INT | — |
| positive_prompt | STRING | — |
| negative_prompt | STRING | — |
| output_prefix | STRING | — |
| reference_image | IMAGE | — |
| face_video | IMAGE | — |
| pose_video | IMAGE | — |
| background_video | IMAGE | — |
| character_mask | MASK | — |
| source_audio | AUDIO | — |
| source_video_info | VHS_VIDEOINFO | — |
| backend_profile | STRING | — |
| report | STRING | — |