Nodes/ComfyUI-fal-API/Wan 2.2 14b Animate: Replace Character (fal)
ComfyUI Node

Wan 2.2 14b Animate: Replace Character (fal)

Swap your character into an existing video

By gokayfem·Created 2 years ago·Updated a day ago· 203
Wan 2.2 14b Animate: Replace Character (fal)
  • image
  • video
  • video_url
  • frames_zip_url
input_video_url
turbotrue
resolution480p
seed24
num_inference_steps20
guidance_scale1.0
shift8
video_qualityhigh
video_write_modebalanced
enable_safety_checkertrue
enable_output_safety_checkerfalse
return_frames_zipfalse
variations1

This is the Replace Character half of Wan 2.2 Animate - Alibaba's character model and the most-used of the task-specific models built on the open Wan 2.2 base. Where the Move Character node animates your character with a borrowed motion, this one does a body-swap: it takes an existing video and replaces the person in it with your character, keeping the original scene, lighting, and action intact. Your character steps into the footage. It all runs on fal.ai.

Cloud call, per-clip billing, no local GPU. The 14B Animate model is a serious local job; fal handles it.

How it works

You provide a character image and a source video. The model detects the performer in the video and re-renders them as your character, preserving the surrounding scene and the motion they were already doing. The result is the same clip with a different person in it. That's the distinction from the Move Character sibling: Move keeps your character and borrows a motion; Replace keeps the scene and swaps the character. Choose Replace when the existing footage is what you want to preserve.

The inputs and outputs that matter

  • image (required, IMAGE) - the character you're swapping in.
  • the source video - as a video socket or an input_video_url string. This is the footage whose person gets replaced.
  • resolution - 480p (default), 580p, or 720p.
  • turbo (default on) - the fast path for iteration.

The tuning dials, fine at defaults: num_inference_steps (20), guidance_scale (1), shift (8), video_quality (low/medium/high/maximum, default high), video_write_mode (balanced/fast/small), seed (default 24), variations (1–10). Two safety toggles (enable_safety_checker, enable_output_safety_checker) and return_frames_zip for raw frames.

Outputs are video_url and frames_zip_url, both lists (one per variation), as fal URLs. Download with Fal Save Media from URL; the frames zip only fills if return_frames_zip is on.

How to install it

Ships in gokayfem's ComfyUI-fal-API pack. ComfyUI Manager: search ComfyUI-fal-API, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-fal-API.git
pip install -r ComfyUI-fal-API/requirements.txt

Add your fal key (copy config.ini.exampleconfig.ini, paste from fal.ai/dashboard/keys, or export FAL_KEY=your_key), restart.

Common issues & troubleshooting

Your character ended up in a blank scene instead of the video. You may have wanted Move Character, not Replace. Replace preserves the source footage and swaps the person; Move animates your character into a borrowed motion. Pick by what you want to keep.

The swap looks pasted-on or the edges are rough. Replacement is hardest when the person in the source video is partly occluded, moves fast, or leaves frame. A source clip with a clear, well-lit, unobstructed subject swaps far more cleanly. Raising resolution and video_quality sharpens the final render.

Identity drifts across the clip. Character consistency over a full clip is the genuinely hard part of this task. A stronger, clearer character reference helps; so does keeping the clip short.

frames_zip_url is empty. It only populates with return_frames_zip on.

Insufficient funds / credit lag. fal is pay-per-call and legit; top-ups have occasionally posted late. Wait for credits rather than repaying. fal errors print as text in ComfyUI.

CategoryFAL/VideoGeneration

Inputs (15)

NameTypeDefaultDescription
imageIMAGE
videooptVIDEO
input_video_urloptSTRING
turbooptBOOLEANtrue
resolutionoptCOMBO480p3 options: 480p, 580p, 720p
seedoptINT240–2147483647
num_inference_stepsoptINT201–40
guidance_scaleoptFLOAT1.01–10
shiftoptINT81–10
video_qualityoptCOMBOhigh4 options: low, medium, high, maximum
video_write_modeoptCOMBObalanced3 options: balanced, fast, small
enable_safety_checkeroptBOOLEANtrue
enable_output_safety_checkeroptBOOLEANfalse
return_frames_zipoptBOOLEANfalse
variationsoptINT11–10

Outputs (2)

NameTypeDescription
video_urlSTRING
frames_zip_urlSTRING