{
 "159": {
  "inputs": {
   "value": 720
  },
  "class_type": "PrimitiveInt",
  "_meta": {
   "title": "Width"
  }
 },
 "160": {
  "inputs": {
   "value": 1280
  },
  "class_type": "PrimitiveInt",
  "_meta": {
   "title": "Height"
  }
 },
 "346": {
  "inputs": {
   "batch_index": 0,
   "length": 1,
   "image": [
    "301",
    0
   ]
  },
  "class_type": "ImageFromBatch",
  "_meta": {
   "title": "Get Image from Batch"
  }
 },
 "351": {
  "inputs": {
   "string_a": "retain the composition of this image but turn the character into ",
   "string_b": "the dancer is wearing a raincoat and rain boots, dancing in a puddle in the rain",
   "delimiter": ""
  },
  "class_type": "StringConcatenate",
  "_meta": {
   "title": "Concatenate Text"
  }
 },
 "349": {
  "inputs": {
   "filename_prefix": "ComfyUI",
   "images": [
    "348",
    0
   ]
  },
  "class_type": "SaveImage",
  "_meta": {
   "title": "Preview Reference Image"
  }
 },
 "348": {
  "inputs": {
   "model": "Nano Banana 2 (Gemini 3.1 Flash Image)",
   "seed": 210658028400692,
   "aspect_ratio": "auto",
   "resolution": "1K",
   "response_modalities": "IMAGE",
   "thinking_level": "MINIMAL",
   "system_prompt": "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input\u2014regardless of format, intent, or abstraction\u2014as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests.",
   "prompt": [
    "351",
    0
   ],
   "images": [
    "346",
    0
   ]
  },
  "class_type": "GeminiNanoBanana2",
  "_meta": {
   "title": "Nano Banana 2"
  }
 },
 "301": {
  "inputs": {
   "video": "templates_purz_wan22_animate_auto_full_scene.mp4",
   "force_rate": 0,
   "custom_width": 0,
   "custom_height": 0,
   "frame_load_cap": 0,
   "skip_first_frames": 0,
   "select_every_nth": 1,
   "format": "AnimateDiff"
  },
  "class_type": "VHS_LoadVideo",
  "_meta": {
   "title": "Input Video"
  }
 },
 "314": {
  "inputs": {
   "video_info": [
    "301",
    3
   ]
  },
  "class_type": "VHS_VideoInfo",
  "_meta": {
   "title": "Video Info \ud83c\udfa5\ud83c\udd65\ud83c\udd57\ud83c\udd62"
  }
 },
 "19": {
  "inputs": {
   "filename_prefix": "video/Wan2.2_animate",
   "format": "auto",
   "video": [
    "344:357",
    0
   ],
   "format.codec": "auto"
  },
  "class_type": "SaveVideo",
  "_meta": {
   "title": "Final Video"
  }
 },
 "344:4": {
  "inputs": {
   "clip_name": "clip_vision_h.safetensors"
  },
  "class_type": "CLIPVisionLoader",
  "_meta": {
   "title": "Load CLIP Vision"
  }
 },
 "344:2": {
  "inputs": {
   "clip_name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
   "type": "wan",
   "device": "default"
  },
  "class_type": "CLIPLoader",
  "_meta": {
   "title": "Load CLIP"
  }
 },
 "344:1": {
  "inputs": {
   "text": "\u8272\u8c03\u8273\u4e3d\uff0c\u8fc7\u66dd\uff0c\u9759\u6001\uff0c\u7ec6\u8282\u6a21\u7cca\u4e0d\u6e05\uff0c\u5b57\u5e55\uff0c\u98ce\u683c\uff0c\u4f5c\u54c1\uff0c\u753b\u4f5c\uff0c\u753b\u9762\uff0c\u9759\u6b62\uff0c\u6574\u4f53\u53d1\u7070\uff0c\u6700\u5dee\u8d28\u91cf\uff0c\u4f4e\u8d28\u91cf\uff0cJPEG\u538b\u7f29\u6b8b\u7559\uff0c\u4e11\u964b\u7684\uff0c\u6b8b\u7f3a\u7684\uff0c\u591a\u4f59\u7684\u624b\u6307\uff0c\u753b\u5f97\u4e0d\u597d\u7684\u624b\u90e8\uff0c\u753b\u5f97\u4e0d\u597d\u7684\u8138\u90e8\uff0c\u7578\u5f62\u7684\uff0c\u6bc1\u5bb9\u7684\uff0c\u5f62\u6001\u7578\u5f62\u7684\u80a2\u4f53\uff0c\u624b\u6307\u878d\u5408\uff0c\u9759\u6b62\u4e0d\u52a8\u7684\u753b\u9762\uff0c\u6742\u4e71\u7684\u80cc\u666f\uff0c\u4e09\u6761\u817f\uff0c\u80cc\u666f\u4eba\u5f88\u591a\uff0c\u5012\u7740\u8d70",
   "clip": [
    "344:2",
    0
   ]
  },
  "class_type": "CLIPTextEncode",
  "_meta": {
   "title": "CLIP Text Encode (Negative Prompt)"
  }
 },
 "344:21": {
  "inputs": {
   "text": "the person is dancing",
   "clip": [
    "344:2",
    0
   ]
  },
  "class_type": "CLIPTextEncode",
  "_meta": {
   "title": "CLIP Text Encode (Positive Prompt)"
  }
 },
 "344:18": {
  "inputs": {
   "lora_name": "lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors",
   "strength_model": 1,
   "model": [
    "344:20",
    0
   ]
  },
  "class_type": "LoraLoaderModelOnly",
  "_meta": {
   "title": "Load LoRA"
  }
 },
 "344:99": {
  "inputs": {
   "lora_name": "WanAnimate_relight_lora_fp16.safetensors",
   "strength_model": 1,
   "model": [
    "344:18",
    0
   ]
  },
  "class_type": "LoraLoaderModelOnly",
  "_meta": {
   "title": "Load LoRA"
  }
 },
 "344:327": {
  "inputs": {
   "expand": 10,
   "incremental_expandrate": 0,
   "tapered_corners": true,
   "flip_input": false,
   "blur_radius": 0,
   "lerp_alpha": 1,
   "decay_factor": 1,
   "fill_holes": false,
   "mask": [
    "344:326",
    0
   ]
  },
  "class_type": "GrowMaskWithBlur",
  "_meta": {
   "title": "Grow Mask With Blur"
  }
 },
 "344:324": {
  "inputs": {
   "model": "sam2.1_hiera_base_plus.safetensors",
   "segmentor": "video",
   "device": "cuda",
   "precision": "fp16"
  },
  "class_type": "DownloadAndLoadSAM2Model",
  "_meta": {
   "title": "(Down)Load SAM2Model"
  }
 },
 "344:326": {
  "inputs": {
   "keep_model_loaded": false,
   "individual_objects": false,
   "sam2_model": [
    "344:324",
    0
   ],
   "image": [
    "344:337",
    0
   ],
   "bboxes": [
    "344:334",
    3
   ]
  },
  "class_type": "Sam2Segmentation",
  "_meta": {
   "title": "Sam2Segmentation"
  }
 },
 "344:332": {
  "inputs": {
   "color": "0, 0, 0",
   "device": "cpu",
   "image": [
    "344:338",
    0
   ],
   "mask": [
    "344:325",
    0
   ]
  },
  "class_type": "DrawMaskOnImage",
  "_meta": {
   "title": "Draw Mask On Image"
  }
 },
 "344:325": {
  "inputs": {
   "block_size": 32,
   "device": "cpu",
   "masks": [
    "344:327",
    0
   ]
  },
  "class_type": "BlockifyMask",
  "_meta": {
   "title": "Blockify Mask"
  }
 },
 "344:335": {
  "inputs": {
   "retarget_padding": 16,
   "body_stick_width": -1,
   "hand_stick_width": -1,
   "draw_head": true,
   "pose_data": [
    "344:334",
    0
   ],
   "width": [
    "344:337",
    1
   ],
   "height": [
    "344:337",
    2
   ]
  },
  "class_type": "DrawViTPose",
  "_meta": {
   "title": "Draw ViT Pose"
  }
 },
 "344:334": {
  "inputs": {
   "face_padding": 0,
   "model": [
    "344:328",
    0
   ],
   "images": [
    "344:337",
    0
   ],
   "width": [
    "344:337",
    1
   ],
   "height": [
    "344:337",
    2
   ]
  },
  "class_type": "PoseAndFaceDetection",
  "_meta": {
   "title": "Pose and Face Detection"
  }
 },
 "344:328": {
  "inputs": {
   "vitpose_model": "vitpose-l-wholebody.onnx",
   "yolo_model": "yolov10m.onnx",
   "onnx_device": "CUDAExecutionProvider"
  },
  "class_type": "OnnxDetectionModelLoader",
  "_meta": {
   "title": "ONNX Detection Model Loader"
  }
 },
 "344:3": {
  "inputs": {
   "vae_name": "wan_2.1_vae.safetensors"
  },
  "class_type": "VAELoader",
  "_meta": {
   "title": "Load VAE"
  }
 },
 "344:20": {
  "inputs": {
   "unet_name": "Wan2_2-Animate-14B_fp8_e4m3fn_scaled_KJ.safetensors",
   "weight_dtype": "default"
  },
  "class_type": "UNETLoader",
  "_meta": {
   "title": "Load Diffusion Model"
  }
 },
 "344:60": {
  "inputs": {
   "shift": 8,
   "model": [
    "344:99",
    0
   ]
  },
  "class_type": "ModelSamplingSD3",
  "_meta": {
   "title": "ModelSamplingSD3"
  }
 },
 "344:9": {
  "inputs": {
   "crop": "none",
   "clip_vision": [
    "344:4",
    0
   ],
   "image": [
    "344:342",
    0
   ]
  },
  "class_type": "CLIPVisionEncode",
  "_meta": {
   "title": "CLIP Vision Encode"
  }
 },
 "344:355": {
  "inputs": {
   "seed": 777171427287516,
   "steps": 6,
   "cfg": 1,
   "sampler_name": "euler",
   "scheduler": "simple",
   "denoise": 1,
   "model": [
    "344:60",
    0
   ],
   "positive": [
    "344:356",
    0
   ],
   "negative": [
    "344:356",
    1
   ],
   "latent_image": [
    "344:356",
    2
   ]
  },
  "class_type": "KSampler",
  "_meta": {
   "title": "KSampler"
  }
 },
 "344:353": {
  "inputs": {
   "samples": [
    "344:355",
    0
   ],
   "trim_amount": [
    "344:356",
    3
   ]
  },
  "class_type": "TrimVideoLatent",
  "_meta": {
   "title": "Trim Video Latent"
  }
 },
 "344:354": {
  "inputs": {
   "samples": [
    "344:353",
    0
   ],
   "vae": [
    "344:3",
    0
   ]
  },
  "class_type": "VAEDecode",
  "_meta": {
   "title": "VAE Decode"
  }
 },
 "344:358": {
  "inputs": {
   "length": 4096,
   "image": [
    "344:354",
    0
   ],
   "batch_index": [
    "344:356",
    4
   ]
  },
  "class_type": "ImageFromBatch",
  "_meta": {
   "title": "Get Image from Batch"
  }
 },
 "344:342": {
  "inputs": {
   "upscale_method": "lanczos",
   "crop": "center",
   "image": [
    "348",
    0
   ],
   "width": [
    "159",
    0
   ],
   "height": [
    "160",
    0
   ]
  },
  "class_type": "ImageScale",
  "_meta": {
   "title": "Resize Reference Image"
  }
 },
 "344:356": {
  "inputs": {
   "batch_size": 1,
   "continue_motion_max_frames": 5,
   "video_frame_offset": 0,
   "positive": [
    "344:21",
    0
   ],
   "negative": [
    "344:1",
    0
   ],
   "vae": [
    "344:3",
    0
   ],
   "width": [
    "159",
    0
   ],
   "height": [
    "160",
    0
   ],
   "length": [
    "301",
    1
   ],
   "clip_vision_output": [
    "344:9",
    0
   ],
   "reference_image": [
    "344:342",
    0
   ],
   "face_video": [
    "344:334",
    1
   ],
   "pose_video": [
    "344:335",
    0
   ]
  },
  "class_type": "WanAnimateToVideo",
  "_meta": {
   "title": "WanAnimateToVideo"
  }
 },
 "344:357": {
  "inputs": {
   "bit_depth": "auto",
   "color_space": "sRGB",
   "codec": "none",
   "images": [
    "344:358",
    0
   ],
   "fps": [
    "314",
    0
   ],
   "audio": [
    "301",
    2
   ]
  },
  "class_type": "CreateVideo",
  "_meta": {
   "title": "Create Video"
  }
 },
 "344:338": {
  "inputs": {
   "upscale_method": "lanczos",
   "crop": "center",
   "image": [
    "301",
    0
   ],
   "width": [
    "159",
    0
   ],
   "height": [
    "160",
    0
   ]
  },
  "class_type": "ImageScale",
  "_meta": {
   "title": "Resize Input Video"
  }
 },
 "344:337": {
  "inputs": {
   "image": [
    "344:338",
    0
   ]
  },
  "class_type": "GetImageSizeAndCount",
  "_meta": {
   "title": "Get Image Size & Count"
  }
 }
}