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

Wan 2.2 14b Animate: Move Character (fal)

Puppeteer your character with a driving video

By gokayfem·Created 2 years ago·Updated a day ago· 203
Wan 2.2 14b Animate: Move 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

Wan 2.2 Animate is Alibaba's character-animation model - the most-used of the task-specific models built on the (Apache 2.0) Wan 2.2 base. It comes in two flavours, and this node is the Move Character one: you hand it a still of your character and a driving video, and your character performs the motion from that video. Dancing, gesturing, walking - the reference clip is the puppet strings, your image is the puppet. This runs on fal.ai, so you skip the hefty local Wan setup.

Cloud call, per-clip billing, no VRAM to find. Wan itself is open, but running the 14B Animate model locally is a real GPU commitment - fal takes that off your plate.

How it works

You give it a character image and a driving video. The model reads the motion out of the video and applies it to your character, generating a new clip of your character doing what the driving performer did. Move Character is the "animate my character into this motion" mode - as opposed to the Replace Character sibling node, which instead swaps your character into the driving video's existing scene. If you want your character performing a motion, this is the one; if you want to body-swap someone in existing footage, use Replace.

The inputs and outputs that matter

  • image (required, IMAGE) - your character. A clean, full-view reference works best.
  • the driving video - as a video socket or an input_video_url string. This supplies the motion.
  • resolution - 480p (default), 580p, or 720p. Higher costs more and renders slower.
  • turbo (default on) - the fast path. Leave it on for iteration; the quality knobs below matter more than this for the final.

The finer dials, mostly safe 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), and variations (1–10, generate several at once). There are two safety checkers (enable_safety_checker, enable_output_safety_checker) and a return_frames_zip toggle if you want the raw frames.

Outputs are video_url and frames_zip_url (both lists - one entry per variation). These are URLs on fal; download them with Fal Save Media from URL. The frames zip is only populated if you turned return_frames_zip on.

How to install it

From 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

You wanted a body-swap, not a puppet. You picked the wrong mode. Move Character animates your character with the driving motion. To replace a person inside existing footage while keeping that footage's scene, use Wan2214b_animate_replace_character_fal.

The motion transfer is rough or limbs go wrong. Give it a cleaner driving video with a clearly visible full body, and a character image that shows the whole figure. Complex or occluded motion is where character animation breaks down. Bumping resolution and video_quality helps the final but won't fix a bad driving clip.

frames_zip_url is empty. That output only fills in when return_frames_zip is on.

Insufficient funds / credit lag. fal is pay-per-call and legit; top-ups have sometimes posted late. Wait for credits rather than repaying. fal's errors surface 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