Wan2.2 Animate, 角色动画与替换

此 ComfyUI 工作流展示了基于 Wan 2.2 Animate 视频扩散模型的角色动画与替换一体化方案。它从输入视频提取动作,分割目标主体,并合成跟随相同动作的新角色(或重绘原角色)。核心组件包括 UNETLoader 加载 Wan2_2-Animate-14B_fp8_e4m3fn_scaled_KJ.safetensors 检查点,VAELoader 解码帧,CLIPLoader 和 CLIPTextEncode 处理正/负提示,SaveVideo 输出最终视频。动作线索由 comfyui_controlnet_aux 的 DWPreprocessor(人体姿态/全身关键点)生成,主体分割由 ComfyUI-segment-anything-2 的 DownloadAndLoadSAM2Model 和 Sam2Segmentation 完成。如需锁定身份或风格,可用 CLIPVisionLoader + CLIPVisionEncode 提供额外参考条件,LoraLoaderModelOnly 支持注入角色 LoRA。

技术上,流程将 LoadVideo 连接到 GetVideoComponents,随后对背景和主体进行预处理:Sam2Segmentation 构建角色遮罩(由用户“绿色点”引导),DWPreprocessor 提取每帧姿态。PixelPerfectResolution 保证尺寸适配显卡并符合 WanAnimateToVideo 的宽高要求(必须为16的倍数)。ModelSamplingSD3 控制 Wan UNet 的采样器和调度,comfyui-kjnodes 工具优化 FP8-scaled 模型。最终实现动作一致的角色替换或重绘——用单张参考图、LoRA 和提示词即可在保留原动作的同时自定义身份和外观。

API

通过代码使用此工作流

每个 Comfy 工作流都是一个 JSON 图。下面的内容就是此工作流的完整数据,ComfyUI 运行时也是如此——你可以从该 URL 获取、放入版本控制,或在 ComfyUI 中加载并逐节点运行。

video_wan2_2_14B_animate.json
正在获取工作流 JSON…

使用 Comfy SDK 从 TypeScript 或 Python 运行。相同代码可用于 Comfy Cloud 或你自托管的 ComfyUI——只需更改基础 URL。

// Install (beta)
npm i @comfyorg/sdk

// Run "Wan2.2 Animate, 角色动画与替换" (TypeScript)
import { Comfy } from "@comfyorg/sdk";

const client = new Comfy({ apiKey: "comfyui-..." });

// This workflow, exported in API format (see note below)
const wf = await client.workflows.fromFile("video_wan2_2_14B_animate_api.json");

const asset = client.assets.fromFile("input.png");
wf.setInput("10", "image", asset); // LoadImage

wf.setInput("21", "text", "The character is dancing in the room"); // CLIPTextEncode

const job = await client.run(wf);
await job.getOutputs("277")[0].toFile("output.png"); // SaveVideo

SDK 需要 API 格式的工作流:在 ComfyUI 中打开此工作流,使用 文件 → 导出工作流(API)。

Comfy Cloud API 访问需要包含 API 密钥的套餐。

常见问题

常见问题

查看所有工作流
Showing 30 of 30 templates