Nodes/ComfyUI-SCAIL-Pose2/SCAIL-Pose2 Replacement Condition Video
ComfyUI Node

SCAIL-Pose2 Replacement Condition Video

The replacement helper the README tells you to skip (mostly)

By rookiestar28·Created 3 months ago·Updated 14 days ago· 13
SCAIL-Pose2 Replacement Condition Video
  • driving_video
  • pose_video_mask
  • driving_video_condition
  • summary
mask_presetcustom
grow_pixels8
blur_pixels0
suppression_modeblur_fill
suppression_strength1.00
noise_seed0

Let me save you some head-scratching: this node is marked legacy in its own README. The canonical replacement route in ComfyUI-SCAIL-Pose2 feeds the raw driving video straight into the Condition node and does the background lock with a denoise mask at the sampler. This node is the old way - and the old way has a real downside.

SCAILPose2ReplacementConditionVideo suppresses the original subject's pixels in the replacement driving video before that video becomes SCAIL-2 conditioning. The idea makes sense: you're swapping person A for person B, so why give the model A's pixels to work with? The problem, per the README's own warning, is that editing the video weakens SCAIL-2's official pose-latent motion signal. The pose is read from that video, and repainting the subject throws away motion information along with the pixels.

What it actually does

It takes the original driving video and the colored semantic mask, builds a subject mask from the mask's foreground, optionally grows and blurs it, then fills the subject region according to suppression_mode. That's it - a targeted inpainting/fill step for the person you're replacing.

Inputs that matter

  • driving_video and pose_video_mask - the originals. Use the same mask the Condition node gets.
  • mask_preset - custom, tight, default, loose, or soft. Non-custom presets override your grow/blur values, so don't set those and then wonder why they're ignored.
  • grow_pixels / blur_pixels - how far the subject region expands and how soft its edge is.
  • suppression_mode - how the subject gets filled: blur_fill (default), mean_fill, black_fill, white_fill, or noise_fill. Blur fill keeps the local context-ish color; black/white/noise are progressively more aggressive.
  • suppression_strength - 0.0 keeps the original subject untouched, 1.0 fully suppresses it. That's the dial if you want partial suppression.
  • noise_seed - deterministic seed for noise_fill only.

Outputs are driving_video_condition (an IMAGE you'd wire into Condition.driving_video) and a summary string.

How the presets break down

If you're going to experiment, the README's own conservative starting point is custom preset, grow_pixels=8, blur_pixels=0, blur_fill, suppression_strength=1.0. The built-in presets are tight (2px grow, 0 blur), default (8/0), loose (16/2), and soft (12/4).

When it's worth using

Honestly, rarely. The README calls it a "legacy/experimental/manual fallback" and warns it can reduce pose accuracy. If you use it, do it as a deliberate experiment, and only after you've confirmed the sampler denoise-mask path is wired correctly - because if that path is broken, no amount of suppression here fixes the background bleed, and you'll have degraded the pose signal for nothing. The one thing it can't do is make the canonical route faster. It's a tool that exists for edge cases, and the pack is refreshingly honest about that.

CategorySCAIL-Pose2/SCAIL-2

Inputs (8)

NameTypeDefaultDescription
driving_videoIMAGE
pose_video_maskIMAGE
mask_presetCOMBOcustom5 options: custom, tight, default, loose, soft
grow_pixelsINT80–512
blur_pixelsINT00–512
suppression_modeCOMBOblur_fill5 options: blur_fill, mean_fill, black_fill, white_fill, noise_fill
suppression_strengthFLOAT1.000–1
noise_seedINT00–4294967295

Outputs (2)

NameTypeDescription
driving_video_conditionIMAGE
summarySTRING