Skip to main content

关于 Wan2.1-Fun-Control

Wan2.1-Fun-Control 是由阿里巴巴团队开发的开源视频生成与控制项目。它引入了创新的控制代码(Control Codes)机制,结合深度学习和多模态条件输入,能够生成符合预设控制条件的高质量视频。该项目专注于通过多模态控制条件对生成的视频内容进行精准引导。 目前,Fun Control 模型支持多种控制条件,包括 Canny(线稿)、Depth(深度)、OpenPose(人体姿势)、MLSD(几何边缘)以及轨迹控制。 该模型还支持多分辨率视频预测,分辨率可选 512、768 和 1024,帧率为每秒 16 帧,最长可生成 81 帧(约 5 秒)的视频。 模型版本:
  • 1.3B 轻量版:适合本地部署和快速推理,对显存要求较低
  • 14B 高性能版:模型体积达 32GB+,效果更优,但 需要更高的显存
模型权重下载

Wan2.1-Fun-1.3B-Control

轻量版,显存要求较低

Wan2.1-Fun-14B-Control

高性能版,文件大小 32GB+,显存要求较高
代码仓库VideoX-Fun ComfyUI 现已 原生支持 Wan2.1 Fun Control 模型。在开始本教程之前,请更新你的 ComfyUI,确保你的版本在此提交之后。 在本指南中,我们将提供两个工作流:
  1. 仅使用原生 Comfy Core 节点的工作流
  2. 使用自定义节点的工作流
由于原生节点目前在视频支持方面存在局限,仅使用原生节点的工作流可以确保用户无需安装自定义节点即可完成整个流程。 不过,我们发现如果没有自定义节点,要为视频生成提供良好的用户体验颇具挑战,因此本指南提供了两个版本的工作流。
请确保你的 ComfyUI 已经更新。本指南里的工作流可以在工作流模板中找到。如果找不到,可能是 ComfyUI 没有更新。如果加载工作流时有节点缺失,可能原因有:
  1. 你用的不是最新版(每夜版)。
  2. 启动时有些节点导入失败。

相关模型安装

这些模型你仅需要安装一次,另外在对应的工作流图片中也包含了模型下载信息,你可以选择你喜欢的方式下载模型。 下面的模型你可以在 Wan_2.1_ComfyUI_repackagedWan2.1-Fun 找到 点击对应链接进行下载,如果你之前使用过 Wan 相关的工作流,那么你仅需要下载 Diffusino models Diffusion models 选择 1.3B 或 14B, 14B 的文件体积更大(32GB)但是对于运行显存要求也较高, Text encoders 选择下面两个模型中的一个,fp16 精度体积较大对性能要求高 VAE CLIP Vision 文件保存位置

ComfyUI 原生工作流

在此工作流中,我们使用转换为 WebP 格式的视频,因为 Load Image 节点目前不支持 mp4 格式。我们还使用 Canny Edge 来预处理原始视频。由于许多用户在安装自定义节点时遇到安装失败和环境问题,此版本的工作流仅使用原生节点,以确保更顺畅的体验。 感谢我们强大的 ComfyUI 作者们,他们提供了功能丰富的节点。如果你想直接查看相关版本,请参阅使用自定义节点的工作流

1. 工作流文件下载

Wan2.1 Fun Control 原生工作流

在 Comfy Cloud 上运行

在 Comfy Cloud 中打开

下载工作流

下载工作流图片并将其拖入 ComfyUI 以加载工作流
输入材料

起始帧:wan2.1_fun_control_start_frame.png

此原生工作流的输入起始帧。下载并使用此图像,或替换为你自己的图像。

控制视频:01-portrait_video.webp

此原生工作流的 WebP 格式输入控制视频。由于 Load Image 不支持 mp4,原生工作流需要 WebP 格式。

2. 按步骤完成工作流

Wan2.1 Fun Control 工作流步骤
  1. 确保 Load Diffusion Model 节点已加载 wan2.1_fun_control_1.3B_bf16.safetensors
  2. 确保 Load CLIP 节点已加载 umt5_xxl_fp8_e4m3fn_scaled.safetensors
  3. 确保 Load VAE 节点已加载 wan_2.1_vae.safetensors
  4. 确保 Load CLIP Vision 节点已加载 clip_vision_h.safetensors
  5. 将起始帧上传到 Load Image 节点(已重命名为 Start_image
  6. 将控制视频上传到第二个 Load Image 节点。注意:此节点目前不支持 mp4,仅支持 WebP 视频
  7. (可选)修改提示词(支持英文和中文)
  8. (可选)在 WanFunControlToVideo 中调整视频尺寸,避免使用过大的尺寸
  9. 点击 Run 按钮,或使用快捷键 Ctrl(cmd) + Enter 来执行视频生成

3. 使用说明

  • 由于我们需要将与控制视频相同的帧数输入到 WanFunControlToVideo 节点,如果指定的帧数超过实际的控制视频帧数,多余的帧可能会显示不符合控制条件的画面。我们将在使用自定义节点的工作流中解决此问题
  • 避免设置过大的尺寸,因为这会使采样过程非常耗时。建议先生成较小的图像,然后再进行 upscale
  • 发挥你的想象力,在此工作流的基础上进行扩展,通过添加文生图或其他类型的工作流,实现直接的文生视频生成或风格迁移
  • 使用类似 ComfyUI-comfyui_controlnet_aux 的工具来实现更丰富的控制选项

使用自定义节点的工作流

我们将需要安装下面两个自定义节点: 你可以使用 ComfyUI Manager 安装缺失节点,或者按照每个自定义节点包的安装说明进行操作。

1. 工作流文件下载

Wan2.1 Fun Control 工作流

在 Comfy Cloud 上运行

在 Comfy Cloud 中打开

下载工作流

下载 JSON,或在模板库中搜索“Wan 2.1 ControlNet”
输入材料

起始帧图像:wan2.1_fun_control_start_frame.png

自定义节点工作流的输入起始帧。下载并使用此图像,或替换为你自己的图像。

控制视频:wan2.1_fun_control_control_video.mp4

自定义节点工作流的 MP4 格式输入控制视频。自定义 Load Video 节点支持 mp4 格式。

2. 按步骤完成工作流

Wan2.1 Fun Control 使用自定义节点的工作流步骤
模型部分基本是一致的。如果你已经体验过仅使用原生节点的工作流,可以直接上传对应的图像并运行。
  1. 确保 Load Diffusion Model 节点已加载 wan2.1_fun_control_1.3B_bf16.safetensors
  2. 确保 Load CLIP 节点已加载 umt5_xxl_fp8_e4m3fn_scaled.safetensors
  3. 确保 Load VAE 节点已加载 wan_2.1_vae.safetensors
  4. 确保 Load CLIP Vision 节点已加载 clip_vision_h.safetensors
  5. 将起始帧上传到 Load Image 节点
  6. 将 mp4 格式的视频上传到 Load Video(Upload) 自定义节点。请注意,工作流已调整默认的 frame_load_cap
  7. 对于当前图像,DWPose Estimator 仅使用 detect_face 选项
  8. (可选)修改 Prompt(中英文均支持)
  9. (可选)在 WanFunControlToVideo 中调整视频尺寸,避免使用过大的尺寸
  10. 点击 Run 按钮,或使用快捷键 Ctrl(cmd) + Enter 来执行视频生成

3. 工作流说明

感谢 ComfyUI 社区作者提供的自定义节点包:
  • 此示例使用 Load Video(Upload) 来支持 mp4 视频
  • Load Video(Upload) 获取的 video_info 使我们能够为输出视频保持相同的 fps
  • 你可以将 DWPose Estimator 替换为 ComfyUI-comfyui_controlnet_aux 节点包中的其他预处理器
  • Prompt 支持多种语言

使用技巧

Apply Multi Control Videos
  • 一个有用的技巧是,你可以组合多种图像预处理技术,然后使用 Image Blend 节点来实现同时应用多种控制方法的目的。
  • 你可以使用 ComfyUI-VideoHelperSuite 中的 Video Combine 节点将视频保存为 mp4 格式。
  • 我们使用 SaveAnimatedWEBP,因为我们目前不支持将工作流嵌入 mp4,而且一些其他自定义节点可能也不支持嵌入工作流。为了在视频中保留工作流,我们选择 SaveAnimatedWEBP 节点。
  • WanFunControlToVideo 节点中,control_video 不是必需的,所以有时你可以不使用控制视频,先生成非常小尺寸的视频(比如 320x320),然后再将它们作为控制视频输入,以获得一致的结果。
  • ComfyUI-WanVideoWrapper
  • ComfyUI-KJNodes