Repository: princepainter/ComfyUI-PainterI2V
Branch: main
Commit: 652565fc032c
Files: 6
Total size: 93.5 KB
Directory structure:
gitextract_9op3e33m/
├── README.md
├── __init__.py
├── __manifest__.py
├── nodes.py
├── workflows.json
└── 对比测试工作流2025-11-9.json
================================================
FILE CONTENTS
================================================
================================================
FILE: README.md
================================================
# ComfyUI-PainterI2V 此节点由抖音博主:绘画小子 制作。
Wan2.2 图生视频增强节点,专门针对4步LoRA(如 lightx2v)的慢动作问题进行优化。
2026-2-13 我制作了一个PainterHumoAI2V节点,已经实现WAN2.2+Humo 直接 音频+图片 4步生成音频驱动的图生视频(AI2V)并支持首尾帧,欢迎尝试(项目内有工作流)!https://github.com/princepainter/ComfyUI-PainterNodes
2025-12-30,我更新了一个PainterI2V的优化版PainterI2Vadvanced,建议尝试使用。项目地址:https://github.com/princepainter/ComfyUI-PainterI2Vadvanced
如果你用的是KJ的wan2.2-i2v工作流,请使用这个专门为KJ开发的节点,效果一致 (https://github.com/princepainter/ComfyUI-PainterI2VforKJ)
(FirstLastFrameToVideo)首尾帧节点 PainterFLF2V:https://github.com/princepainter/Comfyui-PainterFLF2V
## 🛠 解决的问题
- ✅ 1.减少慢动作:提升运动幅度 15-50%
- ✅ 2.增强运镜:让运镜提示词更听话,运镜幅度更大
## 和wan2.2官方节点效果对比
<table>
<tr>
<td><img src="image/wan2-2_00003.gif" alt="图1" width="300"></td>
<td><img src="image/wan2-2_00004.gif" alt="图2" width="300"></td>
<td><img src="image/wan2-2_00005.gif" alt="图3" width="300"></td>
</tr>
<tr>
<td>motion_amplitude=1.2</td>
<td>motion_amplitude=1.15</td>
<td>motion_amplitude=1.15</td>
</tr>
<tr>
<td><img src="image/wan2-2_00006.gif" alt="图4" width="300"></td>
<td><img src="image/wan2-2_00007.gif" alt="图5" width="300"></td>
<td><img src="image/wan2-2_00008.gif" alt="图6" width="300"></td>
</tr>
<tr>
<td>motion_amplitude=1.5</td>
<td>motion_amplitude=1.2</td>
<td>motion_amplitude=1.15</td>
</tr>
</table>
以上视频对比效果,我是使用wan2.2官方模型+light2v 4步i2v lora V1.0做的测试(见下图),其他模型使用效果有待各位自行测试

## 节点特点
- 单帧输入优化:专为wan2.2单帧图生视频设计
- 即插即用:完全兼容原版 Wan2.2 工作流
## 📦 安装
### 方法 1: ComfyUI Manager(推荐)
1. 打开 ComfyUI Manager
2. 搜索 PainterI2V
3. 点击安装
### 方法 2: 手动安装
```bash
# 进入ComfyUI的custom_nodes目录
cd ComfyUI/custom_nodes
# 克隆仓库
git clone https://github.com/princepainter/ComfyUI-PainterI2V.git
```
# 重启ComfyUI
## 💡 使用方法
### 替换节点
在工作流中将 `WanImageToVideo` 替换为 `PainterI2V`

### 参数设置
- `motion_amplitude`: 1.15(推荐起始值)
- 其他参数与原版保持一致
### 场景参数推荐
| 运动类型 | 推荐参数 | 示例提示词 |
|------------------|------------|------------------------|
| 快速(跑步 / 跳跃) | 1.25–1.35 | "快速向前奔跑" |
| 正常(走路 / 挥手) | 1.10–1.20 | "流畅地行走" |
| 动态增强 | 1.00–1.10 | "略微增强动态和运镜" |
### 提示词优化
- 明确描述运动节奏,如 “快速奔跑”、“流畅行走”
- 避免模糊描述如 “移动”、“走动”
## 🔬 技术细节
| 参数值 | 运动提升 | 亮度变化 | 适用场景 |
|--------|----------|----------|--------------|
| 1.0(原版) | 0% | 无 | 和WAN原版节点无区别 |
| 1.15(默认)| +15% | 无 | 通用场景 |
| 1.3 | +30% | 无 | 体育运动 |
| 1.5 | +50% | 无 | 极限运动 |
### 核心算法原理
- **亮度保护的运动缩放**:放大运动向量前分离亮度均值
- **零 latent 初始化**:严格保持 4 步 LoRA 的时序依赖链
- **参考帧增强**:使用 `reference_latents` 保持主体一致性,不约束运动
## ⚡ 进阶技巧
- 最佳效果:配合强运动提示词使用
- 运动过快:每次减少 `motion_amplitude` 0.05
- 仍然偏慢:可适当增大到 1.4
## 🙏 致谢
- Wan2.2 团队:提供惊人的视频生成模型
- ComfyUI 社区:灵活的节点系统
🙏如果这个项目对你有帮助,请给颗星 ⭐️ 支持一下!
- # ComfyUI-Painterl2V
This node is created by Douyin creator: 绘画小子
PainterI2V node that specifically fixes the slow-motion issue in 4-step LoRAs (e.g., lightx2v).
2025-12-30现在已经推出升级版PainterI2Vadvanced,建议使用。项目地址:https://github.com/princepainter/PainterI2Vadvanced
The comparative effects in the above video are from my test using the official Wan2.2 model + Light2v 4-step I2V LoRA V1.0. The performance of other models awaits your own testing .
If you're using KJ's wan2.2-i2v workflow, use this node specifically developed for KJ — the effect is consistent.https://github.com/princepainter/ComfyUI-PainterI2VforKJ
## 🛠 Problems Solved
- ✅ Reduces Slow-Motion Drag: Increases motion amplitude by 15-50%
- ✅ Enhance camera movement: Make the camera movement prompts more responsive and increase the movement amplitude.
- ✅ Optimized for Single Frame: Designed specifically for single-frame image-to-video workflows
- ✅ Plug & Play: Fully compatible with original Wan2.2 workflows
## 📦 Installation
### Method 1: ComfyUI Manager (Recommended)
1. Open ComfyUI Manager
2. Search for **PainterI2V**
3. Click **Install**
### Method 2: Manual Installation
```bash
# Navigate to ComfyUI's custom_nodes directory
cd ComfyUI/custom_nodes
# Clone the repository
git clone https://github.com/princepainter/ComfyUI-PainterI2V.git
```
## 💡 Usage Guide
### Replace the Node
In your workflow, replace `WanImageToVideo` with `PainterI2V`.
### Parameter Settings
- `motion_amplitude`: 1.15 (recommended starting value)
- Keep all other parameters consistent with the original node.
### Recommended Parameters by Scene
| Motion Type | Recommended Value | Example Prompt |
|------------------------|-------------------|-----------------------------|
| Fast (running / jumping) | 1.25–1.35 | "Running forward quickly" |
| Normal (walking / waving)| 1.10–1.20 | "Walking smoothly" |
| Motion Enhancement | 1.00–1.10 | "Slightly enhance motion and camera movement" |
### Prompt Optimization Tips
- Clearly describe motion rhythm, e.g., “run fast”, “walk smoothly”
- Avoid vague terms like “move” or “walk around”
## 🔬 Technical Details
| Parameter | Motion Boost | Brightness Change | Best For |
|-----------|--------------|-------------------|--------------------|
| 1.0 (original) | 0% | None | No difference from the original WAN node |
| 1.15 (default) | +15% | None | General use |
| 1.3 | +30% | None | Sports action |
| 1.5 | +50% | None | Extreme motion |
### Core Algorithm Principles
- **Brightness-Protected Motion Scaling**: Separates luminance mean before scaling motion vectors
- **Zero Latent Initialization**: Strictly preserves the temporal dependency chain required by 4-step LoRAs
- **Reference Frame Enhancement**: Uses `reference_latents` to maintain subject consistency without constraining motion
## ⚡ Advanced Tips
- Best results: Use with strong motion-related prompts
- Motion too fast? Reduce `motion_amplitude` by 0.05 increments
- Still too slow? Try increasing up to 1.4
## 🙏 Acknowledgements
- Wan2.2 Team: For the amazing video generation model
- ComfyUI Community: For the flexible node system
- Contributors & testers: For helping refine this node
<div align="center">
If you find this project helpful, please give it a star ⭐ to show your support!
</div>
# Restart ComfyUI
================================================
FILE: __init__.py
================================================
from .nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
__version__ = "1.0.6"
__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS']
================================================
FILE: __manifest__.py
================================================
MANIFEST = {
"name": "ComfyUI-PainterI2V",
"version": "1.0.0",
"author": "Painter (社区贡献)",
"description": "Wan2.2图生视频增强节点,修复4步LoRA慢动作问题,保持亮度稳定",
"tags": ["wan", "video", "i2v", "lora", "slow-motion"],
"requirements": [],
"custom_nodes": {
"PainterI2V": {
"category": "conditioning/video_models",
"display_name": "🎨 PainterI2V (Wan2.2)",
"description": "增强版图生视频,解决慢动作问题"
}
}
}
================================================
FILE: nodes.py
================================================
import torch
import comfy.model_management
import comfy.utils
import node_helpers
from comfy_api.latest import io, ComfyExtension
from typing_extensions import override
class PainterI2V(io.ComfyNode):
"""
An enhanced Wan2.2 Image-to-Video node specifically designed to fix the slow-motion issue in 4-step LoRAs (like lightx2v).
"""
@classmethod
def define_schema(cls):
return io.Schema(
node_id="PainterI2V",
category="conditioning/video_models",
inputs=[
io.Conditioning.Input("positive"),
io.Conditioning.Input("negative"),
io.Vae.Input("vae"),
io.Int.Input("width", default=832, min=16, max=4096, step=16),
io.Int.Input("height", default=480, min=16, max=4096, step=16),
io.Int.Input("length", default=81, min=1, max=4096, step=4),
io.Int.Input("batch_size", default=1, min=1, max=4096),
io.Float.Input("motion_amplitude", default=1.15, min=1.0, max=2.0, step=0.05),
io.ClipVisionOutput.Input("clip_vision_output", optional=True),
io.Image.Input("start_image", optional=True),
],
outputs=[
io.Conditioning.Output(display_name="positive"),
io.Conditioning.Output(display_name="negative"),
io.Latent.Output(display_name="latent"),
]
)
@classmethod
def execute(cls, positive, negative, vae, width, height, length, batch_size,
motion_amplitude=1.15, start_image=None, clip_vision_output=None) -> io.NodeOutput:
# 1. 严格的零latent初始化(4步LoRA的生命线)
latent = torch.zeros([batch_size, 16, ((length - 1) // 4) + 1, height // 8, width // 8],
device=comfy.model_management.intermediate_device())
if start_image is not None:
# 单帧输入处理
start_image = start_image[:1]
start_image = comfy.utils.common_upscale(
start_image.movedim(-1, 1), width, height, "bilinear", "center"
).movedim(1, -1)
# 创建序列:首帧真实,后续0.5灰
image = torch.ones((length, height, width, start_image.shape[-1]),
device=start_image.device, dtype=start_image.dtype) * 0.5
image[0] = start_image[0]
concat_latent_image = vae.encode(image[:, :, :, :3])
# 单帧mask:仅约束首帧
mask = torch.ones((1, 1, latent.shape[2], concat_latent_image.shape[-2],
concat_latent_image.shape[-1]),
device=start_image.device, dtype=start_image.dtype)
mask[:, :, 0] = 0.0
# 2. 运动幅度增强(亮度保护核心算法)
if motion_amplitude > 1.0:
base_latent = concat_latent_image[:, :, 0:1] # 首帧
gray_latent = concat_latent_image[:, :, 1:] # 灰帧
diff = gray_latent - base_latent
diff_mean = diff.mean(dim=(1, 3, 4), keepdim=True)
diff_centered = diff - diff_mean
scaled_latent = base_latent + diff_centered * motion_amplitude + diff_mean
# Clamp & 组合
scaled_latent = torch.clamp(scaled_latent, -6, 6)
concat_latent_image = torch.cat([base_latent, scaled_latent], dim=2)
# 3. 注入到conditioning
positive = node_helpers.conditioning_set_values(
positive, {"concat_latent_image": concat_latent_image, "concat_mask": mask}
)
negative = node_helpers.conditioning_set_values(
negative, {"concat_latent_image": concat_latent_image, "concat_mask": mask}
)
# 4. 参考帧增强
ref_latent = vae.encode(start_image[:, :, :, :3])
positive = node_helpers.conditioning_set_values(positive, {"reference_latents": [ref_latent]}, append=True)
negative = node_helpers.conditioning_set_values(negative, {"reference_latents": [torch.zeros_like(ref_latent)]}, append=True)
if clip_vision_output is not None:
positive = node_helpers.conditioning_set_values(positive, {"clip_vision_output": clip_vision_output})
negative = node_helpers.conditioning_set_values(negative, {"clip_vision_output": clip_vision_output})
out_latent = {}
out_latent["samples"] = latent
return io.NodeOutput(positive, negative, out_latent)
class PainterI2VExtension(ComfyExtension):
@override
async def get_node_list(self) -> list[type[io.ComfyNode]]:
return [PainterI2V]
async def comfy_entrypoint() -> PainterI2VExtension:
return PainterI2VExtension()
# 节点注册映射
NODE_CLASS_MAPPINGS = {
"PainterI2V": PainterI2V,
}
NODE_DISPLAY_NAME_MAPPINGS = {
"PainterI2V": "PainterI2V (Wan2.2 Slow-Motion Fix)",
}
================================================
FILE: workflows.json
================================================
{
"id": "1d90e051-4a31-4d86-a7b7-83b0b324f79b",
"revision": 0,
"last_node_id": 191,
"last_link_id": 394,
"nodes": [
{
"id": 161,
"type": "PathchSageAttentionKJ",
"pos": [
493.3536457504734,
1190.6989261251294
],
"size": [
225.8580078125,
58
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"label": "模型",
"name": "model",
"type": "MODEL",
"link": 387
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
323
]
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "a6b867b63a29ca48ddb15c589e17a9f2d8530d57",
"Node name for S&R": "PathchSageAttentionKJ",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {}
}
},
"widgets_values": [
"auto"
]
},
{
"id": 163,
"type": "PathchSageAttentionKJ",
"pos": [
493.3536457504734,
1060.6989261251294
],
"size": [
225.8580078125,
58
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"label": "模型",
"name": "model",
"type": "MODEL",
"link": 381
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
322
]
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "a6b867b63a29ca48ddb15c589e17a9f2d8530d57",
"Node name for S&R": "PathchSageAttentionKJ",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {}
}
},
"widgets_values": [
"auto"
]
},
{
"id": 165,
"type": "ModelSamplingSD3",
"pos": [
743.3536457504731,
1090.6989261251294
],
"size": [
210,
58
],
"flags": {
"collapsed": false
},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 323
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
328
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "ModelSamplingSD3",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"shift": true
}
}
},
"widgets_values": [
5.000000000000001
]
},
{
"id": 166,
"type": "KSamplerAdvanced",
"pos": [
743.3536457504731,
1180.6989261251294
],
"size": [
210,
334
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 324
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 375
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 376
},
{
"name": "latent_image",
"type": "LATENT",
"link": 377
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
331
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "KSamplerAdvanced",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"add_noise": true,
"noise_seed": true,
"steps": true,
"cfg": true,
"sampler_name": true,
"scheduler": true,
"start_at_step": true,
"end_at_step": true,
"return_with_leftover_noise": true
}
}
},
"widgets_values": [
"enable",
860600779652287,
"randomize",
4,
1,
"euler",
"simple",
0,
2,
"enable"
]
},
{
"id": 174,
"type": "CLIPLoader",
"pos": [
-186.6463542495265,
1300.6989261251294
],
"size": [
346.391845703125,
106
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"slot_index": 0,
"links": [
319,
339
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "CLIPLoader",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"clip_name": true,
"type": true,
"device": true
}
},
"models": [
{
"name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
"url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors",
"directory": "text_encoders"
}
]
},
"widgets_values": [
"umt5_xxl_fp8_e4m3fn_scaled.safetensors",
"wan",
"default"
]
},
{
"id": 167,
"type": "KSamplerAdvanced",
"pos": [
773.3536457504729,
1600.6989261251294
],
"size": [
210,
334
],
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 328
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 378
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 379
},
{
"name": "latent_image",
"type": "LATENT",
"link": 331
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
341
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "KSamplerAdvanced",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"add_noise": true,
"noise_seed": true,
"steps": true,
"cfg": true,
"sampler_name": true,
"scheduler": true,
"start_at_step": true,
"end_at_step": true,
"return_with_leftover_noise": true
}
}
},
"widgets_values": [
"disable",
1095835599746286,
"randomize",
4,
1,
"euler",
"simple",
2,
100,
"disable"
]
},
{
"id": 162,
"type": "VAELoader",
"pos": [
-186.6463542495265,
1460.6989261251294
],
"size": [
335.9916687011719,
58
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"slot_index": 0,
"links": [
342,
370
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "VAELoader",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"vae_name": true
}
},
"models": [
{
"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"
}
]
},
"widgets_values": [
"wan_2.1_vae.safetensors"
]
},
{
"id": 169,
"type": "UNETLoader",
"pos": [
-234.7177676995737,
1173.8715350374086
],
"size": [
381.01133176727285,
82
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
386
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "UNETLoader",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"unet_name": true,
"weight_dtype": true
}
},
"models": [
{
"name": "wan2.2_i2v_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_i2v_low_noise_14B_fp8_scaled.safetensors",
"directory": "diffusion_models"
}
]
},
"widgets_values": [
"wan2.2_i2v_low_noise_14B_fp16.safetensors",
"fp8_e4m3fn_fast"
]
},
{
"id": 164,
"type": "ModelSamplingSD3",
"pos": [
743.3536457504731,
990.6989261251296
],
"size": [
210,
60
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 322
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
324
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "ModelSamplingSD3",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"shift": true
}
}
},
"widgets_values": [
5.000000000000001
]
},
{
"id": 183,
"type": "PainterI2V",
"pos": [
303.8399073506335,
1771.6302129329003
],
"size": [
270,
234
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 368
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 369
},
{
"name": "vae",
"type": "VAE",
"link": 370
},
{
"name": "clip_vision_output",
"shape": 7,
"type": "CLIP_VISION_OUTPUT",
"link": null
},
{
"name": "start_image",
"shape": 7,
"type": "IMAGE",
"link": 371
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
375,
378
]
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
376,
379
]
},
{
"name": "latent",
"type": "LATENT",
"links": [
377
]
}
],
"properties": {
"aux_id": "princepainter/ComfyUI-PainterI2V",
"ver": "0.3.65",
"Node name for S&R": "PainterI2V",
"cnr_id": "comfy-core",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
832,
480,
81,
1,
1.15
]
},
{
"id": 97,
"type": "LoadImage",
"pos": [
-202.7336027450886,
1660.7286135342852
],
"size": [
320,
326
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
371
]
},
{
"name": "MASK",
"type": "MASK",
"slot_index": 1,
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "LoadImage",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"image": true,
"upload": true
}
}
},
"widgets_values": [
"07 (3).webp",
"image"
]
},
{
"id": 152,
"type": "VHS_VideoCombine",
"pos": [
1113.3492855529068,
1300.1768296994583
],
"size": [
619.2437834576783,
693.7175673794297
],
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"label": "图像",
"name": "images",
"type": "IMAGE",
"link": 299
},
{
"label": "音频",
"name": "audio",
"shape": 7,
"type": "AUDIO",
"link": null
},
{
"label": "批次管理",
"name": "meta_batch",
"shape": 7,
"type": "VHS_BatchManager",
"link": null
},
{
"name": "vae",
"shape": 7,
"type": "VAE",
"link": null
}
],
"outputs": [
{
"label": "文件名",
"name": "Filenames",
"type": "VHS_FILENAMES",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-videohelpersuite",
"ver": "08e8df15db24da292d4b7f943c460dc2ab442b24",
"Node name for S&R": "VHS_VideoCombine",
"ue_properties": {
"widget_ue_connectable": {
"frame_rate": true
},
"version": "7.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": {
"frame_rate": 20,
"loop_count": 0,
"filename_prefix": "wan2.2",
"format": "video/h264-mp4",
"pix_fmt": "yuv420p",
"crf": 19,
"save_metadata": true,
"trim_to_audio": false,
"pingpong": false,
"save_output": true,
"videopreview": {
"hidden": false,
"paused": false,
"params": {
"filename": "wan2.2_00267.mp4",
"subfolder": "",
"type": "output",
"format": "video/h264-mp4",
"frame_rate": 20,
"workflow": "wan2.2_00267.png",
"fullpath": "G:\\ComfyUI\\ComfyUI\\output\\wan2.2_00267.mp4"
}
}
}
},
{
"id": 133,
"type": "VAEDecode",
"pos": [
1117.867189098009,
1055.5861998031717
],
"size": [
140,
46
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 341
},
{
"name": "vae",
"type": "VAE",
"link": 342
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
299
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.59",
"Node name for S&R": "VAEDecode",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": []
},
{
"id": 184,
"type": "LoraLoaderModelOnly",
"pos": [
167.66404443984118,
1018.5296787506857
],
"size": [
305.39336172676406,
82
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 380
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
381
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.65",
"Node name for S&R": "LoraLoaderModelOnly",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
"wan2.2_i2v_lightx2v_4steps_lora_v1_high_noise.safetensors",
1
]
},
{
"id": 168,
"type": "UNETLoader",
"pos": [
-234.92894995342448,
1039.9766085379988
],
"size": [
387.04168283123784,
82
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
380
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "UNETLoader",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"unet_name": true,
"weight_dtype": true
}
},
"models": [
{
"name": "wan2.2_i2v_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_i2v_high_noise_14B_fp8_scaled.safetensors",
"directory": "diffusion_models"
}
]
},
"widgets_values": [
"wan2.2_i2v_high_noise_14B_fp16.safetensors",
"fp8_e4m3fn_fast"
]
},
{
"id": 185,
"type": "LoraLoaderModelOnly",
"pos": [
169.69888513858604,
1168.8756381174126
],
"size": [
306.11569749958903,
88.50084009848138
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 386
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
387
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.65",
"Node name for S&R": "LoraLoaderModelOnly",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
"wan2.2_i2v_lightx2v_4steps_lora_v1_low_noise.safetensors",
1
]
},
{
"id": 176,
"type": "CLIPTextEncode",
"pos": [
201.03135931818878,
1322.547266754085
],
"size": [
427.3673481345843,
166.35631474969523
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 339
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
368
]
}
],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "CLIPTextEncode",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"text": true
}
}
},
"widgets_values": [
"镜头向右环绕,男人正在一边打着手势一边讲述,其他四人略带惊讶的认真听着,议论纷纷,表情自然"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 160,
"type": "CLIPTextEncode",
"pos": [
203.3536457504735,
1560.6989261251294
],
"size": [
426.5727787844771,
107.7527783504861
],
"flags": {
"collapsed": false
},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 319
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
369
]
}
],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "CLIPTextEncode",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"text": true
}
}
},
"widgets_values": [
"色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走"
],
"color": "#322",
"bgcolor": "#533"
}
],
"links": [
[
299,
133,
0,
152,
0,
"IMAGE"
],
[
319,
174,
0,
160,
0,
"CLIP"
],
[
322,
163,
0,
164,
0,
"MODEL"
],
[
323,
161,
0,
165,
0,
"MODEL"
],
[
324,
164,
0,
166,
0,
"MODEL"
],
[
328,
165,
0,
167,
0,
"MODEL"
],
[
331,
166,
0,
167,
3,
"LATENT"
],
[
339,
174,
0,
176,
0,
"CLIP"
],
[
341,
167,
0,
133,
0,
"LATENT"
],
[
342,
162,
0,
133,
1,
"VAE"
],
[
368,
176,
0,
183,
0,
"CONDITIONING"
],
[
369,
160,
0,
183,
1,
"CONDITIONING"
],
[
370,
162,
0,
183,
2,
"VAE"
],
[
371,
97,
0,
183,
4,
"IMAGE"
],
[
375,
183,
0,
166,
1,
"CONDITIONING"
],
[
376,
183,
1,
166,
2,
"CONDITIONING"
],
[
377,
183,
2,
166,
3,
"LATENT"
],
[
378,
183,
0,
167,
1,
"CONDITIONING"
],
[
379,
183,
1,
167,
2,
"CONDITIONING"
],
[
380,
168,
0,
184,
0,
"MODEL"
],
[
381,
184,
0,
163,
0,
"MODEL"
],
[
386,
169,
0,
185,
0,
"MODEL"
],
[
387,
185,
0,
161,
0,
"MODEL"
]
],
"groups": [
{
"id": 17,
"title": "绘画小子图生视频工作流",
"bounding": [
-247.8530813785931,
967.3362551118564,
2156.173583984375,
1123.0191650390625
],
"color": "#3f789e",
"font_size": 24,
"flags": {}
}
],
"config": {},
"extra": {
"ds": {
"scale": 0.7627768444386578,
"offset": [
848.6480806283579,
-856.2389267730317
]
},
"frontendVersion": "1.28.8",
"VHS_latentpreview": true,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": false,
"VHS_KeepIntermediate": true,
"ue_links": [],
"links_added_by_ue": []
},
"version": 0.4
}
================================================
FILE: 对比测试工作流2025-11-9.json
================================================
{
"id": "1d90e051-4a31-4d86-a7b7-83b0b324f79b",
"revision": 0,
"last_node_id": 191,
"last_link_id": 387,
"nodes": [
{
"id": 89,
"type": "CLIPTextEncode",
"pos": [
204.42920577751752,
533.9595963669971
],
"size": [
510,
130
],
"flags": {
"collapsed": false
},
"order": 18,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 178
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
184
]
}
],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "CLIPTextEncode",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"text": true
}
}
},
"widgets_values": [
"色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走"
],
"color": "#322",
"bgcolor": "#533"
},
{
"id": 111,
"type": "PathchSageAttentionKJ",
"pos": [
546.8937966040149,
195.95014473896526
],
"size": [
225.8580078125,
58
],
"flags": {},
"order": 28,
"mode": 0,
"inputs": [
{
"label": "模型",
"name": "model",
"type": "MODEL",
"link": 384
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
221
]
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "a6b867b63a29ca48ddb15c589e17a9f2d8530d57",
"Node name for S&R": "PathchSageAttentionKJ",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {}
}
},
"widgets_values": [
"auto"
]
},
{
"id": 90,
"type": "VAELoader",
"pos": [
-185.5707942224824,
570.8792297407597
],
"size": [
335.9916687011719,
58
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"slot_index": 0,
"links": [
185,
247
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "VAELoader",
"models": [
{
"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"
}
],
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"vae_name": true
}
}
},
"widgets_values": [
"wan_2.1_vae.safetensors"
]
},
{
"id": 112,
"type": "PathchSageAttentionKJ",
"pos": [
546.8937966040149,
65.95014473896525
],
"size": [
225.8580078125,
58
],
"flags": {},
"order": 27,
"mode": 0,
"inputs": [
{
"label": "模型",
"name": "model",
"type": "MODEL",
"link": 383
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
220
]
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "a6b867b63a29ca48ddb15c589e17a9f2d8530d57",
"Node name for S&R": "PathchSageAttentionKJ",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {}
}
},
"widgets_values": [
"auto"
]
},
{
"id": 103,
"type": "ModelSamplingSD3",
"pos": [
796.893796604015,
95.95014473896526
],
"size": [
210,
58
],
"flags": {
"collapsed": false
},
"order": 32,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 221
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
210
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "ModelSamplingSD3",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"shift": true
}
}
},
"widgets_values": [
5.000000000000001
]
},
{
"id": 86,
"type": "KSamplerAdvanced",
"pos": [
796.893796604015,
185.95014473896526
],
"size": [
210,
334
],
"flags": {},
"order": 34,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 209
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 172
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 173
},
{
"name": "latent_image",
"type": "LATENT",
"link": 174
},
{
"name": "noise_seed",
"type": "INT",
"widget": {
"name": "noise_seed"
},
"link": 304
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
170
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "KSamplerAdvanced",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"add_noise": true,
"noise_seed": true,
"steps": true,
"cfg": true,
"sampler_name": true,
"scheduler": true,
"start_at_step": true,
"end_at_step": true,
"return_with_leftover_noise": true
}
}
},
"widgets_values": [
"enable",
942738762826889,
"randomize",
4,
1,
"euler",
"simple",
0,
2,
"enable"
]
},
{
"id": 85,
"type": "KSamplerAdvanced",
"pos": [
774.4292057775177,
573.959596366997
],
"size": [
210,
334
],
"flags": {},
"order": 36,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 210
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 168
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 169
},
{
"name": "latent_image",
"type": "LATENT",
"link": 170
},
{
"name": "noise_seed",
"type": "INT",
"widget": {
"name": "noise_seed"
},
"link": 305
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
246
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "KSamplerAdvanced",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"add_noise": true,
"noise_seed": true,
"steps": true,
"cfg": true,
"sampler_name": true,
"scheduler": true,
"start_at_step": true,
"end_at_step": true,
"return_with_leftover_noise": true
}
}
},
"widgets_values": [
"disable",
347956277368545,
"randomize",
4,
1,
"euler",
"simple",
2,
100,
"disable"
]
},
{
"id": 124,
"type": "VAEDecode",
"pos": [
1226.02528512617,
107.22048284299957
],
"size": [
140,
46
],
"flags": {},
"order": 38,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 246
},
{
"name": "vae",
"type": "VAE",
"link": 247
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
290
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.59",
"Node name for S&R": "VAEDecode",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": []
},
{
"id": 160,
"type": "CLIPTextEncode",
"pos": [
203.3536457504735,
1560.6989261251294
],
"size": [
510,
130
],
"flags": {
"collapsed": false
},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 319
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
369
]
}
],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "CLIPTextEncode",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"text": true
}
}
},
"widgets_values": [
"色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走"
],
"color": "#322",
"bgcolor": "#533"
},
{
"id": 161,
"type": "PathchSageAttentionKJ",
"pos": [
493.3536457504734,
1190.6989261251294
],
"size": [
225.8580078125,
58
],
"flags": {},
"order": 24,
"mode": 0,
"inputs": [
{
"label": "模型",
"name": "model",
"type": "MODEL",
"link": 387
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
323
]
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "a6b867b63a29ca48ddb15c589e17a9f2d8530d57",
"Node name for S&R": "PathchSageAttentionKJ",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {}
}
},
"widgets_values": [
"auto"
]
},
{
"id": 163,
"type": "PathchSageAttentionKJ",
"pos": [
493.3536457504734,
1060.6989261251294
],
"size": [
225.8580078125,
58
],
"flags": {},
"order": 23,
"mode": 0,
"inputs": [
{
"label": "模型",
"name": "model",
"type": "MODEL",
"link": 381
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
322
]
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "a6b867b63a29ca48ddb15c589e17a9f2d8530d57",
"Node name for S&R": "PathchSageAttentionKJ",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {}
}
},
"widgets_values": [
"auto"
]
},
{
"id": 165,
"type": "ModelSamplingSD3",
"pos": [
743.3536457504731,
1090.6989261251294
],
"size": [
210,
58
],
"flags": {
"collapsed": false
},
"order": 30,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 323
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
328
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "ModelSamplingSD3",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"shift": true
}
}
},
"widgets_values": [
5.000000000000001
]
},
{
"id": 166,
"type": "KSamplerAdvanced",
"pos": [
743.3536457504731,
1180.6989261251294
],
"size": [
210,
334
],
"flags": {},
"order": 33,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 324
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 375
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 376
},
{
"name": "latent_image",
"type": "LATENT",
"link": 377
},
{
"name": "noise_seed",
"type": "INT",
"widget": {
"name": "noise_seed"
},
"link": 343
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
331
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "KSamplerAdvanced",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"add_noise": true,
"noise_seed": true,
"steps": true,
"cfg": true,
"sampler_name": true,
"scheduler": true,
"start_at_step": true,
"end_at_step": true,
"return_with_leftover_noise": true
}
}
},
"widgets_values": [
"enable",
737487165359968,
"randomize",
4,
1,
"euler",
"simple",
0,
2,
"enable"
]
},
{
"id": 174,
"type": "CLIPLoader",
"pos": [
-186.6463542495265,
1300.6989261251294
],
"size": [
346.391845703125,
106
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"slot_index": 0,
"links": [
319,
339
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "CLIPLoader",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"clip_name": true,
"type": true,
"device": true
}
},
"models": [
{
"name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
"url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors",
"directory": "text_encoders"
}
]
},
"widgets_values": [
"umt5_xxl_fp8_e4m3fn_scaled.safetensors",
"wan",
"default"
]
},
{
"id": 167,
"type": "KSamplerAdvanced",
"pos": [
773.3536457504729,
1600.6989261251294
],
"size": [
210,
334
],
"flags": {},
"order": 35,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 328
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 378
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 379
},
{
"name": "latent_image",
"type": "LATENT",
"link": 331
},
{
"name": "noise_seed",
"type": "INT",
"widget": {
"name": "noise_seed"
},
"link": 344
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
341
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "KSamplerAdvanced",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"add_noise": true,
"noise_seed": true,
"steps": true,
"cfg": true,
"sampler_name": true,
"scheduler": true,
"start_at_step": true,
"end_at_step": true,
"return_with_leftover_noise": true
}
}
},
"widgets_values": [
"disable",
184748522969954,
"randomize",
4,
1,
"euler",
"simple",
2,
100,
"disable"
]
},
{
"id": 133,
"type": "VAEDecode",
"pos": [
1261.11544983833,
1083.4668153230314
],
"size": [
140,
46
],
"flags": {},
"order": 37,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 341
},
{
"name": "vae",
"type": "VAE",
"link": 342
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
291,
299
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.59",
"Node name for S&R": "VAEDecode",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": []
},
{
"id": 93,
"type": "CLIPTextEncode",
"pos": [
202.1069193452328,
295.8079369959525
],
"size": [
510,
160
],
"flags": {},
"order": 20,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 181
},
{
"name": "text",
"type": "STRING",
"widget": {
"name": "text"
},
"link": 361
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
183
]
}
],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "CLIPTextEncode",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"text": true
}
}
},
"widgets_values": [
"镜头不断后退跟拍小船,男人奋力划船,小船在河中快速前进,男人表情疲惫但坚韧"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 162,
"type": "VAELoader",
"pos": [
-186.6463542495265,
1460.6989261251294
],
"size": [
335.9916687011719,
58
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"slot_index": 0,
"links": [
342,
370
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "VAELoader",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"vae_name": true
}
},
"models": [
{
"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"
}
]
},
"widgets_values": [
"wan_2.1_vae.safetensors"
]
},
{
"id": 98,
"type": "WanImageToVideo",
"pos": [
274.42920577751755,
753.959596366997
],
"size": [
342.5999755859375,
210
],
"flags": {},
"order": 26,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 183
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 184
},
{
"name": "vae",
"type": "VAE",
"link": 185
},
{
"name": "clip_vision_output",
"shape": 7,
"type": "CLIP_VISION_OUTPUT",
"link": null
},
{
"name": "start_image",
"shape": 7,
"type": "IMAGE",
"link": 186
},
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 354
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 356
},
{
"name": "length",
"type": "INT",
"widget": {
"name": "length"
},
"link": 358
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
168,
172
]
},
{
"name": "negative",
"type": "CONDITIONING",
"slot_index": 1,
"links": [
169,
173
]
},
{
"name": "latent",
"type": "LATENT",
"slot_index": 2,
"links": [
174
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "WanImageToVideo",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"width": true,
"height": true,
"length": true,
"batch_size": true
}
}
},
"widgets_values": [
832,
480,
81,
1
]
},
{
"id": 150,
"type": "VHS_VideoCombine",
"pos": [
2011.0770263671875,
116.9879379272461
],
"size": [
942.5525110762246,
1193.673135153206
],
"flags": {},
"order": 43,
"mode": 0,
"inputs": [
{
"label": "图像",
"name": "images",
"type": "IMAGE",
"link": 289
},
{
"label": "音频",
"name": "audio",
"shape": 7,
"type": "AUDIO",
"link": null
},
{
"label": "批次管理",
"name": "meta_batch",
"shape": 7,
"type": "VHS_BatchManager",
"link": null
},
{
"name": "vae",
"shape": 7,
"type": "VAE",
"link": null
}
],
"outputs": [
{
"label": "文件名",
"name": "Filenames",
"type": "VHS_FILENAMES",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-videohelpersuite",
"ver": "08e8df15db24da292d4b7f943c460dc2ab442b24",
"Node name for S&R": "VHS_VideoCombine",
"ue_properties": {
"widget_ue_connectable": {
"frame_rate": true
},
"version": "7.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": {
"frame_rate": 20,
"loop_count": 0,
"filename_prefix": "wan2.2",
"format": "video/h264-mp4",
"pix_fmt": "yuv420p",
"crf": 19,
"save_metadata": true,
"trim_to_audio": false,
"pingpong": false,
"save_output": true,
"videopreview": {
"hidden": false,
"paused": false,
"params": {
"filename": "wan2.2_00101.mp4",
"subfolder": "",
"type": "output",
"format": "video/h264-mp4",
"frame_rate": 20,
"workflow": "wan2.2_00101.png",
"fullpath": "G:\\ComfyUI\\ComfyUI\\output\\wan2.2_00101.mp4"
}
}
}
},
{
"id": 151,
"type": "AddLabel",
"pos": [
1404.0979375549957,
691.4591248519448
],
"size": [
270,
270
],
"flags": {},
"order": 39,
"mode": 0,
"inputs": [
{
"label": "图像",
"name": "image",
"type": "IMAGE",
"link": 291
},
{
"label": "描述文本",
"name": "caption",
"shape": 7,
"type": "STRING",
"link": null
}
],
"outputs": [
{
"label": "图像",
"name": "IMAGE",
"type": "IMAGE",
"links": [
288
]
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "625151d43fd80995f7385ef64c8da742ad647aa1",
"Node name for S&R": "AddLabel",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
10,
2,
48,
32,
"white",
"black",
"FreeMonoBoldOblique.otf",
"painterI2V node",
"up"
]
},
{
"id": 148,
"type": "AddLabel",
"pos": [
1362.0974405297113,
290.6973940780319
],
"size": [
270,
270
],
"flags": {},
"order": 41,
"mode": 0,
"inputs": [
{
"label": "图像",
"name": "image",
"type": "IMAGE",
"link": 290
},
{
"label": "描述文本",
"name": "caption",
"shape": 7,
"type": "STRING",
"link": null
}
],
"outputs": [
{
"label": "图像",
"name": "IMAGE",
"type": "IMAGE",
"links": [
287
]
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "625151d43fd80995f7385ef64c8da742ad647aa1",
"Node name for S&R": "AddLabel",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
10,
2,
48,
32,
"white",
"black",
"FreeMonoBoldOblique.otf",
"wan node",
"up"
]
},
{
"id": 184,
"type": "LoraLoaderModelOnly",
"pos": [
203.05740616660523,
1018.5296787506857
],
"size": [
270,
82
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 380
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
381
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.65",
"Node name for S&R": "LoraLoaderModelOnly",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
"wan2.2_i2v_lightx2v_4steps_lora_v1_high_noise.safetensors",
1
]
},
{
"id": 168,
"type": "UNETLoader",
"pos": [
-196.64635424952644,
1040.6989261251294
],
"size": [
358.14916120295516,
82
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
380
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "UNETLoader",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"unet_name": true,
"weight_dtype": true
}
},
"models": [
{
"name": "wan2.2_i2v_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_i2v_high_noise_14B_fp8_scaled.safetensors",
"directory": "diffusion_models"
}
]
},
"widgets_values": [
"wan2.2_i2v_high_noise_14B_fp16.safetensors",
"fp8_e4m3fn_fast"
]
},
{
"id": 169,
"type": "UNETLoader",
"pos": [
-234.7177676995737,
1173.8715350374086
],
"size": [
381.01133176727285,
82
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
386
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "UNETLoader",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"unet_name": true,
"weight_dtype": true
}
},
"models": [
{
"name": "wan2.2_i2v_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_i2v_low_noise_14B_fp8_scaled.safetensors",
"directory": "diffusion_models"
}
]
},
"widgets_values": [
"wan2.2_i2v_low_noise_14B_fp16.safetensors",
"fp8_e4m3fn_fast"
]
},
{
"id": 185,
"type": "LoraLoaderModelOnly",
"pos": [
196.4244358197827,
1178.9880479658527
],
"size": [
270,
82
],
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 386
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
387
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.65",
"Node name for S&R": "LoraLoaderModelOnly",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
"wan2.2_i2v_lightx2v_4steps_lora_v1_low_noise.safetensors",
1
]
},
{
"id": 152,
"type": "VHS_VideoCombine",
"pos": [
3005.1432953314234,
119.21284727259726
],
"size": [
1028.851078091112,
930.0294681294877
],
"flags": {},
"order": 40,
"mode": 0,
"inputs": [
{
"label": "图像",
"name": "images",
"type": "IMAGE",
"link": 299
},
{
"label": "音频",
"name": "audio",
"shape": 7,
"type": "AUDIO",
"link": null
},
{
"label": "批次管理",
"name": "meta_batch",
"shape": 7,
"type": "VHS_BatchManager",
"link": null
},
{
"name": "vae",
"shape": 7,
"type": "VAE",
"link": null
}
],
"outputs": [
{
"label": "文件名",
"name": "Filenames",
"type": "VHS_FILENAMES",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-videohelpersuite",
"ver": "08e8df15db24da292d4b7f943c460dc2ab442b24",
"Node name for S&R": "VHS_VideoCombine",
"ue_properties": {
"widget_ue_connectable": {
"frame_rate": true
},
"version": "7.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": {
"frame_rate": 20,
"loop_count": 0,
"filename_prefix": "wan2.2",
"format": "video/h264-mp4",
"pix_fmt": "yuv420p",
"crf": 19,
"save_metadata": true,
"trim_to_audio": false,
"pingpong": false,
"save_output": true,
"videopreview": {
"hidden": false,
"paused": false,
"params": {
"filename": "wan2.2_00102.mp4",
"subfolder": "",
"type": "output",
"format": "video/h264-mp4",
"frame_rate": 20,
"workflow": "wan2.2_00102.png",
"fullpath": "G:\\ComfyUI\\ComfyUI\\output\\wan2.2_00102.mp4"
}
}
}
},
{
"id": 155,
"type": "easy seed",
"pos": [
-799.0867438197581,
510.7336079856727
],
"size": [
270,
106
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [],
"outputs": [
{
"label": "随机种子",
"name": "seed",
"type": "INT",
"links": [
304,
305,
343,
344
]
}
],
"properties": {
"cnr_id": "comfyui-easy-use",
"ver": "1.3.4",
"Node name for S&R": "easy seed",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.3"
}
},
"widgets_values": [
42,
"fixed",
null
]
},
{
"id": 180,
"type": "easy int",
"pos": [
-797.6414054396413,
1247.5698842086365
],
"size": [
270,
58
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [],
"outputs": [
{
"label": "整数",
"name": "int",
"type": "INT",
"links": [
358,
374
]
}
],
"title": "帧数",
"properties": {
"cnr_id": "comfyui-easy-use",
"ver": "1.3.4",
"Node name for S&R": "easy int",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
81
]
},
{
"id": 104,
"type": "ModelSamplingSD3",
"pos": [
796.893796604015,
-4.049855261034761
],
"size": [
210,
60
],
"flags": {},
"order": 31,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 220
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
209
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "ModelSamplingSD3",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"shift": true
}
}
},
"widgets_values": [
5.000000000000001
]
},
{
"id": 84,
"type": "CLIPLoader",
"pos": [
-185.5707942224824,
410.87922974075974
],
"size": [
346.391845703125,
106
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"slot_index": 0,
"links": [
178,
181
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "CLIPLoader",
"models": [
{
"name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
"url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors",
"directory": "text_encoders"
}
],
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"clip_name": true,
"type": true,
"device": true
}
}
},
"widgets_values": [
"umt5_xxl_fp8_e4m3fn_scaled.safetensors",
"wan",
"default"
]
},
{
"id": 164,
"type": "ModelSamplingSD3",
"pos": [
743.3536457504731,
990.6989261251296
],
"size": [
210,
60
],
"flags": {},
"order": 29,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 322
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
324
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "ModelSamplingSD3",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"shift": true
}
}
},
"widgets_values": [
5.000000000000001
]
},
{
"id": 175,
"type": "WanImageToVideo",
"pos": [
-817.4761721082174,
1569.8461449199647
],
"size": [
342.5999755859375,
210
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": null
},
{
"name": "negative",
"type": "CONDITIONING",
"link": null
},
{
"name": "vae",
"type": "VAE",
"link": null
},
{
"name": "clip_vision_output",
"shape": 7,
"type": "CLIP_VISION_OUTPUT",
"link": null
},
{
"name": "start_image",
"shape": 7,
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"slot_index": 0,
"links": []
},
{
"name": "negative",
"type": "CONDITIONING",
"slot_index": 1,
"links": []
},
{
"name": "latent",
"type": "LATENT",
"slot_index": 2,
"links": []
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "WanImageToVideo",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"width": true,
"height": true,
"length": true,
"batch_size": true
}
}
},
"widgets_values": [
832,
480,
81,
1
]
},
{
"id": 183,
"type": "PainterI2V",
"pos": [
-360.28437814897825,
1574.5683395990607
],
"size": [
270,
234
],
"flags": {},
"order": 25,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 368
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 369
},
{
"name": "vae",
"type": "VAE",
"link": 370
},
{
"name": "clip_vision_output",
"shape": 7,
"type": "CLIP_VISION_OUTPUT",
"link": null
},
{
"name": "start_image",
"shape": 7,
"type": "IMAGE",
"link": 371
},
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 372
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 373
},
{
"name": "length",
"type": "INT",
"widget": {
"name": "length"
},
"link": 374
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
375,
378
]
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
376,
379
]
},
{
"name": "latent",
"type": "LATENT",
"links": [
377
]
}
],
"properties": {
"Node name for S&R": "PainterI2V",
"cnr_id": "comfy-core",
"ver": "0.3.65",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
832,
480,
81,
1,
1.2
]
},
{
"id": 97,
"type": "LoadImage",
"pos": [
-1363.3514283631578,
488.59450751824176
],
"size": [
514.8771616958004,
786.9485536374025
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
186,
371
]
},
{
"name": "MASK",
"type": "MASK",
"slot_index": 1,
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "LoadImage",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"image": true,
"upload": true
}
}
},
"widgets_values": [
"QQ图片20251109113410.png",
"image"
]
},
{
"id": 178,
"type": "easy int",
"pos": [
-792.5185972401214,
1000.2579760758681
],
"size": [
270,
58
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [],
"outputs": [
{
"label": "整数",
"name": "int",
"type": "INT",
"links": [
354,
372
]
}
],
"title": "宽度",
"properties": {
"cnr_id": "comfyui-easy-use",
"ver": "1.3.4",
"Node name for S&R": "easy int",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
832
]
},
{
"id": 179,
"type": "easy int",
"pos": [
-789.8451966346207,
1126.2403830955388
],
"size": [
270,
58
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [],
"outputs": [
{
"label": "整数",
"name": "int",
"type": "INT",
"links": [
356,
373
]
}
],
"title": "高度",
"properties": {
"cnr_id": "comfyui-easy-use",
"ver": "1.3.4",
"Node name for S&R": "easy int",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
480
]
},
{
"id": 176,
"type": "CLIPTextEncode",
"pos": [
201.03135931818878,
1322.547266754085
],
"size": [
510,
160
],
"flags": {},
"order": 19,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 339
},
{
"name": "text",
"type": "STRING",
"widget": {
"name": "text"
},
"link": 360
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
368
]
}
],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "CLIPTextEncode",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"text": true
}
}
},
"widgets_values": [
"镜头不断后退跟拍小船,男人奋力划船,小船在河中快速前进,男人表情疲惫但坚韧"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 181,
"type": "PrimitiveStringMultiline",
"pos": [
-793.1257929952121,
737.7266905312453
],
"size": [
400,
200
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "STRING",
"type": "STRING",
"links": [
360,
361
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.65",
"Node name for S&R": "PrimitiveStringMultiline",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
"[全局标题] 未来科幻场景中的白肤人形体 [character1] 背对镜头,独自走在一条狭长的金属走廊中央,两侧整齐排列着无数相同的白色人形体,仿佛是某种程序化的存在。走廊顶部是冷色调的嵌入式照明,地面有蓝色发光条纹,整体氛围压抑而寂静。这个场景包含 5个镜头。[每个镜头标题] 中景镜头 [character1] 步履缓慢而坚定地向前行走,身体微微前倾,双臂自然下垂,背影显得孤独而有目的性。[镜头切换] 广角镜头从走廊尽头拉远,展现两侧人形体如军队般整齐排列,形成对称构图,强化了场景的秩序感与压迫感。[镜头切换] 低角度镜头从地面仰拍 [character1] 的脚部,显示其每一步都踏在发光的蓝色条纹上,暗示某种程序或系统在引导其前进。[镜头切换] 特写镜头聚焦 [character1] 的背部,展示其光滑无瑕的皮肤与纤细的脊背线条,在冷光照射下反射出微弱光泽,凸显其非人类的特质。[镜头切换] 镜头推进至 [character1] 的头部,视角从后方逐渐上移,最终定格在她微微抬起的下巴与静默凝视前方的姿态,表情中透露出一丝迷茫与决然。"
],
"color": "#332922",
"bgcolor": "#593930"
},
{
"id": 149,
"type": "ImageConcanate",
"pos": [
1706.2544196707177,
619.4810827522047
],
"size": [
270,
102
],
"flags": {},
"order": 42,
"mode": 0,
"inputs": [
{
"label": "图像_1",
"name": "image1",
"type": "IMAGE",
"link": 287
},
{
"label": "图像_2",
"name": "image2",
"type": "IMAGE",
"link": 288
}
],
"outputs": [
{
"label": "图像",
"name": "IMAGE",
"type": "IMAGE",
"links": [
289
]
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "625151d43fd80995f7385ef64c8da742ad647aa1",
"Node name for S&R": "ImageConcanate",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"down",
true
]
},
{
"id": 187,
"type": "LoraLoaderModelOnly",
"pos": [
136.71211555244665,
110.3445948371391
],
"size": [
432.51229114738976,
82
],
"flags": {},
"order": 22,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 385
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
384
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.65",
"Node name for S&R": "LoraLoaderModelOnly",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
"wan2.2_i2v_lightx2v_4steps_lora_v1_low_noise.safetensors",
1
]
},
{
"id": 186,
"type": "LoraLoaderModelOnly",
"pos": [
121.18955086973267,
-15.341828933104175
],
"size": [
445.30826564647145,
82
],
"flags": {},
"order": 21,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 382
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
383
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.65",
"Node name for S&R": "LoraLoaderModelOnly",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
}
},
"widgets_values": [
"wan2.2_i2v_lightx2v_4steps_lora_v1_high_noise.safetensors",
1
]
},
{
"id": 189,
"type": "UNETLoader",
"pos": [
-314.34371135342457,
-32.84087571541043
],
"size": [
358.14916120295516,
82
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
382
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "UNETLoader",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"unet_name": true,
"weight_dtype": true
}
},
"models": [
{
"name": "wan2.2_i2v_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_i2v_high_noise_14B_fp8_scaled.safetensors",
"directory": "diffusion_models"
}
]
},
"widgets_values": [
"wan2.2_i2v_high_noise_14B_fp16.safetensors",
"fp8_e4m3fn_fast"
]
},
{
"id": 188,
"type": "UNETLoader",
"pos": [
-307.94565966975085,
109.95529208607051
],
"size": [
381.01133176727285,
82
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
385
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.45",
"Node name for S&R": "UNETLoader",
"ue_properties": {
"version": "7.0.1",
"widget_ue_connectable": {
"unet_name": true,
"weight_dtype": true
}
},
"models": [
{
"name": "wan2.2_i2v_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_i2v_low_noise_14B_fp8_scaled.safetensors",
"directory": "diffusion_models"
}
]
},
"widgets_values": [
"wan2.2_i2v_low_noise_14B_fp16.safetensors",
"fp8_e4m3fn_fast"
]
}
],
"links": [
[
168,
98,
0,
85,
1,
"CONDITIONING"
],
[
169,
98,
1,
85,
2,
"CONDITIONING"
],
[
170,
86,
0,
85,
3,
"LATENT"
],
[
172,
98,
0,
86,
1,
"CONDITIONING"
],
[
173,
98,
1,
86,
2,
"CONDITIONING"
],
[
174,
98,
2,
86,
3,
"LATENT"
],
[
178,
84,
0,
89,
0,
"CLIP"
],
[
181,
84,
0,
93,
0,
"CLIP"
],
[
183,
93,
0,
98,
0,
"CONDITIONING"
],
[
184,
89,
0,
98,
1,
"CONDITIONING"
],
[
185,
90,
0,
98,
2,
"VAE"
],
[
186,
97,
0,
98,
4,
"IMAGE"
],
[
209,
104,
0,
86,
0,
"MODEL"
],
[
210,
103,
0,
85,
0,
"MODEL"
],
[
220,
112,
0,
104,
0,
"MODEL"
],
[
221,
111,
0,
103,
0,
"MODEL"
],
[
246,
85,
0,
124,
0,
"LATENT"
],
[
247,
90,
0,
124,
1,
"VAE"
],
[
287,
148,
0,
149,
0,
"IMAGE"
],
[
288,
151,
0,
149,
1,
"IMAGE"
],
[
289,
149,
0,
150,
0,
"IMAGE"
],
[
290,
124,
0,
148,
0,
"IMAGE"
],
[
291,
133,
0,
151,
0,
"IMAGE"
],
[
299,
133,
0,
152,
0,
"IMAGE"
],
[
304,
155,
0,
86,
4,
"INT"
],
[
305,
155,
0,
85,
4,
"INT"
],
[
319,
174,
0,
160,
0,
"CLIP"
],
[
322,
163,
0,
164,
0,
"MODEL"
],
[
323,
161,
0,
165,
0,
"MODEL"
],
[
324,
164,
0,
166,
0,
"MODEL"
],
[
328,
165,
0,
167,
0,
"MODEL"
],
[
331,
166,
0,
167,
3,
"LATENT"
],
[
339,
174,
0,
176,
0,
"CLIP"
],
[
341,
167,
0,
133,
0,
"LATENT"
],
[
342,
162,
0,
133,
1,
"VAE"
],
[
343,
155,
0,
166,
4,
"INT"
],
[
344,
155,
0,
167,
4,
"INT"
],
[
354,
178,
0,
98,
5,
"INT"
],
[
356,
179,
0,
98,
6,
"INT"
],
[
358,
180,
0,
98,
7,
"INT"
],
[
360,
181,
0,
176,
1,
"STRING"
],
[
361,
181,
0,
93,
1,
"STRING"
],
[
368,
176,
0,
183,
0,
"CONDITIONING"
],
[
369,
160,
0,
183,
1,
"CONDITIONING"
],
[
370,
162,
0,
183,
2,
"VAE"
],
[
371,
97,
0,
183,
4,
"IMAGE"
],
[
372,
178,
0,
183,
5,
"INT"
],
[
373,
179,
0,
183,
6,
"INT"
],
[
374,
180,
0,
183,
7,
"INT"
],
[
375,
183,
0,
166,
1,
"CONDITIONING"
],
[
376,
183,
1,
166,
2,
"CONDITIONING"
],
[
377,
183,
2,
166,
3,
"LATENT"
],
[
378,
183,
0,
167,
1,
"CONDITIONING"
],
[
379,
183,
1,
167,
2,
"CONDITIONING"
],
[
380,
168,
0,
184,
0,
"MODEL"
],
[
381,
184,
0,
163,
0,
"MODEL"
],
[
382,
189,
0,
186,
0,
"MODEL"
],
[
383,
186,
0,
112,
0,
"MODEL"
],
[
384,
187,
0,
111,
0,
"MODEL"
],
[
385,
188,
0,
187,
0,
"MODEL"
],
[
386,
169,
0,
185,
0,
"MODEL"
],
[
387,
185,
0,
161,
0,
"MODEL"
]
],
"groups": [
{
"id": 15,
"title": "绘画小子图生视频工作流",
"bounding": [
-235.24842834472656,
-212.486572265625,
2156.173583984375,
1123.0191650390625
],
"color": "#3f789e",
"font_size": 24,
"flags": {}
},
{
"id": 17,
"title": "绘画小子图生视频工作流",
"bounding": [
-247.8530813785931,
967.3362551118564,
2156.173583984375,
1123.0191650390625
],
"color": "#3f789e",
"font_size": 24,
"flags": {}
}
],
"config": {},
"extra": {
"ds": {
"scale": 0.4736244074477345,
"offset": [
1305.5452432246555,
542.158260742007
]
},
"frontendVersion": "1.28.8",
"VHS_latentpreview": true,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": false,
"VHS_KeepIntermediate": true,
"ue_links": [],
"links_added_by_ue": []
},
"version": 0.4
}
gitextract_9op3e33m/ ├── README.md ├── __init__.py ├── __manifest__.py ├── nodes.py ├── workflows.json └── 对比测试工作流2025-11-9.json
SYMBOL INDEX (6 symbols across 1 files)
FILE: nodes.py
class PainterI2V (line 8) | class PainterI2V(io.ComfyNode):
method define_schema (line 14) | def define_schema(cls):
method execute (line 38) | def execute(cls, positive, negative, vae, width, height, length, batch...
class PainterI2VExtension (line 100) | class PainterI2VExtension(ComfyExtension):
method get_node_list (line 102) | async def get_node_list(self) -> list[type[io.ComfyNode]]:
function comfy_entrypoint (line 105) | async def comfy_entrypoint() -> PainterI2VExtension:
Condensed preview — 6 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (111K chars).
[
{
"path": "README.md",
"chars": 6649,
"preview": "# ComfyUI-PainterI2V 此节点由抖音博主:绘画小子 制作。\r\n\r\nWan2.2 图生视频增强节点,专门针对4步LoRA(如 lightx2v)的慢动作问题进行优化。\r\n\r\n2026-2-13 我制作了一个PainterH"
},
{
"path": "__init__.py",
"chars": 162,
"preview": "from .nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS\r\n\r\n__version__ = \"1.0.6\"\r\n\r\n__all__ = ['NODE_CLASS_MA"
},
{
"path": "__manifest__.py",
"chars": 475,
"preview": "MANIFEST = {\r\n \"name\": \"ComfyUI-PainterI2V\",\r\n \"version\": \"1.0.0\",\r\n \"author\": \"Painter (社区贡献)\",\r\n \"descript"
},
{
"path": "nodes.py",
"chars": 5104,
"preview": "import torch\r\nimport comfy.model_management\r\nimport comfy.utils\r\nimport node_helpers\r\nfrom comfy_api.latest import io, C"
},
{
"path": "workflows.json",
"chars": 23985,
"preview": "{\n \"id\": \"1d90e051-4a31-4d86-a7b7-83b0b324f79b\",\n \"revision\": 0,\n \"last_node_id\": 191,\n \"last_link_id\": 394,\n \"node"
},
{
"path": "对比测试工作流2025-11-9.json",
"chars": 59325,
"preview": "{\n \"id\": \"1d90e051-4a31-4d86-a7b7-83b0b324f79b\",\n \"revision\": 0,\n \"last_node_id\": 191,\n \"last_link_id\": 387,\n \"node"
}
]
About this extraction
This page contains the full source code of the princepainter/ComfyUI-PainterI2V GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 6 files (93.5 KB), approximately 29.2k tokens, and a symbol index with 6 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.