ComfyUI Sonic 工作流,数字人视频生成
Sonic 是腾讯开源的数字人模型,仅需要输入图片及音频即可输出不错的视频效果,
下面是原始 Sonic 相关的链接 项目页面:https://jixiaozhong.github.io/Sonic/ 在线体验:http://demo.sonic.jixiaozhong.online/ 项目源码:https://github.com/jixiaozhong/Sonic
最近已有社区用户完成了对应的插件集成,本教程基于 ComfyUI_Sonic 插件,复现 Sonic 的官方示例效果。
目前我在运行此工作流时仍旧有些问题,等待后期测试完成后,将会补充更新对应的说明到此教程中。
1. ComfyUI Sonic插件安装
此工作流依赖下面的插件,请确保在开始前已经完成了插件及依赖安装或下载工作流后使用 ComfyUI-manager 安装缺失节点
ComfyUI_Sonic: https://github.com/smthemex/ComfyUI_Sonic ComfyUI-VideoHelperSuite: https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite
如果你不熟悉对应的安装,请参考ComfyUI 插件安装教程完成对应插件的安装
2. Sonic 相关模型的下载及安装
在插件仓库作者有提供了对应的插件下载,如果对应下面对应的模型链接失效或无法访问,请访问插件作者仓库查看是否有更新
模型需要保存的位置如下,请将下载到的模型保存到对应的位置:
📁ComfyUI
├── 📁models
│ ├── 📁checkpoints
│ │ └── 📁video // video 文件夹主要为了模型分类使用,你也可以不创建这个文件夹
│ │ └── svd_xt_1_1.safetensors // svd_xt.safetensors 或者 svd_xt_1_1.safetensors 模型
│ └── 📁sonic // 新建 sonic 文件夹,所有内容保存在这个文件夹下,这部分的内容都来自 Google Drive
│ ├── 📁 whisper-tiny
│ │ ├── config.json
│ │ ├── model.safetensors
│ │ └── preprocessor_config.json
│ ├── 📁 RIFE
│ │ └── flownet.pkl
│ ├── audio2bucket.pth
│ ├── audio2token.pth
│ ├── unet.pth
│ └── yoloface_v5m.pt
2.1 Stable video diffusion 下面两个模型选择一个:
svd_xt_1_1.safetensors https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt-1-1/tree/main svd_xt_1_1.safetensors https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt-1-1/tree/main
2.2 下载 Sonic 相关模型
访问下面的网盘地址,并下载文件夹内所有的资源 sonic相关模型: https://drive.google.com/drive/folders/1oe8VTPUy0-MHHW2a_NJ1F8xL-0VN5G7W
2.3 下载 whisper-tiny 模型
whisper-tiny https://huggingface.co/openai/whisper-tiny/tree/main
仅下载下面三个文件
- config.json
- model.safetensors
- preprocessor_config.json
ComfyUI Sonic 工作流相关素材
请下载下面的音频、照片、以及工作流文件,或者使用你自己的素材
图片:
音频,请下载示例部分的任意音频: https://github.com/smthemex/ComfyUI_Sonic/tree/main/examples/wav
ComfyUI Sonic 工作流讲解
- 在序号
1
处,加载 stable video diffusion 相关模型 如svd_xt_1_1.safetensors - 在序号
2
处,上传音频文件,加载音频文件 - 在序号
3
处,上传示例图片 - 在序号
4
处,加载 unet.pth 模型文件 - 使用 Queue 或者快捷键
Ctrl(Command)+Enter
运行工作流进行图片生成
问题解决
- transformers 版本问题 由于该插件要求使用 transformers==4.43.2, 如果你的工作流无法正常运行请修改
📁ComfyUI
├── 📁custom_nodes
│ └── 📁ComfyUI_Sonic // 插件目录
│ └── requirements.txt // 依赖文件
请修改 requirements.txt 文件中的
#transformers ==4.43.2
去掉*#*号
transformers ==4.43.2
然后重启 ComfyUI 或者使用 pip 安装对应的依赖
- frame_rate 类型不匹配问题
在最后一个节点我遇到了数字类型不匹配的问题,我试着使用 primitive 节点作为输入
其它,由于目前还在测试这个工作流,如果你有更好的解决方案,欢迎在评论区留言,我会及时更新到这个教程中。