从零用 ComfyUI + AnimateDiff 生成 AI 动画:6GB 显卡也能跑

从零用 ComfyUI + AnimateDiff 生成 AI 动画:6GB 显卡也能跑

摘要:本文记录在 WSL/Ubuntu 环境下,用 6GB 显存显卡从零搭建 ComfyUI + AnimateDiff + LoRA 角色动画流水线的完整过程。包含安装、基模/运动模型下载、Kohya_ss LoRA 训练、工作流节点搭建,以及画面抖动、角色畸形的修复方案。适合想用消费级显卡跑 AI 视频生成的开发者。


📦 步骤一:环境搭

WSL Ubuntu,Python 3.10+。6GB 显存,不要碰 SDXL,SD 1.5 是唯一合理的选择。

ComfyUI

bash 复制代码
cd ~
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt --break-system-packages

--break-system-packages 是因为 WSL 环境通常没有独立 venv,你需要它来绕过 PEP 668 限制。

ComfyUI Manager(必装)

没有 Manager 你连插件都管不了:

bash 复制代码
cd ~/ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git

AnimateDiff 三件套

三个插件缺一不可:

bash 复制代码
cd ~/ComfyUI/custom_nodes

# 核心动效引擎
git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved.git

# 视频加载和输出
git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git

# 姿势/深度控制(ControlNet 预处理节点)
git clone https://github.com/Fannovel16/comfyui_controlnet_aux.git
pip install -r comfyui_controlnet_aux/requirements.txt --break-system-packages

📦 步骤二:模型下载

SD 1.5 基础模型

SD 1.5 是 6GB 显卡的最佳选择------SDXL 显存撑不住,Flux 更别想。

bash 复制代码
cd ~/ComfyUI/models/checkpoints
wget https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors

pruned-emaonly 版本约 4GB,比完整版小一半,出图质量基本一致。

AnimateDiff 运动模型 --- 踩坑警告

bash 复制代码
cd ~/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/models
wget https://hf-mirror.com/guoyww/animatediff/resolve/main/mm_sd_v15_v2.ckpt

⚠️ 这里有个坑 :从 hf-mirror 下载时可能得到两个文件------mm_sd_v15_v2.ckpt(142MB,残缺)和 mm_sd_v15_v2.ckpt.1(1.7GB,完整)。142MB 那个是下载中断的残留,加载会直接报错。

bash 复制代码
# 检查文件大小,如果 ckpt 只有 142MB:
ls -lh mm_sd_v15_v2.ckpt*

# 替换为完整文件
rm mm_sd_v15_v2.ckpt
mv mm_sd_v15_v2.ckpt.1 mm_sd_v15_v2.ckpt

📦 步骤三:Kohya_ss 训练 LoRA

你要让角色稳定出镜,光靠 prompt 不够,必须训 LoRA。

安装

bash 复制代码
cd ~
git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
./setup.sh

启动后浏览器打开 http://127.0.0.1:7860

训练配置

在 WebUI 里改这几个关键参数:

标签页 设置项
Dreambooth/LoRA Training type LoRA
Folders Image folder 你的训练图片目录
Folders Output folder ~/lora_output/
Folders Model folder ~/ComfyUI/models/checkpoints/
Parameters (Basic) LoRA type Standard
Parameters (Basic) Epochs 10
Parameters (Advanced) Network Rank 32

训练图片建议 10-15 张,包含不同角度、不同光照的角色面部特写。训练完成后把 my_character.safetensors 放到 ~/ComfyUI/models/loras/


🚀 步骤四:搭建 AnimateDiff 工作流

启动 ComfyUI:

bash 复制代码
cd ~/ComfyUI
python main.py --listen 0.0.0.0 --port 8188

浏览器打开 http://localhost:8188,清空画布,按以下顺序右键加节点。

4-1. 加载模型 + LoRA

  • loaders → Load Checkpoint:选 v1-5-pruned-emaonly.safetensors
  • loaders → Load LoRA
    • 把 Checkpoint 的 MODEL → LoRA 的 model
    • 把 Checkpoint 的 CLIP → LoRA 的 clip
    • LoRA 文件选 my_character.safetensorsstrength_model0.8

4-2. CLIP 文本编码

加两个 conditioning → CLIP Text Encode 节点,CLIP 都从 Load LoRA 接。

正面 prompt

复制代码
1girl, a girl sitting at desk in dark office at night, computer screen light on face, short black hair, white shirt, tired expression, cinematic lighting, solo

负面 prompt

复制代码
long hair, blonde, curly hair, 2girls, multiple people, ugly, deformed, blurry, low quality

4-3. 潜空间图像

AnimateDiff → ADE_EmptyLatentImageLarge

  • width: 512, height: 512, batch_size: 24

batch_size 就是你要生成的帧数。24 帧 × 8fps = 3 秒视频。

4-4. AnimateDiff 运动模型

AnimateDiff → ADE_AnimateDiffLoaderGen1

  • model 从 Load LoRA 接
  • model_namemm_sd_v15_v2.safetensors
  • beta_schedule 保持 autoselect

4-5. 采样器

sampling → KSampler,这是整个流程的枢纽:

连线来源 连到 KSampler
AnimateDiff Loader MODEL model
正面 CLIP CONDITIONING positive
负面 CLIP CONDITIONING negative
ADE_EmptyLatentImageLarge LATENT latent_image

参数:seed=randomize, steps=20, cfg=7, sampler=euler, scheduler=simple, denoise=1

4-6. 解码 + 输出

  • vae → VAE Decode:KSampler LATENT → VAE Decode samples ;Checkpoint VAE → VAE Decode vae
  • VideoHelperSuite → VHS VideoCombine:VAE Decode IMAGE → VideoCombine images
    • frame_rate: 8, format: image/gif(或 video/h264-mp4),loop_count: 0,save_output: 勾上
  • image → Preview Image:VideoCombine IMAGE → Preview Image images

全部连完,Ctrl + Enter 开跑。输出文件默认存到 ~/ComfyUI/output/

💡 想直接输出到 Windows 桌面?在 WSL 下做一个软链接:

bash 复制代码
mkdir -p /mnt/c/Users/20205/Desktop/ComfyUI-output
rm -rf ~/ComfyUI/output
ln -s /mnt/c/Users/20205/Desktop/ComfyUI-output ~/ComfyUI/output

之后每次生成,GIF/MP4 直接出现在桌面 ComfyUI-output 文件夹。


💡 避坑指南

坑 1:运动模型文件残缺

现象 :AnimateDiff Loader 加载 mm_sd_v15_v2.ckpt 时报错,或者生成全黑/全噪点。

原因 :从 hf-mirror.com 下载大文件时可能中断,残留一个 142MB 的不完整文件。而完整文件被保存为 mm_sd_v15_v2.ckpt.1

解决ls -lh 检查文件大小,小于 1GB 就是残缺的。删除小文件,把 .ckpt.1 重命名为 .ckpt

坑 2:画面帧之间跳跃、扭曲

现象:生成的 GIF/MP4 中人物偶尔变形,帧与帧之间过渡不自然,出现"融化"效果。

原因:AnimateDiff 默认的上下文窗口不够大,相邻帧之间的运动连续性不足。

解决 :右键画布,添加 AnimateDiff → ADE_ContextOptions

  • context_length: 16
  • context_stride: 1
  • context_overlap: 4

把这个节点的 CONTEXT_OPTIONS 输出连到 AnimateDiff Loader 的 context_options 输入。这会让模型以 16 帧为上下文窗口、相邻窗口重叠 4 帧,大幅提升帧间一致性。

坑 3:LoRA 角色的脸反复崩坏

现象:加了 LoRA 但角色面部仍然不稳定,有时像本人有时完全变样,尤其运动幅度大的帧。

原因 :只设了 strength_model 没设 strength_clip。CLIP 强度控制的是文本导向------LoRA 对 prompt 的影响力。默认 strength_clip 可能低于 strength_model,导致角色特征被 prompt 淹没。

解决 :把 Load LoRA 的 strength_clip 调到和 strength_model 一样:

复制代码
strength_model: 0.8
strength_clip: 0.8    # 改这个

如果还不行,降运动幅度:添加 AnimateDiff → ADE_AnimateDiffSettings,设 motion_scale: 0.7,输出连到 Loader 的 ad_settings。越低越稳(像静态图),0.5-1.0 之间找你的平衡点。


总结

这套方案的核心思路是:SD 1.5 + LoRA 角色绑定 + AnimateDiff 低运动幅度 + 上下文窗口。6GB 显存跑 SDXL 都吃力,更别说 SVD 或 AnimateDiff v3------SD 1.5 是唯一能在消费级硬件上稳定产出 512×512 动画的路线。LoRA 用来锁定角色一致性,ContextOptions 和 motion_scale 两个参数是画面质量的最后一道防线。

相关推荐
动物园猫1 天前
行人细分目标检测数据集:3类别、4,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
船厂电气自动化ai大模型1 天前
AI大模型与数学·第57课 傅里叶全套工具链综合实战:串联级数/连续变换/DFT/FFT,图像、音频、扩散模型完整例题
数据结构·人工智能·深度学习·算法·机器学习
v:ychya20181 天前
2026 外贸 GEO 实操:4 步让独立站被 ChatGPT 优先引用
人工智能·chatgpt
cd_949217211 天前
角色模型用AI生成纹理靠谱吗,能直接用于游戏吗?
人工智能·游戏
YOLO数据集集合1 天前
车牌目标检测数据集 | 车牌检测 智能交通 车辆识别 目标检测8003期
人工智能·目标检测·计算机视觉·车牌检测·非机动车车牌
IT_陈寒1 天前
SpringBoot自动配置失效?你可能漏了这个小开关
前端·人工智能·后端
磁场转动100万匹1 天前
OpenCV 答题卡识别判卷实战:从图像预处理到自动评分
人工智能·opencv·计算机视觉
cd_949217211 天前
AI自动生成纹理能保持角色不同部位风格一致吗?
人工智能
人工智能培训1 天前
人工智能数据安全下的个人信息保护实践方案
大数据·人工智能·算法·生活
大象AI共学1 天前
# 【AI成本治理】额度缩水 44%-76% 之后的自查清单:10 题体检表 + 三档模型组合 + 免费/本地化实测方案
人工智能