22 · AnimateDiff 文生视频
用 SD 模型生成动画——AnimateDiff 工作流、参数、提示词游历
01 AnimateDiff 是什么
AnimateDiff 给 SD 模型装了一个「时间维度模块」——让 AI 理解帧与帧之间的运动关系,从而生成连贯的短视频动画。
它不改变 SD 模型本身,而是在采样过程中注入时间一致性信息。
02 安装与准备
安装
Manager 搜 AnimateDiff Evolved 安装。
模型文件
下载 AnimateDiff 运动模块(Motion Module),放到 models/animatediff_models/:
mm_sd_v15_v2.safetensors(SD 1.5)mm_sd_xl_v10.safetensors(SDXL)
03 基础文生视频工作流
关键改动:在 KSampler 前后加入 AnimateDiff 相关节点。
Load Checkpoint
↓
CLIP Text Encode
↓
AnimateDiff Loader + Empty Latent (batch_size=16)
↓
KSampler (denoise=1.0)
↓
VAE Decode
↓
AnimateDiff Combine (合并帧)
↓
Save Video (MP4/GIF)04 核心参数
| 参数 | 作用 | 推荐 |
|---|---|---|
frame_count / batch_size | 帧数 | 16-32 帧(1-2 秒) |
fps | 帧率 | 8-16(流畅即可) |
motion_scale | 运动幅度 | 0.5-1.0 |
context_length | 一次看多少帧 | 8-16(越大越连贯越吃显存) |
05 提示词驱动动画
在提示词中加入运动类词汇:
动态动词:walking, running, dancing, flying, floating, spinning
环境动态:wind blowing, leaves falling, water flowing, clouds moving
镜头运动:camera panning, zooming in, slow motion提示词游历(Prompt Travel)
让不同帧用不同的提示词,实现场景变化:
"0": "spring day, cherry blossoms"
"8": "summer day, green vegetation"
"16": "autumn day, falling leaves"
"24": "winter day, snow falling"06 AnimateDiff + ControlNet
用 ControlNet 固定每帧的构图:
- OpenPose:控制人物动作
- Canny/Depth:控制场景结构
这可能是文生视频里最强大的组合——动作可控 + 画面连贯。
💡 一句话总结:AnimateDiff = SD + 时间模块,16 帧起步,提示词里加运动动词,搭配 ControlNet 效果最稳。