ComfyUI-DynamiCrafterWrapper 插件完全教程
插件简介
插件地址: https://github.com/kijai/ComfyUI-DynamiCrafterWrapper
这个插件是什么呢?简单来说,它就像一个神奇的魔法棒,可以让静态图片动起来!想象一下,你有一张美丽的风景照片,通过这个插件,你可以让照片里的云朵飘动、水流流淌、花朵摇摆。它还能在两张图片之间创造出平滑的过渡动画,就像电影里的慢镜头一样。
主要功能:
- 图片转视频:让静态图片变成动态视频
- 图片插帧:在两张图片之间生成平滑过渡
- 循环视频:创建可以无限循环播放的动画
- 支持多种分辨率:从256x256到1024x576
如何安装
方法一:通过ComfyUI管理器安装
- 打开ComfyUI管理器
- 搜索"DynamiCrafterWrapper"
- 点击安装
方法二:手动安装
- 进入ComfyUI的custom_nodes文件夹
- 运行命令:
git clone https://github.com/kijai/ComfyUI-DynamiCrafterWrapper.git - 进入插件文件夹,运行:
pip install -r requirements.txt
节点详细解析
3.1 DownloadAndLoadDynamiCrafterModel 节点
这个节点是干嘛的?
这个节点就像一个智能下载器和加载器,它会自动帮你下载需要的AI模型文件,然后把模型加载到内存里准备使用。就像你要用一个软件之前,需要先安装和启动它一样。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | 下拉选择 | tooncrafter_512_interp-pruned-fp16.safetensors | 选择要使用的AI大脑模型 | 选择预训练的DynamiCrafter模型文件 | 如果要做卡通风格插帧选tooncrafter,要做高清视频选1024版本 |
| dtype | dtype | fp32/fp16/bf16/auto | auto | 设置计算精度,就像调节画质清晰度 | 设置模型运算的数据类型精度 | auto让系统自动选择最合适的,节省显存用fp16 |
| fp8_unet | fp8_unet | True/False | False | 开启超级省显存模式 | 使用FP8精度运行UNet模型以节省显存 | 显存不够时开启,但可能影响质量 |
3.2 DynamiCrafterModelLoader 节点
这个节点是干嘛的?
这个节点是本地模型加载器,如果你已经下载好了模型文件放在ComfyUI的checkpoints文件夹里,就用这个节点来加载。它就像一个本地文件管理器,专门管理你电脑上的AI模型。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| ckpt_name | ckpt_name | 文件选择 | 根据需求选择 | 从你电脑上选择要用的模型文件 | 从checkpoints目录选择模型文件 | 选择你下载好的.ckpt或.safetensors文件 |
| dtype | dtype | fp32/fp16/bf16/auto | auto | 设置计算精度 | 设置模型运算的数据类型精度 | 同上一个节点 |
| fp8_unet | fp8_unet | True/False | False | 开启超级省显存模式 | 使用FP8精度运行UNet模型 | 同上一个节点 |
3.3 DownloadAndLoadCLIPModel 节点
这个节点是干嘛的?
这个节点是文字理解专家,它下载和加载专门理解文字描述的AI模型。当你输入"一只猫在草地上跑"这样的文字时,这个模型就能理解你想要什么样的动画效果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | 下拉选择 | stable-diffusion-2-1-clip-fp16.safetensors | 选择文字理解大脑的版本 | 选择CLIP文本编码器模型 | fp16版本省显存,完整版本质量更好 |
3.4 DownloadAndLoadCLIPVisionModel 节点
这个节点是干嘛的?
这个节点是图像理解专家,它专门负责"看懂"图片内容。就像人的眼睛能识别图片里有什么东西一样,这个模型能分析图片的内容和特征,为后续的动画生成提供参考。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | 下拉选择 | CLIP-ViT-H-fp16.safetensors | 选择图像理解大脑的版本 | 选择CLIP视觉编码器模型 | fp16版本省显存,适合大多数情况 |
3.5 DynamiCrafterI2V 节点
这个节点是干嘛的?
这是核心的图片转视频节点!它就像一个魔法师,能把静态图片变成动态视频。你给它一张图片和一段文字描述,它就能创造出符合描述的动画效果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | DCMODEL类型 | - | 连接加载好的AI大脑 | 输入DynamiCrafter模型 | 连接前面加载模型节点的输出 |
| clip_vision | clip_vision | CLIP_VISION类型 | - | 连接图像理解大脑 | 输入CLIP视觉编码器 | 连接CLIP Vision模型节点 |
| positive | positive | CONDITIONING类型 | - | 正面提示词,告诉AI你想要什么 | 正向条件提示 | 连接包含"美丽风景,云朵飘动"的提示词 |
| negative | negative | CONDITIONING类型 | - | 负面提示词,告诉AI你不想要什么 | 负向条件提示 | 连接包含"模糊,低质量"的负面提示词 |
| image | image | IMAGE类型 | - | 要变成动画的原始图片 | 输入图像 | 连接你想要动画化的图片 |
| steps | steps | 1-200 | 50 | 生成质量,数字越大质量越好但越慢 | 扩散模型采样步数 | 快速预览用20,高质量用50-100 |
| cfg | cfg | 0.0-20.0 | 7.0 | 听话程度,数字越大越按提示词生成 | 分类器自由引导强度 | 7.0是平衡值,想要更贴合提示词可以调到10 |
| eta | eta | 0.0-1.0 | 1.0 | 随机性控制,1.0最随机 | DDIM采样器的随机性参数 | 1.0保持默认,想要更确定的结果可以调低 |
| frames | frames | 1-100 | 16 | 生成多少帧动画 | 输出视频帧数 | 16帧约1秒,32帧约2秒 |
| seed | seed | 0-很大的数 | 0 | 随机种子,相同种子产生相同结果 | 随机数生成种子 | 固定种子可以重现相同效果 |
| fs | fs | 2-100 | 10 | 帧率设置 | 视频帧率 | 10是标准值,更高更流畅但文件更大 |
| keep_model_loaded | keep_model_loaded | True/False | True | 是否保持模型在内存中 | 是否保持模型加载状态 | True可以加快后续生成,False释放显存 |
| vae_dtype | vae_dtype | fp32/fp16/bf16/auto | auto | 图像编码器精度 | VAE编码器数据类型 | auto自动选择,省显存用fp16 |
| image2 | image2 | IMAGE类型(可选) | - | 第二张图片,用于插帧动画 | 可选的第二张输入图像 | 制作两张图片间的过渡动画时使用 |
| mask | mask | MASK类型(可选) | - | 遮罩,控制哪些区域要动画化 | 可选的遮罩输入 | 只想让图片某部分动起来时使用 |
| frame_window_size | frame_window_size | 1-200 | 16 | 窗口大小,影响动画连贯性 | 帧窗口大小 | 默认16即可,长视频可以调大 |
| frame_window_stride | frame_window_stride | 1-200 | 4 | 窗口步长,影响生成速度 | 帧窗口步长 | 默认4即可,想要更快可以调大 |
| augmentation_level | augmentation_level | 0.0-10.0 | 0.0 | 图片增强程度,增加变化 | 数据增强级别 | 0.0无增强,想要更多变化可以调到0.1 |
| init_noise | init_noise | DCNOISE类型(可选) | - | 初始噪声,用于特殊效果 | 可选的初始噪声输入 | 配合LoadInitNoise节点使用 |
3.6 ToonCrafterInterpolation 节点
这个节点是干嘛的?
这是专门做卡通风格插帧动画的节点。给它多张图片,它能在每两张图片之间生成平滑的过渡动画,特别适合制作卡通风格的动画效果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | DCMODEL类型 | - | 连接加载好的AI大脑 | 输入DynamiCrafter模型 | 连接ToonCrafter模型 |
| clip_vision | clip_vision | CLIP_VISION类型 | - | 连接图像理解大脑 | 输入CLIP视觉编码器 | 连接CLIP Vision模型节点 |
| positive | positive | CONDITIONING类型 | - | 正面提示词 | 正向条件提示 | 描述想要的动画效果 |
| negative | negative | CONDITIONING类型 | - | 负面提示词 | 负向条件提示 | 描述不想要的效果 |
| images | images | IMAGE类型 | - | 多张关键帧图片 | 输入图像序列 | 连接多张要插帧的图片 |
| steps | steps | 1-200 | 20 | 生成质量控制 | 扩散模型采样步数 | 卡通风格20步通常够用 |
| cfg | cfg | 0.0-200.0 | 7.0 | 听话程度 | 分类器自由引导强度 | 7.0是平衡值 |
| eta | eta | 0.0-1.0 | 1.0 | 随机性控制 | DDIM采样器随机性 | 1.0保持默认 |
| frames | frames | 1-100 | 16 | 每段插帧数量 | 每对图像间的帧数 | 16帧生成1秒过渡 |
| seed | seed | 0-很大的数 | 0 | 随机种子 | 随机数生成种子 | 固定种子重现效果 |
| fs | fs | 2-100 | 10 | 帧率设置 | 视频帧率 | 10是标准值 |
| vae_dtype | vae_dtype | fp32/fp16/bf16/auto | auto | 图像编码器精度 | VAE编码器数据类型 | auto自动选择 |
| image_embed_ratio | image_embed_ratio | 0.0-1.0 | 1.0 | 图像影响比例 | 图像嵌入混合比例 | 1.0完全基于图像,0.5混合效果 |
| augmentation_level | augmentation_level | 0.0-10.0 | 0.0 | 图片增强程度 | 数据增强级别 | 0.0无增强 |
| optional_latents | optional_latents | LATENT类型(可选) | - | 可选的潜在空间输入 | 可选的潜在表示输入 | 高级用法,一般不用 |
| ddpm_from | ddpm_from | 1-1000 | 1000 | 扩散起始步数 | DDPM扩散起始时间步 | 1000是完全扩散,数值越小越快 |
| controlnet | controlnet | DC_CONTROL类型(可选) | - | 控制网络输入 | 可选的ControlNet输入 | 需要精确控制时使用 |
3.7 ToonCrafterDecode 节点
这个节点是干嘛的?
这是专门的解码器节点,把ToonCrafter生成的潜在空间数据转换成我们能看到的图片。就像把密码翻译成人话一样,把AI内部的数据变成可视的动画。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | DCMODEL类型 | - | 连接加载好的AI大脑 | 输入DynamiCrafter模型 | 连接模型加载节点 |
| latent | latent | LATENT类型 | - | 要解码的潜在数据 | 输入潜在表示数据 | 连接ToonCrafterInterpolation的输出 |
| vae_dtype | vae_dtype | fp32/fp16/bf16/auto | auto | 解码器精度 | VAE解码器数据类型 | auto自动选择 |
| prune_last_frame | prune_last_frame | True/False | False | 是否删除最后一帧 | 是否修剪最后一帧 | 避免重复帧时开启 |
3.8 DynamiCrafterBatchInterpolation 节点
这个节点是干嘛的?
这是批量插帧节点,能一次性处理多张图片,在每两张相邻图片之间生成平滑过渡。就像制作连环画动画一样,给它一堆关键帧,它能填补中间的动作。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | DCMODEL类型 | - | 连接加载好的AI大脑 | 输入DynamiCrafter模型 | 连接模型加载节点 |
| clip_vision | clip_vision | CLIP_VISION类型 | - | 连接图像理解大脑 | 输入CLIP视觉编码器 | 连接CLIP Vision模型 |
| positive | positive | CONDITIONING类型 | - | 正面提示词 | 正向条件提示 | 描述想要的动画风格 |
| negative | negative | CONDITIONING类型 | - | 负面提示词 | 负向条件提示 | 描述不想要的效果 |
| images | images | IMAGE类型 | - | 多张关键帧图片 | 输入图像序列 | 至少需要2张图片 |
| steps | steps | 1-200 | 50 | 生成质量控制 | 扩散模型采样步数 | 50步平衡质量和速度 |
| cfg | cfg | 0.0-20.0 | 7.0 | 听话程度 | 分类器自由引导强度 | 7.0是平衡值 |
| eta | eta | 0.0-20.0 | 1.0 | 随机性控制 | DDIM采样器随机性 | 1.0保持默认 |
| frames | frames | 1-100 | 16 | 每段插帧数量 | 每对图像间的帧数 | 16帧约1秒过渡 |
| seed | seed | 0-很大的数 | 0 | 随机种子 | 随机数生成种子 | 固定种子重现效果 |
| fs | fs | 2-100 | 10 | 帧率设置 | 视频帧率 | 10是标准值 |
| keep_model_loaded | keep_model_loaded | True/False | True | 是否保持模型在内存 | 是否保持模型加载状态 | True加快后续处理 |
| vae_dtype | vae_dtype | fp32/fp16/bf16/auto | auto | 图像编码器精度 | VAE编码器数据类型 | auto自动选择 |
| cut_near_keyframes | cut_near_keyframes | 0-5 | 0 | 关键帧附近裁剪帧数 | 关键帧附近的修剪帧数 | 避免关键帧重复时使用 |
3.9 DynamiCrafterLoadInitNoise 节点
这个节点是干嘛的?
这是初始噪声加载器,它加载特殊的噪声数据来改善动画生成效果。就像给画家提供特殊的画布一样,这个噪声能让生成的动画更加自然流畅。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | DCMODEL类型 | - | 连接加载好的AI大脑 | 输入DynamiCrafter模型 | 连接模型加载节点 |
| M | M | 1-1000 | 1000 | 噪声强度级别 | 扩散时间步数 | 1000是最强噪声,数值越小噪声越弱 |
| analytic_init | analytic_init | True/False | True | 是否使用分析式初始化 | 是否使用解析初始化 | True获得更好的初始化效果 |
3.10 DownloadAndLoadDynamiCrafterCNModel 节点
这个节点是干嘛的?
这是控制网络模型下载器,它下载专门用于精确控制动画生成的模型。就像给动画师提供更精细的画笔一样,让你能更精确地控制动画的细节。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | 下拉选择 | sketch_encoder-fp16.safetensors | 选择控制网络模型 | 选择ControlNet模型文件 | sketch_encoder用于线稿控制 |
3.11 DynamiCrafterCNLoader 节点
这个节点是干嘛的?
这是本地控制网络加载器,如果你已经下载好了控制网络模型,用这个节点从本地加载。它专门管理你电脑上的控制网络模型文件。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| ckpt_name | ckpt_name | 文件选择 | 根据需求选择 | 从controlnet文件夹选择模型 | 从controlnet目录选择模型文件 | 选择你下载的控制网络模型 |
3.12 DynamiCrafterControlnetApply 节点
这个节点是干嘛的?
这是控制网络应用器,它把控制网络和控制图像结合起来,让你能精确控制动画的生成过程。就像给动画师提供参考线稿一样,让AI按照你的指导来生成动画。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| controlnet | controlnet | DC_CN_MODEL类型 | - | 连接控制网络模型 | 输入ControlNet模型 | 连接控制网络加载节点 |
| images | images | IMAGE类型 | - | 控制图像序列 | 输入控制图像 | 连接用于控制的线稿或边缘图 |
| control_scale | control_scale | 0.0-1.0 | 0.6 | 控制强度 | ControlNet影响强度 | 0.6是平衡值,1.0完全按控制图像 |
使用技巧和建议
4.1 显存优化技巧
- 使用fp16精度可以节省约一半显存
- 开启fp8_unet可以进一步节省1-2GB显存
- 降低分辨率能显著减少显存使用
- 减少frames数量可以降低显存需求
4.2 质量提升技巧
- 增加steps数量可以提高生成质量
- 调整cfg值来控制对提示词的遵循程度
- 使用高质量的输入图片
- 合理设置帧率和帧数
4.3 工作流建议
- 先用低分辨率和少步数测试效果
- 确认效果满意后再用高质量设置
- 保持模型加载状态可以加快批量处理
- 使用固定种子可以重现满意的效果
常见问题解答
5.1 显存不足怎么办?
- 降低分辨率到512x320或256x256
- 使用fp16或fp8精度
- 减少生成帧数
- 关闭keep_model_loaded
5.2 生成速度太慢怎么办?
- 减少steps数量
- 使用较低分辨率
- 减少生成帧数
- 使用更快的GPU
5.3 生成效果不理想怎么办?
- 调整提示词描述
- 增加steps数量
- 调整cfg值
- 尝试不同的种子值
5.4 模型下载失败怎么办?
- 检查网络连接
- 使用手动下载方式
- 确保有足够的磁盘空间
- 尝试使用代理
总结
ComfyUI-DynamiCrafterWrapper插件是一个功能强大的图片动画化工具,包含12个节点,涵盖了从模型加载到动画生成的完整流程。通过合理配置参数和优化设置,你可以创造出令人惊艳的动画效果。