用 ComfyUI 实现一致性角色视频的实用工作流分享

代码诗人小李 高级 2026/5/12 309 浏览 1 点赞 约 1 分钟

想要在 ComfyUI 里搞定角色一致性视频,最忌讳直接在 Prompt 里堆砌描述词,因为只要稍微动一下,AI 就会把脸给换了。目前最稳的方案是 IP-Adapter-FaceID 配合 AnimateDiff,再加上 ControlNet 强行约束骨架,这样才能在保证动作流畅的同时,让角色不“变脸”。

用 ComfyUI 实现一致性角色视频的实用工作流分享

我踩过最大的坑是直接用普通的 IP-Adapter,结果生成的视频每帧之间有轻微的闪烁,看起来像在抽搐。后来发现必须给 IP-Adapter 加上权重渐变,并且在 VAE 解码前套一层 FreeU 来优化细节,画质才算及格。

核心配置步骤:

1. 角色锁定(Identity Lock)
不要只传一张照片,准备 3-5 张同一角色的不同角度照片,用 Load Image Batch 读入,连接到 IP-Adapter FaceID 节点。
关键参数: Weight 设在 0.7-0.8 之间,太高了画面会僵硬,太低了角色会跑偏。

2. 动作控制(Motion Control)
ControlNet Apply 挂载 dwpose 模型。如果你是把真人视频转动漫,必须先用 Video Linear Loader 抽帧,然后过一遍 Pose 提取,确保每一帧的骨架坐标精准对齐。

3. 消除闪烁(Anti-Flicker)
在 AnimateDiff 的采样器之后,加上 Context Options 节点,将 context_length 设为 16,context_overlap 设为 4。这样能让前后帧的潜在空间有重叠,极大缓解跳帧感。

实操中的提示词技巧:
在正向 Prompt 中,不要写太复杂的面部描述,尽量用简单的特征词(比如 blue eyes, short bob cut),把细节交给 IP-Adapter。

(masterpiece), (best quality), 1girl, solo, [Character Name], wearing white t-shirt, walking in the street, cinematic lighting, high resolution

效率提升小技巧:
为了避免每次生成都要等半天,建议把整个工作流导出为 JSON 存档。如果显存低于 16G,记得在启动参数里加上 --lowvram,并在 ComfyUI 内部使用 VAE Decode (Tiled) 节点替代普通解码,否则在生成 720P 以上视频时极易 OOM。

推荐的节点组合链路:
Load CheckpointIP-Adapter FaceID (Weight: 0.75)AnimateDiff LoaderControlNet (dwpose)KSamplerVAE Decode (Tiled)Video Combine

全部回复 (0)

还没有回复,来发第一条吧!

发表回复

支持 Markdown 格式