ComfyUI Node
IAMCCS_WanImageMotionPro
A ComfyUI node in IAMCCS/Wan with 33 inputs and 4 outputs.
IAMCCS_WanImageMotionPro
- positive
- negative
- anchor_samples
- prev_samples
- end_samples
- clip_vision_start_image
- clip_vision_end_image
- positive
- negative
- latent
- trim_slots
◄length81►
◄motion_latent_count1►
◄motion1.15►
◄motion_modemotion_only (prev_samples)►
◄add_reference_latentsfalse►
◄latent_precisionfp32►
◄vram_profilenormal►
◄include_padding_in_motionfalse►
◄safety_presetsafe►
◄use_end_frametrue►
◄end_transition_frames0►
◄end_lock_slots1►
◄lock_start_slots1►
◄diagnostic_logfalse►
◄use_prev_samplestrue►
◄end_overshoot_slots0►
◄latent_refresh0.00►
◄delta_max0.0►
◄clip_vision_modeauto►
◄raw_modefalse►
◄prev_samples_profiledirect►
◄prev_skip_last_slots0►
◄prev_tail_pick_modelatest►
◄prev_anchor_blend0.00►
◄continuity_profileoff►
◄preset[custom]►
CategoryIAMCCS/Wan
Inputs (33)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| length | INT | 811–16384 | — |
| anchor_samples | LATENT | — | |
| motion_latent_count | INT | 10–16 | — |
| motion | FLOAT | 1.151–2 | — |
| motion_mode | COMBO | motion_only (prev_samples) | 2 options: motion_only (prev_samples), all_nonfirst (anchor+motion) |
| add_reference_latents | BOOLEAN | false | — |
| latent_precision | COMBO | fp32 | Output latent dtype for the empty Wan sampler latent. Kept here for backward compatibility with older WanImageMotionPro workflows. |
| vram_profile | COMBO | normal | 5 options: normal, chunked_blocks_2, chunked_blocks_4, loop_per_frame (lowest_vram), cpu_offload (slowest) |
| include_padding_in_motion | BOOLEAN | false | — |
| safety_preset | COMBO | safe | base : 1:1 with WanImageToVideoSVIProFLF — no amplitude processing at all. safe : per-channel stabilisation + tanh limiter + 2-frame ramp (active at any motion value, recommended default). safer : same as safe but tighter limiter + longer ramp (best above motion=1.5). legacy : hard clamp ±6 + frame-scalar diff centering, mirrors PainterI2V algorithm. |
| use_end_frame | BOOLEAN | true | When False, end_samples is ignored even if the wire is connected. Use this to safely bypass the end-frame encoder without disconnecting the node, preventing ping-pong artifacts. |
| end_transition_frames | INT | 00–32 | ⚠️ DEPRECATED — keep at 0. Values > 0 blend padding latents toward the end frame in latent space, which produces static/frozen output because VAE latent interpolation is not linear. 0 = hard cut, identical to the original FLF node behavior. |
| end_lock_slots | INT | 11–16 | How many final latent slots to hard-lock to end_samples. Default 1 = only the very last slot (~last 4 video frames) is locked, so the end frame appears exactly at the last frame defined by 'length'. Increase only if a single locked slot is not enough for convergence. Set 16 for 1:1 parity with the original FLF node (locks min(T_end, total_latents)). |
| lock_start_slots | INT | 10–16 | How many initial latent slots to hard-lock to the start image via concat_mask. Default 1 (≈ first 4 video frames) matches FLF-style start anchoring. Set 0 to allow motion immediately from the first video frame. |
| diagnostic_log | BOOLEAN | false | When enabled, prints compact diagnostics about concat_latent_image/mask and motion/end-lock ranges. Useful to debug 'static clip' or segment discontinuities. |
| use_prev_samples | BOOLEAN | true | When False, prev_samples is ignored even if the wire is connected. Use this on the first segment when autolink forces prev_samples to be connected. |
| end_overshoot_slots | INT | 00–8 | Extends the internal generation window by this many latent slots when the end lock is active (use_end_frame=True + end_samples connected). The end image is locked at the tail of the EXTENDED range, so the visible clip converges toward the end frame without hard-freezing on it. Use the trim_slots output to cut the overshoot frames after sampling. 0 = disabled, original behavior. 1 = +4 video frames (recommended). 2 = +8 video frames (looser convergence). NOTE: If you have KJNodes WAN attention optimizations (FETA / wrapped_attention) enabled, some versions may crash with an einops shape mismatch when overshoot > 0. Workaround: set end_overshoot_slots=0 or disable/update that KJNodes optimization. |
| latent_refresh | FLOAT | 0.000–1 | Latent moment stabilization strength (0=disabled, 1=full correction). Matches per-channel mean and contrast of the motion tail to the anchor latent. Spatial residuals and motion are preserved. Start with 0.5 for chains of 3+ segments. |
| delta_max | FLOAT | 0.00–5 | Soft-clamp on latent mean drift magnitude (0=disabled). Caps how much mean correction can be applied per channel. Use 0.5-1.0 to prevent over-correction on large motion segments. |
| clip_vision_mode | COMBO | auto | Controls how clip_vision_start_image / clip_vision_end_image are merged. auto : concatenate start+end tokens (original FLF behavior). Correct ONLY when anchor=A and end=B (true A→B transition). end_only : use only clip_vision_end embedding. RECOMMENDED for SVI Pro continuation where anchor=end=same image but prev_samples comes from a different scene — prevents crossfade bleed. start_only : use only clip_vision_start embedding. none : skip clip_vision injection entirely (bypass). |
| raw_mode | BOOLEAN | false | Strict compatibility mode for the original WanImageToVideoSVIProFLF behavior. When enabled, WanImageMotionPro bypasses advanced features (motion amplitude, latent moment stabilization, overshoot, clip vision routing, reference latents, slot caps) and builds conditioning 1:1 like the original FLF+SVI node. Use this to benchmark or to get the baseline first/last frame behavior back. |
| prev_samples_profile | COMBO | direct | High-level handling profile for prev_samples. direct: use the explicit prev tail controls exactly as set. mixed_svi_safe: intended for SVI-to-Pro chains; ignores the last prev slot and still uses the latest usable tail. mixed_svi_aggressive: intended for harder SVI-to-Pro chains; ignores the last prev slot and takes the earliest usable tail segment instead of the latest. |
| prev_skip_last_slots | INT | 00–16 | Ignore the last N temporal latent slots from prev_samples before extracting the motion tail. Useful when prev_samples comes from a non-FLF generator and you want FLF-like continuation from a slightly earlier motion state. |
| prev_tail_pick_mode | COMBO | latest | How to pick the motion tail from prev_samples after any tail trimming. latest: use the last usable slots (default, original behavior). first_usable: use the earliest usable slots after trimming, which can behave more like an FLF chain when SVI tails become unstable near the end. |
| prev_anchor_blend | FLOAT | 0.000–1 | Blend the extracted prev motion tail toward the first anchor slot before conditioning. Helps when prev_samples comes from SVI and needs to behave more like a FLF-aligned predecessor. |
| continuity_profile | COMBO | off | Raw-like continuity path for SVI chains. SVI_CONTINUITY keeps FLF+SVI raw semantics while still enabling overshoot and trim_slots. The other continuity profiles stay raw-like and selectively add only safe options: prev tail handling or end_only clip vision when anchor=end. These profiles intentionally bypass motion shaping, latent moment stabilization, start-slot normalization, and the 4-channel mask. |
| preset | COMBO | [custom] | Server-side preset for WanImageMotionPro Plus. Visible even if the frontend preset widget is not loaded. Use [custom] to keep manual widget values unchanged. |
| prev_samplesopt | LATENT | — | |
| end_samplesopt | LATENT | — | |
| clip_vision_start_imageopt | CLIP_VISION_OUTPUT | — | |
| clip_vision_end_imageopt | CLIP_VISION_OUTPUT | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| latent | LATENT | — |
| trim_slots | INT | — |