comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗?
在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案:
核心工作流配置(24fps下5秒=120帧)
输入图片 AnimateDiff Loader Context Options Motion LoRA KSampler VAE Decode 视频输出
关键节点配置详解
-
AnimateDiff Loader 设置:
pythonmotion_module: "mm_sd_v15_v2.safetensors" # 推荐模块 context_length: 16 # 初始上下文长度
-
Context Options 扩展帧数:
pythoncontext_schedule: "uniform" # 最稳定的方案 context_length: 120 # 目标帧数(5秒*24fps) overlap: 4 # 帧重叠减少跳帧 closed_loop: False # 设为True可循环但可能重复
-
Motion LoRA 增强连续性(推荐安装AnimateDiff-Evolved):
pythonlora_name: "v2_lora_PanUp.pt" # 垂直运动 strength: 0.7
-
KSampler 关键参数:
pythonsteps: 25-30 cfg: 7-8 sampler: "dpmpp_2m_sde_gpu" denoise: 0.65 # 保持图像一致性
延长视频的3种方案
方案1:单次生成(需12GB+显存)
python
# 在Context Options直接设置
"context_length": 120
"context_overlap": 8
优点 :一次性生成
缺点:显存要求高
方案2:分段生成+拼接(适合8GB显存)
原图 生成0-40帧 取第35帧为种子 生成35-75帧 取第70帧为种子 生成70-120帧 视频拼接节点
方案3:插帧延长(质量最佳)
python
# 工作流添加
VAE Decode --> RIFE插值节点 --> Flowframes插值 --> 视频输出
# 插值节点设置
初始帧数:60(2.5秒)
RIFE模型:v4.6
插值倍数:2x
Flowframes补偿:光流补偿开启
生成60帧后插值到120帧,画质更流畅
必备扩展安装
-
AnimateDiff-Evolved:
https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
-
视频处理套件:
https://github.com/FizzleDorf/ComfyUI_FizzNodes
-
插值工具:
https://github.com/BlenderNeko/ComfyUI_RIFE
高级技巧
-
运动控制:
python# 在正向提示词添加 "pan_up", "zoom_out", "slow_motion:1.2"
-
关键帧提示:
python# 使用Schedule提示 "0-30: 城市全景; 30-60: 镜头推进; 60-120: 特写细节"
-
内存优化:
python在KSampler前添加: Latent Scale → 设置0.75倍缩小 输出前用UltimateSDUpscale还原
示例工作流JSON
json
{
"nodes": [
{
"type": "AnimateDiffLoaderV1",
"motion_model": "mm_sd_v15_v2.safetensors",
"context_length": 120
},
{
"type": "ADE_ContextOptions",
"context_schedule": "uniform",
"context_length": 120,
"overlap": 4
},
{
"type": "ADE_ApplyLora",
"lora_name": "v2_lora_PanUp.pt",
"strength": 0.7
},
{
"type": "KSampler",
"steps": 28,
"cfg": 7.5,
"sampler": "dpmpp_2m_sde_gpu",
"denoise": 0.65
},
{
"type": "VAEDecode"
},
{
"type": "RIFE_VFI",
"model": "rife_v4.6",
"factor": 2
}
]
}
重要提示 :当生成超过80帧时,务必开启
--highvram
启动参数,并在KSampler中使用"denoise": 0.6-0.7
保持画面稳定性