找回密码
 立即注册
首页 业界区 业界 ComfyUI+通义万相 Wan2.1系列生成视频教程

ComfyUI+通义万相 Wan2.1系列生成视频教程

恿榫 3 天前
一、Wan2.1系列

Wan2.1 系列是阿里巴巴通义实验室推出的开源视频生成模型套件,共有 4 个模型,包括文生视频的 Wan2.1-T2V-1.3B 和 Wan2.1-T2V-14B,以及图生视频的 Wan2.1-I2V-14B
在权威评测集 VBench 中,Wan2.1 以总分 86.22% 的成绩登上榜首位置,大幅领先了 Sora、Minimax、Luma、Gen3、Pika 等国内外视频生成模型
具体来说,Wan2.1开源了文生视频和图生视频两种模型。
其中,文生视频模型有1.3B和14B两种大小,图生视频模型大小都是14B,不过,一个是480P,另一个是720P。
1.jpeg

大尺寸14B版本主打高性能,但1.3B小版本适合消费级显卡,只需要 8.2GB 显存就可以生成 480P 高质量视频。
也即是说,只要你有一张4060显卡(8G显存),就能跑得动这个模型,并且可以在大约4分钟以内生成5秒的480p视频。
刚好,ComfyUI官方也支持了Wan2.1模型,所以,这篇文章就带大家一步一步在本地部署Wan2.1模型。
二、ComfyUI

ComfyUI 和大家熟知的 WebUI 一样,都是 Stable Diffusion 的一种用户界面,可以实现文生图、图生图、图像处理、AI 视频生成等操作。但 ComfyUI 是节点式模块化的界面,需要用户自己搭建工作流,而且各方面的资源比较松散,需要自己安装部署,因此入门难度较高,不适合零基础的 AI 绘画小白,一般都推荐大家先掌握 Stable Diffusion WebUI 的用法,再学习 ComfyUI。
ComfyUI 越来越受欢迎,是因为用户可以按需要搭建自定义工作流,高效完成各种图像生成任务,很多最新的 AI 技术比如 SVD、InstantID 发布没多久就能在 ComfyUI 中用上,这点是 WebUI 做不到的;ComfyUI 会将图像生成流程保存为工作流(workflow)文件,下次使用时直接拖入界面加载就行,这样不仅方便自己复用已有工作流,还能轻松借用大神的生成作品;而且 ComfyUI 对低显存用户也更友好,在 WebUI 中容易爆显存生成任务在 ComfyUI 中可以顺利完成。
下载

夸克网盘
链接:https://pan.quark.cn/s/fed0656eb3f1
打开链接,只需要下载ComfyUI-aki-V202504版-无需密码.zip,其他文件不需要下载。
2.png

安装

解压zip文件,得到文件夹ComfyUI-aki-V202504版-无需密码,进入目录ComfyUI-aki-V202504版
双击文件,绘世启动器.exe
第一次打开,会提示安装组件windowsdesktop-runtime,安装提示下载安装即可。
安装完成,首页效果如下:
3.png

 点击左侧的高级选项-->环境维护-->安装PyTorch,选择最新版本CUDA 12.8,点击安装。
4.png

安装需要一点时间,请耐心等待
 
点击版本管理,更新到最新版本
5.png

三、ComfyUI模型文件下载

clip_vision下载

打开下面这个页面,下载clip_vision:
https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main/split_files/clip_vision
下载文件
6.png

 下载到本地后,移到下载到本地后,移到ComfyUI整合包的ComfyUI\models\clip_vision目录下。
7.png

diffusion_models下载

打开下面这个页面,下载diffusion_model:

https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main/split_files/diffusion_models
Wan2.1模型支持文生视频和图生视频两种方式,每种方式下又有14B和1.3B两种尺寸的模型,其中:

  • 文生视频

    • wan2.1_t2v_1.3B的模型,最大只支持生成832×480像素视频
    • wan2.1_t2v_14B的模型,支持1280×720像素和832×480像素视频

  • 图生视频

    • wan2.1_i2v_480p_14B的模型,最大支持生成832×480像素视频
    • wan2.1_i2v_720p_14B的模型,最大支持生成1280×720像素视频

8.png

同时,每个尺寸的模型下也有多个模型,根据生成质量的优劣,按照如下原则选择(质量等级从高到低):
fp16 > bf16 > fp8_scaled > fp8_e4m3fn
结合自己的显存大小,我选择这两个模型下载到本地:
文生视频:wan2.1_t2v_1.3B_fp16.safetensors,wan2.1_t2v_14B_fp16.safetensors
图生视频:wan2.1_i2v_480p_14B_fp8_scaled.safetensors
 
然后移到ComfyUI-aki-V202504版\ComfyUI\models\diffusion_models目录下面。
text_encoders下载

打开下面这个页面,下载text_encoders:
https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main/split_files/text_encoders

  • 如果显存 >= 12G,选择第一个text_encoder下载
  • 如果显存 < 12G,选择第二个text_encoder下载
选择第一个下载
9.png

 下载到本地后,移到下载到本地后,移到ComfyUI整合包的ComfyUI\models\text_encoders目录下。
vae下载

打开下面这个页面,下载vae:
https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main/split_files/vae
10.png

 下载到本地后,移到下载到本地后,移到ComfyUI整合包的ComfyUI\models\vae目录下。
四、工作流下载

打开下面这个页面,下载工作流:
https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main/example%20workflows_Wan2.1
我们根据第三步下载的diffusion_model,相对应地选择第一个和第三个工作流下载:
11.png

下载到本地后,移到下载到本地后,移到ComfyUI整合包的ComfyUI\user\default\workflows目录下。
五、文生视频

第一步,打开秋叶启动器,确保是最新版本,点击左上角,一键启动。
12.png

启动完成后,会自动打开网页: http://127.0.0.1:8188/
 
第二步,点击左边侧栏,打开文生视频工作流。
13.png

 第三步,调整diffusion_model、text_encoder和vae的配置,选择之前下载好的模型。
 
注意必须要手动选择,umt5 xxl fp16.safetensors
14.png

注意必须要手动选择,这里选择wan2.1 t2v 1.3B fp16.safetensors
15.png

注意必须要手动选择,wan 2.1 vae.safetensors
16.png

第四步,在CLIP文本编码器框输入正向提示词
17.png

这里的提示词如下:
  1. 阳光明媚的草原上,一位年轻的中国美女正在欢快地散步,镜头采用中景拍摄,完美捕捉到她全身的曼妙姿态。她有着标志性的可爱脸型,瓜子脸搭配长发自然卷,淡妆之下,笑起来时左右脸颊上绽放出两个浅浅的酒窝,尽显青春活力与甜美气质。淡蓝色连衣裙上点缀着白色与淡黄色小花,领口微微敞开,裙摆轻柔垂落至脚踝,随着微风轻轻摆动,展现出玲珑有致的身材曲线,健康优雅。她脚蹬一双舒适凉鞋,漫步绿草如茵的草地,阳光温柔洒落,为她披上一层柔和金辉,她时而轻笑,时而低头细嗅青草芬芳,满溢轻松愉悦。广袤草原延伸至远方,黄、红、紫等各色野花星星点点,蓝天白云高远澄净,共同勾勒出清新自然的夏日画卷,映衬着她活力四溢的年轻身姿。
复制代码
 
 完整流程如下:
18.png

 
最后点执行按钮,开始生成视频。
19.png

 
注意看,左上角会显示进度,中间顶部会显示CPU,内存,GPU的使用率
20.png

 
生成过程中,GPU使用率会很高
21.png

 
不过不用担心,大概2分钟左右,就可以完成了。
 
生成完成后,左下角,会播放效果
22.png

 
生成的图片,会保存在目录ComfyUI-aki-V202504版\ComfyUI\output
会出现一个ComfyUI_00001_.webp文件,打开文件,效果如下:
23.webp

这是1.3b的效果,花草有点模糊,人物轮廓比较清晰的,就是整体人物形态不太正常。
 
接下来,使用14b,测试效果
24.png

 
提示词如下:
  1. 一位身穿传统服饰的女性,她正坐在户外,双手合十,眼睛注视前方,似乎在进行祈祷。背景是绿色的树木和植物,植物清晰可见,阳光透过树叶洒在她的身上,营造出一种宁静、祥和的氛围。她的服装以淡雅的白色和粉色为主,带有精致的花纹,整体风格非常优雅。
复制代码
显卡有点吃力,需要等待20分钟
效果如下:
25.webp

这个就比较正常了,妥妥的一个大美女
六、图生视频

第一步,点击左边侧栏,打开图生视频工作流。
26.png

第二步,调整diffusion_model、text_encoder、clip_vision和vae的配置,选择之前下载好的模型。
 
注意必须要手动选择,umt5 xxl fp16.safetensors
27.png

 注意必须要手动选择,这里是wan2.1i2v 480p 14B fp8 scaled.safetensors
28.png

 注意必须要手动选择,wan 2.1 vae.safetensors
29.png

 注意必须要手动选择,clip vision h.safetensors
30.png

第三步,上传图片
点击upload,上传本地图片
31.png

图片下载地址为:https://img2.baidu.com/it/u=3946513537,3753906297&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1200
32.webp

 
在CLIP文本编码器框输入正向提示词
33.png

文本内容:
  1. 一位年轻美丽的女性,她面带灿烂的微笑,眼神明亮而温柔。她端着一盆色彩鲜艳、水果种类丰富的水果沙拉。她迈着轻快而优雅的步伐向我走来,仿佛带着满满的活力与清新之感。
复制代码
 
修改图片尺寸,因为图片是800x1200的,所以保存的图像,尺寸也要和原始图片一致才行。
34.png

 
图生视频的工作流,完整如下:
35.png

 
从上图可以看到,图生视频的工作流相比文生视频,有两个主要的区别:
1、多了一个clip_vision的节点;
2、diffusion_model换成了图生视频的模型。
 
最后点执行按钮
36.png

开始生成视频。
 
注意:耗时会比较长,因为用的是14b模型,16GB显存有点吃力。
整个过程,大概持续了35分钟,最后看一下效果图。
37.webp

 
我噻,效果还是比较惊艳了,尤其是她笑的笑容,爱了爱了...
七、webp转换为mp4

WebP简介

在众多图像格式中,WebP 是一种特殊的格式。它由 Google 开发,采用有损和无损压缩技术来减小文件大小,同时保持图像质量。此外,该格式还支持动画图像,其外观和感觉与 GIF 相似,但 WebP 的压缩率和质量比 GIF 更好。动画 WebP 文件可以包含具有不同压缩级别的一系列帧。目前,它的主要使用场景是浏览器上的静态图像。
 
上面的工作流程,最终输出的都是webp文件,如果需要转换为mp4文件,需要使用python代码实现,这个比较简单。
市场有一些专业软件,也可以实现,但是需要收费,很麻烦。
 
安装模块

安装 Pillow 和 OpenCV 库
  1. pip install pillow opencv-python
复制代码
转换脚本

convert_script.py
  1. import cv2
  2. import numpy as np
  3. from PIL import Image
  4. def webp_to_mp4(webp_path, mp4_path, fps=30):
  5.     # 打开 WebP 文件
  6.     image = Image.open(webp_path)
  7.     # 获取帧的尺寸
  8.     width, height = image.size
  9.     # 创建视频写入对象
  10.     fourcc = cv2.VideoWriter_fourcc(*'mp4v')
  11.     video = cv2.VideoWriter(mp4_path, fourcc, fps, (width, height))
  12.     # 遍历 WebP 文件的每一帧并写入视频
  13.     try:
  14.         while True:
  15.             frame = np.array(image.convert('RGB'))
  16.             frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
  17.             video.write(frame)
  18.             image.seek(image.tell() + 1)
  19.     except EOFError:
  20.         pass
  21.     # 释放资源
  22.     video.release()
  23. # 示例用法
  24. webp_to_mp4('input.webp', 'output.mp4', fps=30)
复制代码
这个脚本利用 Pillow 库读取 WebP 文件的每一帧,然后用 OpenCV 将这些帧写入 MP4 视频文件。
 
fps 参数是 “frames per second”(每秒帧数)的缩写,它定义了视频每秒显示的帧数,决定了视频的流畅度。以下是它的具体含义及常见取值:具体含义

  • 数值越大,视频越流畅:例如,fps=30 表示每秒播放 30 帧图像,画面会比较流畅,适合一般的视频需求。
  • 数值越小,视频可能卡顿:如果设置得太低,如 fps=5,画面可能会显得卡顿,适合一些对流畅度要求不高的场景。
常见取值

  • 电影:通常使用 24 帧每秒,这是电影行业的标准。
  • 视频:常见的是 30 帧每秒,适合大多数视频需求。
  • 游戏:一些游戏可能会使用更高的帧率,如 60 帧每秒甚至更高,以提供更流畅的视觉体验。
 
 
执行代码
  1. python convert_script.py
复制代码
会得到一个文件output.mp4
38.png

文件也不大,1.3MB
 
打开视频文件,能播放就可以了
39.png

 
 
本文参考链接:
https://zhuanlan.zhihu.com/p/30647063188
https://blog.csdn.net/weixin_59486588/article/details/147836457
 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册