wan-video/wan-2.2-animate-replace 🔢🖼️✓❓ → 🖼️

⭐ Official ▶️ 3.8K runs 📅 Sep 2025 ⚙️ Cog 0.16.6
character-replacement video-consistent-character-generation video-editing video-to-video

About

Use Wan 2.2 Animate to replace a character in a video scene

Example Output

Output

Performance Metrics

428.31s Prediction Time
428.32s Total Time
All Input Parameters
{
  "video": "https://replicate.delivery/pbxt/Nm2vPyL3RrdSEaluBGX8YwOtGmDoLAZZ84Siw3DQZ5O17w9F/cpevn6cy8hrme0csg21vqy3v5m.mp4",
  "go_fast": true,
  "refert_num": 1,
  "resolution": "720",
  "merge_audio": true,
  "character_image": "https://replicate.delivery/pbxt/Nm2vQ6UMlVVGrc5Qb3sCC7g5HNMNRfwk2VrxmsCSJceDRt0Y/selfie_boy_wide_angle.webp",
  "frames_per_second": 24
}
Input Parameters
seed Type: integer
Random seed. Leave blank for random
video (required) Type: string
Input video containing the character to be replaced
go_fast Type: booleanDefault: true
Go fast
resolution Default: 720
Resolution for processing
merge_audio Type: booleanDefault: false
Merge audio from input video into output (experimental - may not sync perfectly)
character_image (required) Type: string
New character image to replace the original character
frames_per_second Type: integerDefault: 24Range: 5 - 60
Frames per second for output video
Output Schema

Output

Type: stringFormat: uri

Example Execution Logs
frame_num: 192
video_fps: 24.0
fps: -1
target_num: 192
2025-09-25 11:02:50.353 | INFO     | wan.modules.animate.preprocess.process_pipepline:__call__:108 - Processing pose meta
2025-09-25 11:02:56.121 | INFO     | wan.modules.animate.preprocess.process_pipepline:__call__:125 - Processing reference image: /tmp/tmp7wm5l62iselfie_boy_wide_angle.webp
2025-09-25 11:02:56.153 | INFO     | wan.modules.animate.preprocess.process_pipepline:__call__:132 - Processing template video: /tmp/tmp_ouhbdekcpevn6cy8hrme0csg21vqy3v5m.mp4
video frame:   0%|          | 0/192 [00:00<?, ?it/s]
video frame:   3%|▎         | 6/192 [00:00<00:03, 51.08it/s]
video frame:   6%|▋         | 12/192 [00:00<00:03, 53.86it/s]
video frame:   9%|▉         | 18/192 [00:00<00:03, 54.86it/s]
video frame:  12%|█▎        | 24/192 [00:00<00:03, 55.32it/s]
video frame:  16%|█▌        | 30/192 [00:00<00:02, 55.20it/s]
video frame:  19%|█▉        | 36/192 [00:00<00:02, 55.46it/s]
video frame:  22%|██▏       | 42/192 [00:00<00:02, 55.64it/s]
video frame:  25%|██▌       | 48/192 [00:00<00:02, 55.82it/s]
video frame:  28%|██▊       | 54/192 [00:00<00:02, 55.96it/s]
video frame:  31%|███▏      | 60/192 [00:01<00:02, 56.04it/s]
video frame:  34%|███▍      | 66/192 [00:01<00:02, 55.44it/s]
video frame:  38%|███▊      | 72/192 [00:01<00:02, 55.67it/s]
video frame:  41%|████      | 78/192 [00:01<00:02, 55.83it/s]
video frame:  44%|████▍     | 84/192 [00:01<00:01, 55.60it/s]
video frame:  47%|████▋     | 90/192 [00:01<00:01, 55.62it/s]
video frame:  50%|█████     | 96/192 [00:01<00:01, 54.46it/s]
video frame:  53%|█████▎    | 102/192 [00:01<00:01, 54.55it/s]
video frame:  56%|█████▋    | 108/192 [00:01<00:01, 54.57it/s]
video frame:  59%|█████▉    | 114/192 [00:02<00:01, 54.84it/s]
video frame:  62%|██████▎   | 120/192 [00:02<00:01, 55.27it/s]
video frame:  66%|██████▌   | 126/192 [00:02<00:01, 54.79it/s]
video frame:  69%|██████▉   | 132/192 [00:02<00:01, 55.13it/s]
video frame:  72%|███████▏  | 138/192 [00:02<00:00, 55.21it/s]
video frame:  75%|███████▌  | 144/192 [00:02<00:00, 55.47it/s]
video frame:  78%|███████▊  | 150/192 [00:02<00:00, 55.46it/s]
video frame:  81%|████████▏ | 156/192 [00:02<00:00, 55.71it/s]
video frame:  84%|████████▍ | 162/192 [00:02<00:00, 55.84it/s]
video frame:  88%|████████▊ | 168/192 [00:03<00:00, 55.98it/s]
video frame:  91%|█████████ | 174/192 [00:03<00:00, 56.05it/s]
video frame:  94%|█████████▍| 180/192 [00:03<00:00, 56.12it/s]
video frame:  97%|█████████▋| 186/192 [00:03<00:00, 56.06it/s]
video frame: 100%|██████████| 192/192 [00:03<00:00, 55.55it/s]
video frame: 100%|██████████| 192/192 [00:03<00:00, 55.39it/s]
propagate in video:   0%|          | 0/192 [00:00<?, ?it/s]
propagate in video:   1%|          | 2/192 [00:00<00:15, 12.14it/s]
propagate in video:   2%|▏         | 4/192 [00:00<00:15, 12.00it/s]
propagate in video:   3%|▎         | 6/192 [00:00<00:15, 11.64it/s]
propagate in video:   4%|▍         | 8/192 [00:00<00:16, 11.23it/s]
propagate in video:   5%|▌         | 10/192 [00:00<00:16, 10.96it/s]
propagate in video:   6%|▋         | 12/192 [00:01<00:16, 10.80it/s]
propagate in video:   7%|▋         | 14/192 [00:01<00:16, 10.71it/s]
propagate in video:   8%|▊         | 16/192 [00:01<00:16, 10.65it/s]
propagate in video:   9%|▉         | 18/192 [00:01<00:16, 10.61it/s]
propagate in video:  10%|█         | 20/192 [00:01<00:16, 10.58it/s]
propagate in video:  11%|█▏        | 22/192 [00:02<00:16, 10.57it/s]
propagate in video:  12%|█▎        | 24/192 [00:02<00:15, 10.55it/s]
propagate in video:  14%|█▎        | 26/192 [00:02<00:15, 10.54it/s]
propagate in video:  15%|█▍        | 28/192 [00:02<00:15, 10.54it/s]
propagate in video:  16%|█▌        | 30/192 [00:02<00:15, 10.54it/s]
propagate in video:  17%|█▋        | 32/192 [00:02<00:15, 10.53it/s]
propagate in video:  18%|█▊        | 34/192 [00:03<00:15, 10.53it/s]
propagate in video:  19%|█▉        | 36/192 [00:03<00:14, 10.52it/s]
propagate in video:  20%|█▉        | 38/192 [00:03<00:14, 10.53it/s]
propagate in video:  21%|██        | 40/192 [00:03<00:14, 10.53it/s]
propagate in video:  22%|██▏       | 42/192 [00:03<00:14, 10.53it/s]
propagate in video:  23%|██▎       | 44/192 [00:04<00:14, 10.53it/s]
propagate in video:  24%|██▍       | 46/192 [00:04<00:13, 10.53it/s]
propagate in video:  25%|██▌       | 48/192 [00:04<00:13, 10.52it/s]
propagate in video:  27%|██▋       | 51/192 [00:04<00:11, 12.18it/s]
propagate in video:  28%|██▊       | 53/192 [00:04<00:11, 11.77it/s]
propagate in video:  29%|██▊       | 55/192 [00:05<00:11, 11.48it/s]
propagate in video:  30%|██▉       | 57/192 [00:05<00:12, 11.19it/s]
propagate in video:  31%|███       | 59/192 [00:05<00:12, 10.99it/s]
propagate in video:  32%|███▏      | 61/192 [00:05<00:12, 10.85it/s]
propagate in video:  33%|███▎      | 63/192 [00:05<00:11, 10.75it/s]
propagate in video:  34%|███▍      | 65/192 [00:06<00:11, 10.68it/s]
propagate in video:  35%|███▍      | 67/192 [00:06<00:11, 10.64it/s]
propagate in video:  36%|███▌      | 69/192 [00:06<00:11, 10.60it/s]
propagate in video:  37%|███▋      | 71/192 [00:06<00:11, 10.58it/s]
propagate in video:  38%|███▊      | 73/192 [00:06<00:11, 10.56it/s]
propagate in video:  39%|███▉      | 75/192 [00:06<00:11, 10.55it/s]
propagate in video:  40%|████      | 77/192 [00:07<00:10, 10.54it/s]
propagate in video:  41%|████      | 79/192 [00:07<00:10, 10.53it/s]
propagate in video:  42%|████▏     | 81/192 [00:07<00:10, 10.53it/s]
propagate in video:  43%|████▎     | 83/192 [00:07<00:10, 10.53it/s]
propagate in video:  44%|████▍     | 85/192 [00:07<00:10, 10.53it/s]
propagate in video:  45%|████▌     | 87/192 [00:08<00:09, 10.53it/s]
propagate in video:  46%|████▋     | 89/192 [00:08<00:09, 10.53it/s]
propagate in video:  47%|████▋     | 91/192 [00:08<00:09, 10.53it/s]
propagate in video:  48%|████▊     | 93/192 [00:08<00:09, 10.53it/s]
propagate in video:  49%|████▉     | 95/192 [00:08<00:09, 10.53it/s]
propagate in video:  51%|█████     | 98/192 [00:09<00:07, 12.14it/s]
propagate in video:  52%|█████▏    | 100/192 [00:09<00:07, 11.75it/s]
propagate in video:  53%|█████▎    | 102/192 [00:09<00:07, 11.47it/s]
propagate in video:  54%|█████▍    | 104/192 [00:09<00:07, 11.23it/s]
propagate in video:  55%|█████▌    | 106/192 [00:09<00:07, 11.02it/s]
propagate in video:  56%|█████▋    | 108/192 [00:09<00:07, 10.87it/s]
propagate in video:  57%|█████▋    | 110/192 [00:10<00:07, 10.76it/s]
propagate in video:  58%|█████▊    | 112/192 [00:10<00:07, 10.69it/s]
propagate in video:  59%|█████▉    | 114/192 [00:10<00:07, 10.64it/s]
propagate in video:  60%|██████    | 116/192 [00:10<00:07, 10.61it/s]
propagate in video:  61%|██████▏   | 118/192 [00:10<00:06, 10.59it/s]
propagate in video:  62%|██████▎   | 120/192 [00:11<00:06, 10.57it/s]
propagate in video:  64%|██████▎   | 122/192 [00:11<00:06, 10.55it/s]
propagate in video:  65%|██████▍   | 124/192 [00:11<00:06, 10.54it/s]
propagate in video:  66%|██████▌   | 126/192 [00:11<00:06, 10.53it/s]
propagate in video:  67%|██████▋   | 128/192 [00:11<00:06, 10.53it/s]
propagate in video:  68%|██████▊   | 130/192 [00:12<00:05, 10.53it/s]
propagate in video:  69%|██████▉   | 132/192 [00:12<00:05, 10.53it/s]
propagate in video:  70%|██████▉   | 134/192 [00:12<00:05, 10.53it/s]
propagate in video:  71%|███████   | 136/192 [00:12<00:05, 10.53it/s]
propagate in video:  72%|███████▏  | 138/192 [00:12<00:05, 10.53it/s]
propagate in video:  73%|███████▎  | 140/192 [00:13<00:04, 10.53it/s]
propagate in video:  74%|███████▍  | 142/192 [00:13<00:04, 10.53it/s]
propagate in video:  75%|███████▌  | 144/192 [00:13<00:04, 10.53it/s]
propagate in video:  77%|███████▋  | 147/192 [00:13<00:03, 12.19it/s]
propagate in video:  78%|███████▊  | 149/192 [00:13<00:03, 11.78it/s]
propagate in video:  79%|███████▊  | 151/192 [00:13<00:03, 11.49it/s]
propagate in video:  80%|███████▉  | 153/192 [00:14<00:03, 11.20it/s]
propagate in video:  81%|████████  | 155/192 [00:14<00:03, 11.00it/s]
propagate in video:  82%|████████▏ | 157/192 [00:14<00:03, 10.85it/s]
propagate in video:  83%|████████▎ | 159/192 [00:14<00:03, 10.75it/s]
propagate in video:  84%|████████▍ | 161/192 [00:14<00:02, 10.68it/s]
propagate in video:  85%|████████▍ | 163/192 [00:15<00:02, 10.64it/s]
propagate in video:  86%|████████▌ | 165/192 [00:15<00:02, 10.60it/s]
propagate in video:  87%|████████▋ | 167/192 [00:15<00:02, 10.58it/s]
propagate in video:  88%|████████▊ | 169/192 [00:15<00:02, 10.56it/s]
propagate in video:  89%|████████▉ | 171/192 [00:15<00:01, 10.55it/s]
propagate in video:  90%|█████████ | 173/192 [00:16<00:01, 10.54it/s]
propagate in video:  91%|█████████ | 175/192 [00:16<00:01, 10.53it/s]
propagate in video:  92%|█████████▏| 177/192 [00:16<00:01, 10.52it/s]
propagate in video:  93%|█████████▎| 179/192 [00:16<00:01, 10.51it/s]
propagate in video:  94%|█████████▍| 181/192 [00:16<00:01, 10.51it/s]
propagate in video:  95%|█████████▌| 183/192 [00:17<00:00, 10.51it/s]
propagate in video:  96%|█████████▋| 185/192 [00:17<00:00, 10.51it/s]
propagate in video:  97%|█████████▋| 187/192 [00:17<00:00, 10.50it/s]
propagate in video:  98%|█████████▊| 189/192 [00:17<00:00, 10.50it/s]
propagate in video:  99%|█████████▉| 191/192 [00:17<00:00, 10.50it/s]
propagate in video: 100%|██████████| 192/192 [00:17<00:00, 10.75it/s]
MoviePy - Building video /tmp/tmpwpyzbut1/src_face.mp4.
MoviePy - Writing video /tmp/tmpwpyzbut1/src_face.mp4
frame_index:   0%|          | 0/192 [00:00<?, ?it/s, now=None]
frame_index:  50%|█████     | 96/192 [00:00<00:00, 956.51it/s, now=None]
frame_index: 100%|██████████| 192/192 [00:00<00:00, 770.31it/s, now=None]
MoviePy - Done !
MoviePy - video ready /tmp/tmpwpyzbut1/src_face.mp4
MoviePy - Building video /tmp/tmpwpyzbut1/src_pose.mp4.
MoviePy - Writing video /tmp/tmpwpyzbut1/src_pose.mp4
frame_index:   0%|          | 0/192 [00:00<?, ?it/s, now=None]
frame_index:  17%|█▋        | 32/192 [00:00<00:00, 310.95it/s, now=None]
frame_index:  35%|███▍      | 67/192 [00:00<00:00, 329.39it/s, now=None]
frame_index:  54%|█████▍    | 104/192 [00:00<00:00, 345.08it/s, now=None]
frame_index:  73%|███████▎  | 140/192 [00:00<00:00, 350.69it/s, now=None]
frame_index:  99%|█████████▉| 190/192 [00:00<00:00, 403.50it/s, now=None]
MoviePy - Done !
MoviePy - video ready /tmp/tmpwpyzbut1/src_pose.mp4
MoviePy - Building video /tmp/tmpwpyzbut1/src_bg.mp4.
MoviePy - Writing video /tmp/tmpwpyzbut1/src_bg.mp4
frame_index:   0%|          | 0/192 [00:00<?, ?it/s, now=None]
frame_index:  19%|█▉        | 37/192 [00:00<00:00, 369.79it/s, now=None]
frame_index:  42%|████▏     | 80/192 [00:00<00:00, 401.91it/s, now=None]
frame_index:  63%|██████▎   | 121/192 [00:00<00:00, 404.66it/s, now=None]
frame_index:  84%|████████▍ | 162/192 [00:00<00:00, 373.54it/s, now=None]
MoviePy - Done !
MoviePy - video ready /tmp/tmpwpyzbut1/src_bg.mp4
MoviePy - Building video /tmp/tmpwpyzbut1/src_mask.mp4.
MoviePy - Writing video /tmp/tmpwpyzbut1/src_mask.mp4
frame_index:   0%|          | 0/192 [00:00<?, ?it/s, now=None]
frame_index:  20%|██        | 39/192 [00:00<00:00, 381.51it/s, now=None]
frame_index:  45%|████▌     | 87/192 [00:00<00:00, 437.43it/s, now=None]
frame_index:  69%|██████▉   | 133/192 [00:00<00:00, 444.23it/s, now=None]
frame_index:  93%|█████████▎| 179/192 [00:00<00:00, 446.85it/s, now=None]
                                                                         
MoviePy - Done !
MoviePy - video ready /tmp/tmpwpyzbut1/src_mask.mp4
  0%|          | 0/6 [00:00<?, ?it/s]
 17%|█▋        | 1/6 [00:18<01:34, 18.84s/it]
 33%|███▎      | 2/6 [00:34<01:07, 16.84s/it]
 50%|█████     | 3/6 [00:52<00:52, 17.55s/it]
 67%|██████▋   | 4/6 [01:10<00:35, 17.86s/it]
 83%|████████▎ | 5/6 [01:29<00:18, 18.01s/it]
100%|██████████| 6/6 [01:47<00:00, 18.11s/it]
100%|██████████| 6/6 [01:47<00:00, 17.93s/it]
  0%|          | 0/6 [00:00<?, ?it/s]
 17%|█▋        | 1/6 [00:18<01:33, 18.72s/it]
 33%|███▎      | 2/6 [00:34<01:06, 16.74s/it]
 50%|█████     | 3/6 [00:52<00:52, 17.46s/it]
 67%|██████▋   | 4/6 [01:10<00:35, 17.79s/it]
 83%|████████▎ | 5/6 [01:28<00:17, 17.97s/it]
100%|██████████| 6/6 [01:47<00:00, 18.08s/it]
100%|██████████| 6/6 [01:47<00:00, 17.88s/it]
  0%|          | 0/6 [00:00<?, ?it/s]
 17%|█▋        | 1/6 [00:18<01:33, 18.74s/it]
 33%|███▎      | 2/6 [00:34<01:07, 16.75s/it]
 50%|█████     | 3/6 [00:52<00:52, 17.46s/it]
 67%|██████▋   | 4/6 [01:10<00:35, 17.79s/it]
 83%|████████▎ | 5/6 [01:29<00:17, 17.98s/it]
100%|██████████| 6/6 [01:47<00:00, 18.08s/it]
100%|██████████| 6/6 [01:47<00:00, 17.88s/it]
saved video
Version Details
Version ID
b55667691c9d39b12fb9bf46d1dc20d7bf8a93c7bc0455449cbd4ef18c39eb0e
Version Created
September 25, 2025
Run on Replicate →