☕ One coffee = one happy creator: https://buymeacoffee.com/the_frizzy1
Swap one person in your video for your own character, a person, an animal or a cartoon. Any clip length, the original sound kept, and it opens in App mode. This was my entry for the ComfyUI #OpenSourceHiggsfield challenge, Openjutsu track: OPENjutsu could not turn me into a dog, so I built my own.
What you need
✔ Custom nodes — None. Core ComfyUI only.
✔ ComfyUI version — 0.43.1 — the version it was tested on. Older ones may not have Start Loop / End Loop or the SCAIL-2 nodes
✔ VRAM — 12 GB — tested, not estimated
✔ System RAM — 32 GB tested. The README gives no peak figure for this one
✔ Tested on — RTX 3060 12 GB · 32 GB RAM · ComfyUI 0.43.1 (frontend 1.57.4) · Windows 11
✔ Licence — Workflow MIT · SCAIL-2 MIT · SAM 3.1: see its model page
Models to download
Click a file name to download it. Put it in the folder shown, inside ComfyUI/models/. Every file name was read from the workflow .json, and ComfyUI's Missing models window offers them too. 28.6 GB is a lot to ask, so start the downloads before you start reading.
Required — 7 files, 28.6 GB. All links checked on 2026-11-03.
diffusion_models/
File: wan2.1_14B_SCAIL_2_int8_convrot.safetensors — 16.65 GB (SCAIL-2 model)
Download:
https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/diffusion_models/wan2.1_14B_SCAIL_2_int8_convrot.safetensors
Put it here:
ComfyUI/models/diffusion_models/
loras/
File: wan2.1_SCAIL_2_DPO_lora_bf16.safetensors — 1.23 GB (quality LoRA)
Download:
https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/loras/wan2.1_SCAIL_2_DPO_lora_bf16.safetensors
Put it here:
ComfyUI/models/loras/
File: lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors — 0.74 GB (speed LoRA)
Download:
https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors
Put it here:
ComfyUI/models/loras/
text_encoders/
File: umt5_xxl_fp8_e4m3fn_scaled.safetensors — 6.74 GB (text encoder)
Download:
https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors
Put it here:
ComfyUI/models/text_encoders/
vae/
File: Wan2_1_VAE_bf16.safetensors — 0.25 GB (VAE)
Download:
https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors
Put it here:
ComfyUI/models/vae/
clip_vision/
File: clip_vision_h.safetensors — 1.26 GB (character picture)
Download:
https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors
Put it here:
ComfyUI/models/clip_vision/
checkpoints/
File: sam3.1_multiplex_fp16.safetensors — 1.75 GB (finds the people)
Download:
https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors
Put it here:
ComfyUI/models/checkpoints/
Inputs
It opens in App mode. Your video and a character picture, front view and full body if you can. Describe the result in one sentence, e.g. A realistic golden retriever dances in a bright room. Then Who is in the clip, e.g. man in red t-shirt, and What your character is, e.g. dog. Which person: 0 = the left one, 1 = the next one, empty = everyone. Seconds: 0 = the whole clip, try 3 s first. The video lands in ComfyUI/output/SCAIL2 swap/.
SAM 3.1 finds up to 4 people that match "Who is in the clip" and sorts them left to right. One character per run.
How the long clips work
SCAIL-2 makes 81 frames at a time. The workflow runs it inside ComfyUI's own Start Loop / End Loop, one segment per round. Every next round starts 76 frames later and gets the last 5 frames of the round before, drops them again and colour-matches to the previous round with reinhard_lab, so a long clip stays one take. The clip is padded to whole segments and cut back at the end.
Settings I benchmarked and settled on: int8 model, DPO LoRA 1.0, lightx2v distill LoRA 0.8, 6 steps, CFG 1, shift 5, euler / simple, short side 512.
Speed on my RTX 3060
9.4 s dance clip, whole clip, sound kept — 512x896, 24:09 wall
That is 24 minutes for 9.4 seconds, so this is not a fast one. Try 3 s first before you run a whole clip. One run is all the README has: there is no VRAM or RAM column because those were not recorded for it.
What did not work
Two characters in one run: left out on purpose, it was not reliable enough in my tests.
A face fix pass: same, left out.
One character per run is the hard limit, even when SAM 3.1 finds four people and swaps them all.
Get the workflow
Hugging Face mirror: https://huggingface.co/The-frizzy1/The_frizzy1-Workflows/tree/main/workflows/scail/scail2-character-swap-12gb
More videos on this stuff: https://www.youtube.com/playlist?list=UUGKDBMhTGqvlBZE9cF5d50Q
Description
v1.1.0. The README does not say what changed from v1.0.0 — see changelog.md in the repo.




