{ "id": "wan22-14b-motion-transfer-blockswap", "revision": 0, "last_node_id": 21, "last_link_id": 31, "nodes": [ { "id": 1, "type": "UNETLoader", "pos": [0, 0], "size": [350, 82], "flags": {}, "order": 0, "mode": 0, "inputs": [ {"label": "unet_name", "localized_name": "unet_name", "name": "unet_name", "type": "COMBO", "widget": {"name": "unet_name"}, "link": null}, {"label": "weight_dtype", "localized_name": "weight_dtype", "name": "weight_dtype", "type": "COMBO", "widget": {"name": "weight_dtype"}, "link": null} ], "outputs": [ {"name": "MODEL", "type": "MODEL", "links": [13], "slot_index": 0, "label": "MODEL", "localized_name": "MODEL"} ], "title": "Wan Fun Control HIGH Noise", "properties": {"Node name for S&R": "UNETLoader"}, "widgets_values": ["wan2.2_fun_control_high_noise_14B_fp8_scaled.safetensors", "default"] }, { "id": 2, "type": "UNETLoader", "pos": [0, 130], "size": [350, 82], "flags": {}, "order": 1, "mode": 0, "inputs": [ {"label": "unet_name", "localized_name": "unet_name", "name": "unet_name", "type": "COMBO", "widget": {"name": "unet_name"}, "link": null}, {"label": "weight_dtype", "localized_name": "weight_dtype", "name": "weight_dtype", "type": "COMBO", "widget": {"name": "weight_dtype"}, "link": null} ], "outputs": [ {"name": "MODEL", "type": "MODEL", "links": [17], "slot_index": 0, "label": "MODEL", "localized_name": "MODEL"} ], "title": "Wan Fun Control LOW Noise", "properties": {"Node name for S&R": "UNETLoader"}, "widgets_values": ["wan2.2_fun_control_low_noise_14B_fp8_scaled.safetensors", "default"] }, { "id": 3, "type": "wanBlockSwap", "pos": [400, 0], "size": [225, 72], "flags": {}, "order": 8, "mode": 0, "inputs": [ {"label": "model", "localized_name": "model", "name": "model", "type": "MODEL", "link": 13} ], "outputs": [ {"label": "MODEL", "localized_name": "MODEL", "name": "MODEL", "type": "MODEL", "links": [14]} ], "title": "wanBlockSwap (High)", "properties": {"cnr_id": "wanblockswap", "Node name for S&R": "wanBlockSwap"} }, { "id": 4, "type": "wanBlockSwap", "pos": [400, 120], "size": [225, 72], "flags": {}, "order": 9, "mode": 0, "inputs": [ {"label": "model", "localized_name": "model", "name": "model", "type": "MODEL", "link": 17} ], "outputs": [ {"label": "MODEL", "localized_name": "MODEL", "name": "MODEL", "type": "MODEL", "links": [18]} ], "title": "wanBlockSwap (Low)", "properties": {"cnr_id": "wanblockswap", "Node name for S&R": "wanBlockSwap"} }, { "id": 5, "type": "ModelSamplingSD3", "pos": [680, 0], "size": [225, 80], "flags": {}, "order": 10, "mode": 0, "inputs": [ {"label": "model", "localized_name": "model", "name": "model", "type": "MODEL", "link": 14}, {"label": "shift", "localized_name": "shift", "name": "shift", "type": "FLOAT", "widget": {"name": "shift"}, "link": null} ], "outputs": [ {"label": "MODEL", "localized_name": "MODEL", "name": "MODEL", "type": "MODEL", "links": [15]} ], "title": "ModelSamplingSD3 (High, shift=8)", "properties": {"Node name for S&R": "ModelSamplingSD3"}, "widgets_values": [8] }, { "id": 6, "type": "ModelSamplingSD3", "pos": [680, 130], "size": [225, 80], "flags": {}, "order": 11, "mode": 0, "inputs": [ {"label": "model", "localized_name": "model", "name": "model", "type": "MODEL", "link": 18}, {"label": "shift", "localized_name": "shift", "name": "shift", "type": "FLOAT", "widget": {"name": "shift"}, "link": null} ], "outputs": [ {"label": "MODEL", "localized_name": "MODEL", "name": "MODEL", "type": "MODEL", "links": [19]} ], "title": "ModelSamplingSD3 (Low, shift=8)", "properties": {"Node name for S&R": "ModelSamplingSD3"}, "widgets_values": [8] }, { "id": 7, "type": "CLIPLoader", "pos": [0, 260], "size": [290, 120], "flags": {}, "order": 2, "mode": 0, "inputs": [ {"label": "clip_name", "localized_name": "clip_name", "name": "clip_name", "type": "COMBO", "widget": {"name": "clip_name"}, "link": null}, {"label": "type", "localized_name": "type", "name": "type", "type": "COMBO", "widget": {"name": "type"}, "link": null}, {"label": "device", "localized_name": "device", "name": "device", "type": "COMBO", "widget": {"name": "device"}, "link": null} ], "outputs": [ {"name": "CLIP", "type": "CLIP", "links": [1, 2], "slot_index": 0, "label": "CLIP", "localized_name": "CLIP"} ], "title": "Load CLIP (Wan)", "properties": {"Node name for S&R": "CLIPLoader"}, "widgets_values": ["umt5_xxl_fp8_e4m3fn_scaled.safetensors", "wan", "default"] }, { "id": 8, "type": "VAELoader", "pos": [0, 430], "size": [290, 82], "flags": {}, "order": 3, "mode": 0, "inputs": [ {"label": "vae_name", "localized_name": "vae_name", "name": "vae_name", "type": "COMBO", "widget": {"name": "vae_name"}, "link": null} ], "outputs": [ {"name": "VAE", "type": "VAE", "links": [5, 27], "slot_index": 0, "label": "VAE", "localized_name": "VAE"} ], "title": "Load VAE (Wan)", "properties": {"Node name for S&R": "VAELoader"}, "widgets_values": ["wan_2.1_vae.safetensors"] }, { "id": 9, "type": "LoadImage", "pos": [0, 570], "size": [280, 310], "flags": {}, "order": 4, "mode": 0, "inputs": [ {"label": "image", "localized_name": "image", "name": "image", "type": "COMBO", "widget": {"name": "image"}, "link": null}, {"label": "upload", "localized_name": "upload", "name": "upload", "type": "IMAGEUPLOAD", "widget": {"name": "upload"}, "link": null} ], "outputs": [ {"name": "IMAGE", "type": "IMAGE", "links": [6], "slot_index": 0, "label": "IMAGE", "localized_name": "IMAGE"}, {"name": "MASK", "type": "MASK", "links": null, "slot_index": 1, "label": "MASK", "localized_name": "MASK"} ], "title": "上传参考图片 (人物外观)", "properties": {"Node name for S&R": "LoadImage"}, "widgets_values": ["ref_image.png"] }, { "id": 10, "type": "LoadVideo", "pos": [0, 930], "size": [280, 120], "flags": {}, "order": 5, "mode": 0, "inputs": [ {"label": "file", "localized_name": "file", "name": "file", "type": "COMBO", "widget": {"name": "file"}, "link": null} ], "outputs": [ {"name": "VIDEO", "type": "VIDEO", "links": [8], "slot_index": 0, "label": "VIDEO", "localized_name": "VIDEO"} ], "title": "上传动作视频 (动作来源)", "properties": {"Node name for S&R": "LoadVideo"}, "widgets_values": ["motion_source.mp4"] }, { "id": 11, "type": "GetVideoComponents", "pos": [350, 930], "size": [225, 100], "flags": {}, "order": 12, "mode": 0, "inputs": [ {"localized_name": "video", "name": "video", "type": "VIDEO", "link": 8} ], "outputs": [ {"localized_name": "images", "name": "images", "type": "IMAGE", "links": [9]}, {"localized_name": "audio", "name": "audio", "type": "AUDIO", "links": [30]}, {"localized_name": "fps", "name": "fps", "type": "FLOAT", "links": null} ], "title": "提取视频帧 + 音频", "properties": {"Node name for S&R": "GetVideoComponents"} }, { "id": 12, "type": "Canny", "pos": [630, 930], "size": [240, 80], "flags": {}, "order": 15, "mode": 0, "inputs": [ {"name": "image", "type": "IMAGE", "link": 9, "label": "image", "localized_name": "image"}, {"label": "low_threshold", "localized_name": "low_threshold", "name": "low_threshold", "type": "FLOAT", "widget": {"name": "low_threshold"}, "link": null}, {"label": "high_threshold", "localized_name": "high_threshold", "name": "high_threshold", "type": "FLOAT", "widget": {"name": "high_threshold"}, "link": null} ], "outputs": [ {"name": "IMAGE", "type": "IMAGE", "links": [10], "slot_index": 0, "label": "IMAGE", "localized_name": "IMAGE"} ], "title": "Canny 边缘检测 (预处理动作视频)", "properties": {"Node name for S&R": "Canny"}, "widgets_values": [0.1, 0.6] }, { "id": 13, "type": "CLIPTextEncode", "pos": [400, 260], "size": [280, 120], "flags": {}, "order": 6, "mode": 0, "inputs": [ {"name": "clip", "type": "CLIP", "link": 1, "label": "clip", "localized_name": "clip"}, {"label": "text", "localized_name": "text", "name": "text", "type": "STRING", "widget": {"name": "text"}, "link": null} ], "outputs": [ {"name": "CONDITIONING", "type": "CONDITIONING", "links": [3], "slot_index": 0, "label": "CONDITIONING", "localized_name": "CONDITIONING"} ], "title": "正向提示词", "properties": {"Node name for S&R": "CLIPTextEncode"}, "widgets_values": ["a person performing the motion, smooth movement, high quality, cinematic lighting"], "color": "#232", "bgcolor": "#353" }, { "id": 14, "type": "CLIPTextEncode", "pos": [400, 430], "size": [280, 120], "flags": {}, "order": 7, "mode": 0, "inputs": [ {"name": "clip", "type": "CLIP", "link": 2, "label": "clip", "localized_name": "clip"}, {"label": "text", "localized_name": "text", "name": "text", "type": "STRING", "widget": {"name": "text"}, "link": null} ], "outputs": [ {"name": "CONDITIONING", "type": "CONDITIONING", "links": [4], "slot_index": 0, "label": "CONDITIONING", "localized_name": "CONDITIONING"} ], "title": "反向提示词", "properties": {"Node name for S&R": "CLIPTextEncode"}, "widgets_values": ["worst quality, blurry, distorted, static, jittery, watermark, low resolution, deformed limbs"], "color": "#322", "bgcolor": "#533" }, { "id": 15, "type": "Wan22FunControlToVideo", "pos": [750, 260], "size": [260, 340], "flags": {}, "order": 16, "mode": 0, "inputs": [ {"name": "positive", "type": "CONDITIONING", "link": 3, "label": "positive", "localized_name": "positive"}, {"name": "negative", "type": "CONDITIONING", "link": 4, "label": "negative", "localized_name": "negative"}, {"name": "vae", "type": "VAE", "link": 5, "label": "vae", "localized_name": "vae"}, {"name": "ref_image", "type": "IMAGE", "link": 6, "shape": 7, "label": "ref_image", "localized_name": "ref_image"}, {"name": "control_video", "type": "IMAGE", "link": 10, "shape": 7, "label": "control_video", "localized_name": "control_video"}, {"label": "width", "localized_name": "width", "name": "width", "type": "INT", "widget": {"name": "width"}, "link": null}, {"label": "height", "localized_name": "height", "name": "height", "type": "INT", "widget": {"name": "height"}, "link": null}, {"label": "length", "localized_name": "length", "name": "length", "type": "INT", "widget": {"name": "length"}, "link": null}, {"label": "batch_size", "localized_name": "batch_size", "name": "batch_size", "type": "INT", "widget": {"name": "batch_size"}, "link": null} ], "outputs": [ {"name": "positive", "type": "CONDITIONING", "links": [20, 23], "slot_index": 0, "label": "positive", "localized_name": "positive"}, {"name": "negative", "type": "CONDITIONING", "links": [21, 24], "slot_index": 1, "label": "negative", "localized_name": "negative"}, {"name": "latent", "type": "LATENT", "links": [22], "slot_index": 2, "label": "latent", "localized_name": "latent"} ], "title": "Wan 2.2 动作迁移", "properties": {"Node name for S&R": "Wan22FunControlToVideo"}, "widgets_values": [480, 832, 193, 1] }, { "id": 16, "type": "KSamplerAdvanced", "pos": [1100, 0], "size": [300, 340], "flags": {}, "order": 17, "mode": 0, "inputs": [ {"label": "model", "localized_name": "model", "name": "model", "type": "MODEL", "link": 15}, {"label": "positive", "localized_name": "positive", "name": "positive", "type": "CONDITIONING", "link": 20}, {"label": "negative", "localized_name": "negative", "name": "negative", "type": "CONDITIONING", "link": 21}, {"label": "latent_image", "localized_name": "latent_image", "name": "latent_image", "type": "LATENT", "link": 22}, {"label": "add_noise", "localized_name": "add_noise", "name": "add_noise", "type": "COMBO", "widget": {"name": "add_noise"}, "link": null}, {"label": "noise_seed", "localized_name": "noise_seed", "name": "noise_seed", "type": "INT", "widget": {"name": "noise_seed"}, "link": null}, {"label": "steps", "localized_name": "steps", "name": "steps", "type": "INT", "widget": {"name": "steps"}, "link": null}, {"label": "cfg", "localized_name": "cfg", "name": "cfg", "type": "FLOAT", "widget": {"name": "cfg"}, "link": null}, {"label": "sampler_name", "localized_name": "sampler_name", "name": "sampler_name", "type": "COMBO", "widget": {"name": "sampler_name"}, "link": null}, {"label": "scheduler", "localized_name": "scheduler", "name": "scheduler", "type": "COMBO", "widget": {"name": "scheduler"}, "link": null}, {"label": "start_at_step", "localized_name": "start_at_step", "name": "start_at_step", "type": "INT", "widget": {"name": "start_at_step"}, "link": null}, {"label": "end_at_step", "localized_name": "end_at_step", "name": "end_at_step", "type": "INT", "widget": {"name": "end_at_step"}, "link": null}, {"label": "return_with_leftover_noise", "localized_name": "return_with_leftover_noise", "name": "return_with_leftover_noise", "type": "COMBO", "widget": {"name": "return_with_leftover_noise"}, "link": null} ], "outputs": [ {"label": "LATENT", "localized_name": "LATENT", "name": "LATENT", "type": "LATENT", "links": [25]} ], "title": "Stage 1: HIGH Noise (step 0→10)", "properties": {"Node name for S&R": "KSamplerAdvanced"}, "widgets_values": ["enable", 0, "randomize", 20, 3.5, "euler", "simple", 0, 10, "enable"] }, { "id": 17, "type": "KSamplerAdvanced", "pos": [1450, 0], "size": [310, 350], "flags": {}, "order": 18, "mode": 0, "inputs": [ {"label": "model", "localized_name": "model", "name": "model", "type": "MODEL", "link": 19}, {"label": "positive", "localized_name": "positive", "name": "positive", "type": "CONDITIONING", "link": 23}, {"label": "negative", "localized_name": "negative", "name": "negative", "type": "CONDITIONING", "link": 24}, {"label": "latent_image", "localized_name": "latent_image", "name": "latent_image", "type": "LATENT", "link": 25}, {"label": "add_noise", "localized_name": "add_noise", "name": "add_noise", "type": "COMBO", "widget": {"name": "add_noise"}, "link": null}, {"label": "noise_seed", "localized_name": "noise_seed", "name": "noise_seed", "type": "INT", "widget": {"name": "noise_seed"}, "link": null}, {"label": "steps", "localized_name": "steps", "name": "steps", "type": "INT", "widget": {"name": "steps"}, "link": null}, {"label": "cfg", "localized_name": "cfg", "name": "cfg", "type": "FLOAT", "widget": {"name": "cfg"}, "link": null}, {"label": "sampler_name", "localized_name": "sampler_name", "name": "sampler_name", "type": "COMBO", "widget": {"name": "sampler_name"}, "link": null}, {"label": "scheduler", "localized_name": "scheduler", "name": "scheduler", "type": "COMBO", "widget": {"name": "scheduler"}, "link": null}, {"label": "start_at_step", "localized_name": "start_at_step", "name": "start_at_step", "type": "INT", "widget": {"name": "start_at_step"}, "link": null}, {"label": "end_at_step", "localized_name": "end_at_step", "name": "end_at_step", "type": "INT", "widget": {"name": "end_at_step"}, "link": null}, {"label": "return_with_leftover_noise", "localized_name": "return_with_leftover_noise", "name": "return_with_leftover_noise", "type": "COMBO", "widget": {"name": "return_with_leftover_noise"}, "link": null} ], "outputs": [ {"label": "LATENT", "localized_name": "LATENT", "name": "LATENT", "type": "LATENT", "links": [26]} ], "title": "Stage 2: LOW Noise (step 10→end)", "properties": {"Node name for S&R": "KSamplerAdvanced"}, "widgets_values": ["disable", 0, "fixed", 20, 3.5, "euler", "simple", 10, 10000, "disable"] }, { "id": 18, "type": "VAEDecode", "pos": [1820, 0], "size": [265, 72], "flags": {}, "order": 19, "mode": 0, "inputs": [ {"name": "samples", "type": "LATENT", "link": 26, "label": "samples", "localized_name": "samples"}, {"name": "vae", "type": "VAE", "link": 27, "label": "vae", "localized_name": "vae"} ], "outputs": [ {"name": "IMAGE", "type": "IMAGE", "links": [28], "slot_index": 0, "label": "IMAGE", "localized_name": "IMAGE"} ], "properties": {"Node name for S&R": "VAEDecode"} }, { "id": 19, "type": "CreateVideo", "pos": [1820, 130], "size": [268, 104], "flags": {}, "order": 20, "mode": 0, "inputs": [ {"localized_name": "images", "name": "images", "type": "IMAGE", "link": 28}, {"localized_name": "audio", "name": "audio", "shape": 7, "type": "AUDIO", "link": 30}, {"localized_name": "fps", "name": "fps", "type": "FLOAT", "widget": {"name": "fps"}, "link": null} ], "outputs": [ {"localized_name": "VIDEO", "name": "VIDEO", "type": "VIDEO", "links": [31]} ], "title": "Create Video (含原视频音频)", "properties": {"Node name for S&R": "CreateVideo"}, "widgets_values": [16] }, { "id": 20, "type": "SaveVideo", "pos": [1820, 290], "size": [320, 120], "flags": {}, "order": 21, "mode": 0, "inputs": [ {"localized_name": "video", "name": "video", "type": "VIDEO", "link": 31}, {"localized_name": "filename_prefix", "name": "filename_prefix", "type": "STRING", "widget": {"name": "filename_prefix"}, "link": null}, {"localized_name": "format", "name": "format", "type": "COMBO", "widget": {"name": "format"}, "link": null}, {"localized_name": "codec", "name": "codec", "type": "COMBO", "widget": {"name": "codec"}, "link": null} ], "outputs": [], "title": "Save Video (MP4)", "properties": {"Node name for S&R": "SaveVideo"}, "widgets_values": ["video/ComfyUI_MotionTransfer", "mp4", "h264"] } ], "links": [ [1, 7, 0, 13, 0, "CLIP"], [2, 7, 0, 14, 0, "CLIP"], [3, 13, 0, 15, 0, "CONDITIONING"], [4, 14, 0, 15, 1, "CONDITIONING"], [5, 8, 0, 15, 2, "VAE"], [6, 9, 0, 15, 3, "IMAGE"], [8, 10, 0, 11, 0, "VIDEO"], [9, 11, 0, 12, 0, "IMAGE"], [10, 12, 0, 15, 4, "IMAGE"], [13, 1, 0, 3, 0, "MODEL"], [14, 3, 0, 5, 0, "MODEL"], [15, 5, 0, 16, 0, "MODEL"], [17, 2, 0, 4, 0, "MODEL"], [18, 4, 0, 6, 0, "MODEL"], [19, 6, 0, 17, 0, "MODEL"], [20, 15, 0, 16, 1, "CONDITIONING"], [21, 15, 1, 16, 2, "CONDITIONING"], [22, 15, 2, 16, 3, "LATENT"], [23, 15, 0, 17, 1, "CONDITIONING"], [24, 15, 1, 17, 2, "CONDITIONING"], [25, 16, 0, 17, 3, "LATENT"], [26, 17, 0, 18, 0, "LATENT"], [27, 8, 0, 18, 1, "VAE"], [28, 18, 0, 19, 0, "IMAGE"], [30, 11, 1, 19, 1, "AUDIO"], [31, 19, 0, 20, 0, "VIDEO"] ], "groups": [ { "title": "双模型 + wanBlockSwap + ModelSamplingSD3(shift=8)", "bounding": [-30, -50, 960, 260], "color": "#3f789e", "font_size": 24, "flags": {} }, { "title": "用户输入 + Canny预处理", "bounding": [-30, 520, 950, 540], "color": "#8A548B", "font_size": 24, "flags": {} }, { "title": "双模型两阶段采样 + 输出", "bounding": [1060, -50, 1120, 510], "color": "#2E7D32", "font_size": 24, "flags": {} } ], "config": {}, "extra": {}, "version": 0.4, "models": [ { "name": "wan2.2_fun_control_high_noise_14B_fp8_scaled.safetensors", "url": "https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/diffusion_models/wan2.2_fun_control_high_noise_14B_fp8_scaled.safetensors", "directory": "diffusion_models" }, { "name": "wan2.2_fun_control_low_noise_14B_fp8_scaled.safetensors", "url": "https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/diffusion_models/wan2.2_fun_control_low_noise_14B_fp8_scaled.safetensors", "directory": "diffusion_models" }, { "name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors", "url": "https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors", "directory": "text_encoders" }, { "name": "wan_2.1_vae.safetensors", "url": "https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/vae/wan_2.1_vae.safetensors", "directory": "vae" } ] }