comfyui-mcp 0.21.0 → 0.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "comfyui-mcp",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.1",
|
|
4
4
|
"mcpName": "io.github.artokun/comfyui-mcp",
|
|
5
5
|
"description": "MCP server + autonomous AI agent for ComfyUI — drive your live graph in natural language from a sidebar agent on Claude OR ChatGPT (your own subscription, no API key). Generate images, video & audio, author and run workflows, manage models and custom nodes. Also a Claude Code plugin with skills, slash commands, and installer packs.",
|
|
6
6
|
"homepage": "https://comfyui-mcp.artokun.io/docs",
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
# ===== Auto-generated by scripts/gen-pack-installers.mjs — do not edit =====
|
|
4
|
+
# Pack: WAN Animate 2.2 — OFM hub (Uni3C + face-swap) (Linux / RunPod)
|
|
5
|
+
# Run from your ComfyUI root (the folder containing custom_nodes/ and models/).
|
|
6
|
+
[ -d custom_nodes ] || { echo "[ERROR] run from your ComfyUI root (custom_nodes/ not found)"; exit 1; }
|
|
7
|
+
# Resolve the ComfyUI python: its venv first, then portable embed, then \$PYTHON/python3.
|
|
8
|
+
# Installing requirements into the wrong interpreter is why nodes silently fail to load.
|
|
9
|
+
if [ -n "${PYTHON:-}" ]; then PY="$PYTHON";
|
|
10
|
+
elif [ -x ".venv/bin/python" ]; then PY=".venv/bin/python";
|
|
11
|
+
elif [ -x "venv/bin/python" ]; then PY="venv/bin/python";
|
|
12
|
+
elif [ -x "../python_embeded/python" ]; then PY="../python_embeded/python";
|
|
13
|
+
else PY="python3"; fi
|
|
14
|
+
echo "using python: $PY"
|
|
15
|
+
|
|
16
|
+
clone() { # folder url
|
|
17
|
+
if [ ! -d "custom_nodes/$1" ]; then
|
|
18
|
+
echo " cloning $1"; git clone --depth 1 "$2" "custom_nodes/$1"
|
|
19
|
+
if [ -f "custom_nodes/$1/requirements.txt" ]; then echo " installing $1 requirements.txt"; "$PY" -m pip install -r "custom_nodes/$1/requirements.txt"; fi
|
|
20
|
+
else echo " $1 present - skip"; fi
|
|
21
|
+
}
|
|
22
|
+
grab() { # relpath url
|
|
23
|
+
mkdir -p "$(dirname "$1")"
|
|
24
|
+
if [ ! -f "$1" ]; then echo " downloading $(basename "$1")"; curl -L -o "$1" "$2"; else echo " $(basename "$1") present - skip"; fi
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
echo "-------- custom nodes --------"
|
|
28
|
+
clone "ComfyUI-Manager" "https://github.com/ltdrdata/ComfyUI-Manager.git"
|
|
29
|
+
clone "ComfyUI-WanVideoWrapper" "https://github.com/kijai/ComfyUI-WanVideoWrapper"
|
|
30
|
+
clone "ComfyUI-KJNodes" "https://github.com/kijai/ComfyUI-KJNodes"
|
|
31
|
+
clone "ComfyUI-WanAnimatePreprocess" "https://github.com/kijai/ComfyUI-WanAnimatePreprocess"
|
|
32
|
+
clone "ComfyUI-segment-anything-2" "https://github.com/kijai/ComfyUI-segment-anything-2"
|
|
33
|
+
clone "ComfyUI-VideoHelperSuite" "https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite"
|
|
34
|
+
clone "ComfyMath" "https://github.com/evanspearman/ComfyMath"
|
|
35
|
+
clone "CRT-Nodes" "https://github.com/plugcrypt/CRT-Nodes"
|
|
36
|
+
|
|
37
|
+
echo "-------- models --------"
|
|
38
|
+
grab "models/diffusion_models/WanModel.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy_fp8_scaled/resolve/main/Wan22Animate/Wan2_2-Animate-14B_fp8_scaled_e4m3fn_KJ_v2.safetensors"
|
|
39
|
+
grab "models/vae/vae.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors"
|
|
40
|
+
grab "models/clip_vision/klip_vision.safetensors" "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors"
|
|
41
|
+
grab "models/text_encoders/text_enc.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/umt5-xxl-enc-fp8_e4m3fn.safetensors"
|
|
42
|
+
grab "models/controlnet/Wan21_Uni3C_controlnet_fp16.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan21_Uni3C_controlnet_fp16.safetensors"
|
|
43
|
+
grab "models/loras/light.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors"
|
|
44
|
+
grab "models/loras/wan.reworked.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/LoRAs/Wan22_relight/WanAnimate_relight_lora_fp16.safetensors"
|
|
45
|
+
grab "models/loras/WanPusa.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Pusa/Wan21_PusaV1_LoRA_14B_rank512_bf16.safetensors"
|
|
46
|
+
grab "models/loras/WanFun.reworked.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/LoRAs/Wan22_FunReward/Wan2.2-Fun-A14B-InP-LOW-MPS_resized_dynamic_avg_rank_22_bf16.safetensors"
|
|
47
|
+
grab "models/detection/yolov10m.onnx" "https://huggingface.co/Wan-AI/Wan2.2-Animate-14B/resolve/main/process_checkpoint/det/yolov10m.onnx"
|
|
48
|
+
grab "models/detection/vitpose_h_wholebody_model.onnx" "https://huggingface.co/Kijai/vitpose_comfy/resolve/main/onnx/vitpose_h_wholebody_model.onnx"
|
|
49
|
+
grab "models/detection/vitpose_h_wholebody_data.bin" "https://huggingface.co/Kijai/vitpose_comfy/resolve/main/onnx/vitpose_h_wholebody_data.bin"
|
|
50
|
+
|
|
51
|
+
echo "DONE. Restart ComfyUI, then load workflow.json."
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
@echo off
|
|
2
|
+
setlocal EnableExtensions EnableDelayedExpansion
|
|
3
|
+
chcp 65001 >nul
|
|
4
|
+
rem ===== Auto-generated by scripts/gen-pack-installers.mjs — do not edit =====
|
|
5
|
+
rem Pack: WAN Animate 2.2 — OFM hub (Uni3C + face-swap)
|
|
6
|
+
rem Run from your ComfyUI root (the folder containing custom_nodes\ and models\).
|
|
7
|
+
if not exist "custom_nodes" ( echo [ERROR] Run from your ComfyUI root ^(custom_nodes\ not found^). & pause & exit /b 1 )
|
|
8
|
+
where git >nul 2>&1 || ( echo [ERROR] git not found in PATH. & pause & exit /b 1 )
|
|
9
|
+
where curl >nul 2>&1 || ( echo [ERROR] curl not found in PATH. & pause & exit /b 1 )
|
|
10
|
+
rem Resolve the ComfyUI python: venv first, then portable embed, then PATH python.
|
|
11
|
+
set "PY=%CD%\.venv\Scripts\python.exe"
|
|
12
|
+
if not exist "%PY%" set "PY=%CD%\venv\Scripts\python.exe"
|
|
13
|
+
if not exist "%PY%" set "PY=%CD%\..\python_embeded\python.exe"
|
|
14
|
+
if not exist "%PY%" set "PY=python"
|
|
15
|
+
echo using python: %PY%
|
|
16
|
+
|
|
17
|
+
echo -------- custom nodes --------
|
|
18
|
+
call :clone "ComfyUI-Manager" "https://github.com/ltdrdata/ComfyUI-Manager.git"
|
|
19
|
+
call :clone "ComfyUI-WanVideoWrapper" "https://github.com/kijai/ComfyUI-WanVideoWrapper"
|
|
20
|
+
call :clone "ComfyUI-KJNodes" "https://github.com/kijai/ComfyUI-KJNodes"
|
|
21
|
+
call :clone "ComfyUI-WanAnimatePreprocess" "https://github.com/kijai/ComfyUI-WanAnimatePreprocess"
|
|
22
|
+
call :clone "ComfyUI-segment-anything-2" "https://github.com/kijai/ComfyUI-segment-anything-2"
|
|
23
|
+
call :clone "ComfyUI-VideoHelperSuite" "https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite"
|
|
24
|
+
call :clone "ComfyMath" "https://github.com/evanspearman/ComfyMath"
|
|
25
|
+
call :clone "CRT-Nodes" "https://github.com/plugcrypt/CRT-Nodes"
|
|
26
|
+
|
|
27
|
+
echo -------- models --------
|
|
28
|
+
call :grab "models\diffusion_models\WanModel.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy_fp8_scaled/resolve/main/Wan22Animate/Wan2_2-Animate-14B_fp8_scaled_e4m3fn_KJ_v2.safetensors"
|
|
29
|
+
call :grab "models\vae\vae.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors"
|
|
30
|
+
call :grab "models\clip_vision\klip_vision.safetensors" "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors"
|
|
31
|
+
call :grab "models\text_encoders\text_enc.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/umt5-xxl-enc-fp8_e4m3fn.safetensors"
|
|
32
|
+
call :grab "models\controlnet\Wan21_Uni3C_controlnet_fp16.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan21_Uni3C_controlnet_fp16.safetensors"
|
|
33
|
+
call :grab "models\loras\light.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors"
|
|
34
|
+
call :grab "models\loras\wan.reworked.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/LoRAs/Wan22_relight/WanAnimate_relight_lora_fp16.safetensors"
|
|
35
|
+
call :grab "models\loras\WanPusa.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Pusa/Wan21_PusaV1_LoRA_14B_rank512_bf16.safetensors"
|
|
36
|
+
call :grab "models\loras\WanFun.reworked.safetensors" "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/LoRAs/Wan22_FunReward/Wan2.2-Fun-A14B-InP-LOW-MPS_resized_dynamic_avg_rank_22_bf16.safetensors"
|
|
37
|
+
call :grab "models\detection\yolov10m.onnx" "https://huggingface.co/Wan-AI/Wan2.2-Animate-14B/resolve/main/process_checkpoint/det/yolov10m.onnx"
|
|
38
|
+
call :grab "models\detection\vitpose_h_wholebody_model.onnx" "https://huggingface.co/Kijai/vitpose_comfy/resolve/main/onnx/vitpose_h_wholebody_model.onnx"
|
|
39
|
+
call :grab "models\detection\vitpose_h_wholebody_data.bin" "https://huggingface.co/Kijai/vitpose_comfy/resolve/main/onnx/vitpose_h_wholebody_data.bin"
|
|
40
|
+
|
|
41
|
+
echo DONE. Restart ComfyUI, then load workflow.json.
|
|
42
|
+
pause
|
|
43
|
+
exit /b
|
|
44
|
+
|
|
45
|
+
:clone
|
|
46
|
+
if not exist "custom_nodes\%~1" (
|
|
47
|
+
echo cloning %~1
|
|
48
|
+
git clone --depth 1 "%~2" "custom_nodes\%~1"
|
|
49
|
+
if exist "custom_nodes\%~1\requirements.txt" ( echo installing %~1 requirements.txt & "%PY%" -m pip install -r "custom_nodes\%~1\requirements.txt" )
|
|
50
|
+
) else ( echo %~1 present - skip )
|
|
51
|
+
goto :eof
|
|
52
|
+
|
|
53
|
+
:grab
|
|
54
|
+
if not exist "%~dp1" mkdir "%~dp1"
|
|
55
|
+
if not exist "%~1" ( echo downloading %~nx1 & curl -L --ssl-no-revoke -o "%~1" "%~2" ) else ( echo %~nx1 present - skip )
|
|
56
|
+
goto :eof
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# WAN Animate 2.2 — "OFM hub" variant. PERSONAL pack (see pack.yaml notes).
|
|
2
|
+
# Decoded + flattened from a teskor-hub WAN Animate hub workflow: drive a
|
|
3
|
+
# character image with a video (ViTPose+YOLO pose/face), Uni3C controlnet for
|
|
4
|
+
# temporal stability, optional bypassed SAM2 face-swap masking, color-match,
|
|
5
|
+
# save video.
|
|
6
|
+
#
|
|
7
|
+
# MODEL NAMING: the source workflow uses short PLACEHOLDER filenames
|
|
8
|
+
# (WanModel/vae/klip_vision/text_enc + light/wan.reworked/WanPusa/WanFun.reworked).
|
|
9
|
+
# Each entry below downloads the REAL Kijai file but saves it UNDER THE PLACEHOLDER
|
|
10
|
+
# NAME the graph expects, so the workflow loads without edits.
|
|
11
|
+
#
|
|
12
|
+
# PRIVATE NODES (NOT auto-installable — install manually): this graph also uses
|
|
13
|
+
# four teskor-hub nodes whose repos are private:
|
|
14
|
+
# TSColorMatch, TSVideoCombineNoMetadata, TSPreviewImageNoMetadata, TSPoseDataSmoother
|
|
15
|
+
# (github.com/teskor-hub/NEW-UTILS, github.com/teskor-hub/comfyui-teskors-utils)
|
|
16
|
+
# Without them the graph won't fully load. Swap to VHS_VideoCombine / KJNodes
|
|
17
|
+
# ColorMatch / core PreviewImage if you don't have the teskor packs.
|
|
18
|
+
|
|
19
|
+
pip: []
|
|
20
|
+
|
|
21
|
+
custom_nodes:
|
|
22
|
+
- https://github.com/ltdrdata/ComfyUI-Manager.git
|
|
23
|
+
- https://github.com/kijai/ComfyUI-WanVideoWrapper # WanVideo* (model/vae/lora/sampler/decode/animate/uni3c)
|
|
24
|
+
- https://github.com/kijai/ComfyUI-KJNodes # DrawMaskOnImage, BlockifyMask, GrowMaskWithBlur, ImageResizeKJv2, GetImageSizeAndCount
|
|
25
|
+
- https://github.com/kijai/ComfyUI-WanAnimatePreprocess # PoseAndFaceDetection, OnnxDetectionModelLoader (vitpose+yolov10m auto-download)
|
|
26
|
+
- https://github.com/kijai/ComfyUI-segment-anything-2 # DownloadAndLoadSAM2Model, Sam2Segmentation (bypassed face-swap branch)
|
|
27
|
+
- https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite # VHS_LoadVideo
|
|
28
|
+
- https://github.com/evanspearman/ComfyMath # CM_FloatToInt (bogus aux_id in the file said Workflow-Encrypt — it's ComfyMath)
|
|
29
|
+
- https://github.com/plugcrypt/CRT-Nodes # SimpleKnobNode (bypassed branch)
|
|
30
|
+
# --- PRIVATE / user-supplied (NOT cloned) — see header note ---
|
|
31
|
+
# - https://github.com/teskor-hub/NEW-UTILS # TSColorMatch
|
|
32
|
+
# - https://github.com/teskor-hub/comfyui-teskors-utils # TSPoseDataSmoother, TSVideoCombineNoMetadata, TSPreviewImageNoMetadata
|
|
33
|
+
|
|
34
|
+
models:
|
|
35
|
+
# --- WAN 2.2 Animate 14B (fp8 scaled, Kijai v2) -> placeholder WanModel ---
|
|
36
|
+
- url: https://huggingface.co/Kijai/WanVideo_comfy_fp8_scaled/resolve/main/Wan22Animate/Wan2_2-Animate-14B_fp8_scaled_e4m3fn_KJ_v2.safetensors
|
|
37
|
+
local_path: diffusion_models/WanModel.safetensors
|
|
38
|
+
|
|
39
|
+
# --- WAN 2.1 VAE -> placeholder vae ---
|
|
40
|
+
- url: https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors
|
|
41
|
+
local_path: vae/vae.safetensors
|
|
42
|
+
|
|
43
|
+
# --- CLIP vision H -> placeholder klip_vision (Comfy-Org repackaged; standard) ---
|
|
44
|
+
- url: https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors
|
|
45
|
+
local_path: clip_vision/klip_vision.safetensors
|
|
46
|
+
|
|
47
|
+
# --- umt5-xxl text encoder (fp8) -> placeholder text_enc ---
|
|
48
|
+
- url: https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/umt5-xxl-enc-fp8_e4m3fn.safetensors
|
|
49
|
+
local_path: text_encoders/text_enc.safetensors
|
|
50
|
+
|
|
51
|
+
# --- Uni3C controlnet (temporal stability) — real name kept ---
|
|
52
|
+
- url: https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan21_Uni3C_controlnet_fp16.safetensors
|
|
53
|
+
local_path: controlnet/Wan21_Uni3C_controlnet_fp16.safetensors
|
|
54
|
+
|
|
55
|
+
# --- LoRA stack (WanVideoLoraSelectMulti) -> placeholders ---
|
|
56
|
+
# light@1.0 = lightx2v 4-step distill
|
|
57
|
+
- url: https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors
|
|
58
|
+
local_path: loras/light.safetensors
|
|
59
|
+
# wan.reworked@0.3 = WanAnimate relight LoRA
|
|
60
|
+
- url: https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/LoRAs/Wan22_relight/WanAnimate_relight_lora_fp16.safetensors
|
|
61
|
+
local_path: loras/wan.reworked.safetensors
|
|
62
|
+
# WanPusa@0.9 = Pusa V1 temporal LoRA (single-file Wan2.1)
|
|
63
|
+
- url: https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Pusa/Wan21_PusaV1_LoRA_14B_rank512_bf16.safetensors
|
|
64
|
+
local_path: loras/WanPusa.safetensors
|
|
65
|
+
# WanFun.reworked@0.5 = Wan2.2-Fun-A14B-InP LoRA (resized rank-22)
|
|
66
|
+
- url: https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/LoRAs/Wan22_FunReward/Wan2.2-Fun-A14B-InP-LOW-MPS_resized_dynamic_avg_rank_22_bf16.safetensors
|
|
67
|
+
local_path: loras/WanFun.reworked.safetensors
|
|
68
|
+
|
|
69
|
+
# --- Pose detection ONNX (OnnxDetectionModelLoader loads from models/detection/) ---
|
|
70
|
+
# YOLOv10m (from the official Wan2.2-Animate checkpoint)
|
|
71
|
+
- url: https://huggingface.co/Wan-AI/Wan2.2-Animate-14B/resolve/main/process_checkpoint/det/yolov10m.onnx
|
|
72
|
+
local_path: detection/yolov10m.onnx
|
|
73
|
+
# ViTPose-Huge wholebody — split into model + data.bin (ONNX 2GB limit); both
|
|
74
|
+
# must sit in the same folder, the .onnx is the one selected in the loader.
|
|
75
|
+
- url: https://huggingface.co/Kijai/vitpose_comfy/resolve/main/onnx/vitpose_h_wholebody_model.onnx
|
|
76
|
+
local_path: detection/vitpose_h_wholebody_model.onnx
|
|
77
|
+
- url: https://huggingface.co/Kijai/vitpose_comfy/resolve/main/onnx/vitpose_h_wholebody_data.bin
|
|
78
|
+
local_path: detection/vitpose_h_wholebody_data.bin
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: wan-animate-ofm
|
|
2
|
+
display_name: WAN Animate 2.2 — OFM hub (Uni3C + face-swap)
|
|
3
|
+
family: wan
|
|
4
|
+
kind: video
|
|
5
|
+
description: >-
|
|
6
|
+
WAN Animate 2.2 video-to-video character animation — the "OFM hub" variant,
|
|
7
|
+
decoded and flattened from a teskor-hub workflow. Drives a character image with
|
|
8
|
+
a driving video (ViTPose + YOLOv10 pose/face detection), adds Uni3C controlnet
|
|
9
|
+
for temporal stability, color-matches, and saves video. A SAM2 face-swap /
|
|
10
|
+
deep-fake masking branch ships BYPASSED (opt-in). Runs on the Kijai WanVideo
|
|
11
|
+
stack (Wan2.2-Animate-14B fp8 + Wan2.1 VAE + clip_vision_h + umt5) with a LoRA
|
|
12
|
+
stack of lightx2v (4-step distill), WanAnimate relight, Pusa V1 temporal, and
|
|
13
|
+
Wan2.2-Fun. Distinct from the SeC-based `wan-animate` pack.
|
|
14
|
+
vram: 24GB+
|
|
15
|
+
workflow: workflow.json
|
|
16
|
+
skill: video-extend
|
|
17
|
+
launch_args: []
|
|
18
|
+
sources:
|
|
19
|
+
kijai: https://huggingface.co/Kijai/WanVideo_comfy
|
|
20
|
+
kijai_fp8: https://huggingface.co/Kijai/WanVideo_comfy_fp8_scaled
|
|
21
|
+
notes:
|
|
22
|
+
- PERSONAL PACK — requires FOUR private teskor-hub nodes that are NOT
|
|
23
|
+
auto-installable (TSColorMatch, TSVideoCombineNoMetadata,
|
|
24
|
+
TSPreviewImageNoMetadata, TSPoseDataSmoother). Install them manually, or swap
|
|
25
|
+
to standard equivalents (VHS_VideoCombine / KJNodes ColorMatch / core
|
|
26
|
+
PreviewImage) — without them the graph won't fully load.
|
|
27
|
+
- Models download under the workflow's PLACEHOLDER names (WanModel / vae /
|
|
28
|
+
klip_vision / text_enc + light / wan.reworked / WanPusa / WanFun.reworked) so
|
|
29
|
+
the graph loads without edits — see manifest.yaml for the real Kijai files.
|
|
30
|
+
- It IS a Kijai stack end-to-end (model in WanVideo_comfy_fp8_scaled, the rest +
|
|
31
|
+
LoRAs in WanVideo_comfy). Exact LoRA variant picks (rank/precision) were
|
|
32
|
+
inferred from the canonical WAN_ANIMATE_ULTRA workflow + the video-extend
|
|
33
|
+
skill (Pusa); confirm against your own files if a rank differs.
|
|
34
|
+
- The SAM2 "Face swap" branch (DownloadAndLoadSAM2Model -> Sam2Segmentation ->
|
|
35
|
+
mask nodes) ships BYPASSED — un-bypass those 7 nodes to enable masked
|
|
36
|
+
face-swap. SAM2 + the pose ONNX models (vitpose/yolov10m) auto-download via
|
|
37
|
+
their nodes.
|
|
38
|
+
- NOT render-verified here (WAN Animate models are ~tens of GB and weren't
|
|
39
|
+
installed). Static-validated only (clean flatten + structural lint).
|
|
40
|
+
post_install:
|
|
41
|
+
- Install the private teskor-hub nodes (or swap to standard equivalents).
|
|
42
|
+
- Restart ComfyUI (or ComfyUI-Manager -> Install missing custom nodes).
|
|
43
|
+
- Load workflow.json.
|