综合实例:在ComfyUI中制作视频动画

本实例为读者讲解如何在 ComfyUI 中生成一段视频动画,通过该实例,我们既可以复习 AnimateDiff 的操作步骤,又可以学习如何在 ComfyUI 中搭建文生视频工作流。图 8-43 所示为本实例制作完成的视频序列帧。

image 2025 04 14 12 04 26 837
Figure 1. 图8-43

搭建文生视频工作流

  1. 启动 ComfyUI 后,单击界面上方左侧+号形状的 “New workflow” 按钮,如图 8-44 所示,新建一个工作流,如图 8-45 所示。

    image 2025 04 14 12 05 10 205
    Figure 2. 图8-44
    image 2025 04 14 12 05 28 146
    Figure 3. 图8-45
  2. 右击并在弹出的快捷菜单中执行 “新建节点”|“AnimateDiff Evo”|“Gen1节点”|“AnimateDiff加载器Gen1” 命令,如图 8-46 所示,即可添加一个 “AnimateDiff加载器Gen1” 节点,并将其与 “Checkpoint加载器(简易)” 节点进行连接,如图 8-47 所示。

    image 2025 04 14 12 06 56 783
    Figure 4. 图8-46
    image 2025 04 14 12 07 18 909
    Figure 5. 图8-47
  3. 将 “AnimateDiff加载器Gen1” 节点与 “K采样器” 节点进行连接,如图 8-48 所示。

    image 2025 04 14 12 07 59 773
    Figure 6. 图8-48
  4. 将光标放到 “VAE解码” 的 “图像” 属性上拖出一条线,如图 8-49 所示。

  5. 在自动弹出的菜单中执行 “搜索” 命令,如图 8-50 所示。

    image 2025 04 14 12 08 53 127
    Figure 7. 图8-49
    image 2025 04 14 12 09 13 249
    Figure 8. 图8-50
  6. 在 “搜索” 对话框中输入 “动态” 后,在搜索结果中选择 “动态扩散合并” 选项,如图 8-51 所示,即可添加 “动态扩散合并” 节点并自动连接至 “VAE解码” 节点上,如图 8-52 所示。

    image 2025 04 14 12 09 57 447
    Figure 9. 图8-51
    image 2025 04 14 12 10 12 776
    Figure 10. 图8-52
  7. 设置完成后,一个文生视频工作流就搭建完成了,如图 8-53 所示。

    image 2025 04 14 12 10 47 157
    Figure 11. 图8-53

在默认工作流的基础上只需要再添加两个节点,就可以变成文生视频工作流。

使用文生视频工作流来生成视频

  1. 在 “Checkpoint加载器(简易)” 节点中,设置模型为 “Atomix.safetensors”,如图 8-54 所示。

  2. 在 “AnimateDiff加载器Gen1” 节点中,设置 “模型名称” 为 “mm_sd_v15_v2.ckpt”,如图 8-55 所示。

    image 2025 04 14 12 11 54 246
    Figure 12. 图8-54
    image 2025 04 14 12 12 15 293
    Figure 13. 图8-55
  3. 在两个 “CLIP文本编码器” 节点中分别输入正向提示词 “1girl, smile, black_hair,short_hair, upper_body,seaside, white_skirt, blue_sky, cloud,” 和反向提示词 “normalquality,worstquality,low quality,lowres,”,并提高这些反向提示词的权重均为 1.5,如图 8-56 所示。

  4. 在 “空Latent” 节点中,设置“宽度”为512、“高度”为768、“批次大小”为16,如图 8-57 所示。

    image 2025 04 14 12 13 06 118
    Figure 14. 图8-56
    image 2025 04 14 12 13 22 728
    Figure 15. 图8-57
  5. 单击 “添加提示词队列” 按钮,生成的视频效果如图 8-58 所示。

    image 2025 04 14 12 14 05 600
    Figure 16. 图8-58

使用图生图对序列帧进行重绘

  1. 启动 WebUI 界面,在 “模型” 选项卡中,单击 “Atomix” 模型,如图 8-59 所示,将其设置为 “Stable Diffusion模型”。

    image 2025 04 14 12 14 59 518
    Figure 17. 图8-59

    重绘选择的模型要与生成视频所用的模型一致才可以得到理想的视频效果。

  2. 在 “图生图” 选项卡中输入正向提示词 “1女孩,微笑,黑色头发,海边,蓝天,云” 后,按 Enter 键则可以生成对应的英文 “1girl,smile,black hair,over thesea,blue_sky,cloud,”。再输入反向提示词 “正常质量,低分辨率,低质量,最差质量” 后,按 Enter 键则可以生成对应的英文 “normal quality,lowres,low quality,worstquality,”,并提高反向提示词的权重均为 2,如图 8-60 所示。

    image 2025 04 14 12 16 15 821
    Figure 18. 图8-60
  3. 在本地硬盘上的D盘创建一个名称为 input 和一个名称为 output 的文件夹,在 “批量处理” 选项卡中,设置 “输入目录” 和 “输出目录” 至图 8-61 所示。

    image 2025 04 14 12 16 55 085
    Figure 19. 图8-61

    读者需要将上一节生成的动画序列帧复制到 input 文件夹中,另外,读者需要注意文件夹目录的书写方式。

  4. 在 “生成” 选项卡中,设置“迭代步数”为35、“宽度”为512、“高度”为768、“重绘幅度”为0.3,如图 8-62 所示。

    image 2025 04 14 12 17 41 166
    Figure 20. 图8-62
  5. 在“重绘尺寸倍数”卷展栏中,设置“尺度”为2,如图8-63所示。

  6. 在 ADetailer 卷展栏中,勾选 “启用After Detailer” 复选框,设置 “After Detailer模型” 为 “face_yolov8n.pt”,如图 8-64 所示。

    image 2025 04 14 12 18 20 742
    Figure 21. 图8-63
    image 2025 04 14 12 18 36 936
    Figure 22. 图8-64
  7. 单击 “生成” 按钮,即可开始对序列帧进行重绘,如图 8-65 所示。

    image 2025 04 14 12 19 17 301
    Figure 23. 图8-65
  8. 重绘完成后,序列帧图像仍然可以保持较好的一致性,并且图像的质量有了明显的提升。图 8-66 所示为重绘前后的效果对比。

    image 2025 04 14 12 19 45 257
    Figure 24. 图8-66

读者学习完 AI 视频动画制作后,不难发现,有的大模型虽然可以绘制出质量非常高的图像,但是用于生成视频时却感觉画质差了许多,这时将序列帧进行批量重绘,则可以有效提高视频的画质,并且还可以增大视频的分辨率。对于角色视频动画而言,我们还可以使用一些换脸插件来更改 AI 虚拟角色的面容。