本机 AI 视频生成(ComfyUI + Wan / LTX)
基线机器:RTX 4060 Laptop 8G 显存 / 32G 内存 / Win11。 定位:本地出低分辨率、几秒的动漫短视频(自媒体够用)。别把 8G 当 16G 用。
何时用
用户说"跑视频模型/文生视频/图生视频",或要把本地视频生产环境交给执行成员(团队成员等)继续实验时。
先建立认知(选型不走错)
- 文生视频(T2V) 与 图生视频(I2V) 是两套模型,不能互相替代:
- Wan2.1-1.3B 只有 T2V;Wan 的 I2V 只有 14B(8G 跑不动)。
- 8G 能跑的 I2V = LTX-2B fp8(另需 t5xxl 编码器)。
- 长视频/人物一致性:纯 T2V 做不到"同一主角多段连续";正解是 I2V 用同一张角色图做首帧,逐段生成再拼接。T2V 硬拼 N 段必人物漂移。
- Ollama 与 ComfyUI 模型不通用:Ollama 是语言模型(写提示词/剧情),ComfyUI 是扩散模型(出片)。是配合分工,不是替代。
部署顺序(按序做;跳步必踩坑)
1) 安装 ComfyUI 便携版(放 D 盘,勿占 C 盘)
- 从
Comfy-Org/ComfyUIGitHub release 取ComfyUI_windows_portable_nvidia.7z(自带 Python + torch + CUDA)。 - ⚠️ bash 下
7z x -o"/d/..."的 MSYS 路径会被转换坏,产物不落目标目录(解压报成功但目录空)。→ 用 Python subprocess 传原生 Windows 路径调用 7z。
2) 升级 ComfyUI 到最新版(旧版没有 Wan/LTX 节点)
- GitHub 直连常
Connection was reset→ 先配置镜像:git config --global url."https://ghfast.top/https://github.com/".insteadOf "https://github.com/",再git pull --ff-only origin master。
3) 升级 Python 依赖:python_embeded\python.exe -s -m pip install -r ComfyUI\requirements.txt(新版会新增 comfy-kitchen 等)。
4) torch 必须与 comfy-kitchen 匹配(按症状逐级排查):
| 症状 | 根因 | 处理方式 |
|---|---|---|
module 'torch.library' has no attribute 'custom_op' | torch < 2.4 | 升级 torch |
infer_schema ... unsupported type list[int] | torch 与 comfy-kitchen 不匹配 | 升级到 cu130 的 torch(2.14+) |
cudaErrorNotSupported / likely using older driver | 驱动 CUDA 版本不够 | 升级 NVIDIA 驱动 |
- 先检查驱动上限:
nvidia-smi看CUDA Version;要 CUDA 13 就必须升级驱动。 - 获取最新驱动:NVIDIA 驱动查询 API(
AjaxDriverService,RTX40 系列笔记本 psid=138/pfid=1005)获取DownloadURL;下载时需带浏览器 User-Agent + Referer,否则 403。静默安装-s -noreboot;安装后nvidia-smi确认,通常无需重启 torch 即可识别 GPU。
5) 模型必须使用 ComfyUI 标准格式(最容易踩的坑)
- 从
Comfy-Org/Wan_2.1_ComfyUI_repackaged的split_files/下获取 safetensors 格式:diffusion_models/wan2.1_t2v_1.3B_fp16.safetensors(约 2.8G)text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors(约 6.7G)vae/wan_2.1_vae.safetensors(约 0.25G)
- ⚠️ 使用 Wan 官方原始
.pth文件(如models_t5_umt5-xxl-enc-bf16.pth)→ 会报Cannot copy out of meta tensor; no data!(在 CLIPTextEncode 阶段)。这是格式/命名不匹配,不是显存问题——不要调整显存参数。 - 国内下载:HuggingFace 直连不通 → 使用 hf-mirror.com;
curl -C - --retry 999 --retry-all-errors断点续传。 - 存放位置:
ComfyUI\models\{diffusion_models,text_encoders,vae}\。
6) 安装 ffmpeg(视频编码必需):python_embeded\python.exe -s -m pip install imageio-ffmpeg imageio(自带静态 ffmpeg)。缺少它会导致 SaveVideo 阶段报 [Errno 22]。
7) 启动服务
python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --disable-async-offload > log.txt 2>&1
--disable-async-offload:在 8G 显存下避免文本编码器权重停留在 meta device。- ⚠️⚠️ 绝不要使用
| head/| tee管道启动此类长驻服务:tqdm 进度条写入已关闭的管道 →[Errno 22] Invalid argument直接中断 KSampler,看起来像模型报错,其实是启动方式问题。使用> 日志 2>&1重定向。这条坑对任何长驻进程/网关同样成立——管道关闭会连带杀死进程。 - 判断就绪:
netstat -ano | grep :8188显示 LISTENING。
运行文生视频(T2V)
- 节点链直接复制
templates/wan21_t2v_workflow.json:CLIPLoader(type=wan) + VAELoader + UNETLoader + EmptyHunyuanLatentVideo + CLIPTextEncode(正/负) + KSampler + VAEDecode + CreateVideo + SaveVideo- 视频 latent 使用 EmptyHunyuanLatentVideo;输出必须经过 CreateVideo → SaveVideo。
- ⚠️
VAEDecode输出是 IMAGE,直接连接 SaveVideo 会报received_type(IMAGE) mismatch input_type(VIDEO)。
- 提交请求:
POST http://127.0.0.1:8188/prompt,body 格式{"prompt": {节点id: {class_type, inputs}}};返回结果包含node_errors:{}即验证通过。 - 查询进度:
GET /history/<prompt_id>查看status.status_str(running/success/error);error 时读取messages中的execution_error(包含node_id/node_type/exception_message)。 - 8G 显存实测可用参数:832×480 分辨率、length 33(约 2 秒)、steps 15-20、cfg 5.5-6.0、fps 16。超出限制会 offload 到内存,速度极慢。
- 生成产物位于
ComfyUI\output\*.mp4;使用imageio_ffmpeg.get_ffmpeg_exe()调用 ffmpeg 验证时长/分辨率。
运行图生视频(I2V)
- 使用 LTX-2B:
ltxv-2b-0.9.8-distilled-fp8.safetensors(约 4.5G)→ 放入models\diffusion_models\;文本编码器使用 t5xxl:t5xxl_fp8_e4m3fn.safetensors(约 4.9G,来源于comfyanonymous/flux_text_encoders)→ 放入models\text_encoders\。 - ⚠️ LTX 使用 t5xxl、Wan 使用 umt5,两者不通用,都需要下载。
- 一致性策略:固定一张角色图作为首帧逐段生成,或使用 IPAdapter/InstantID 注入角色。
运行前准备(8G 显存)
- 关闭 Chrome 等占用显存的软件(系统/桌面常占约 1.2G,Chrome 可占约 1.9G)。
- 单任务串行执行,不要并发多个生成。
交付给执行成员
交接文档结构(按此编写):环境路径 → 启动命令(含参数)→ 模型清单(文件名+目录+大小)→ 可复用工作流 JSON → 8G 参数心法 → 踩坑速查 → 下一步待办。
参考
templates/wan21_t2v_workflow.json— 实测跑通的 Wan2.1-1.3B 文生视频工作流(ComfyUI API 格式,可直接 POST)
关于作者
九品锦锂e | 把踩过的坑封装成「拿来就能跑」的 skill,不写教科书。
这个 skill 是我自己在用的版本,里面每条坑都是真踩过的。使用的时候卡住了、想要进阶玩法、或者有别的场景想让我封装成 skill,直接加我微信说,加时备注「SkillHub」我优先通过:

扫码添加作者微信 · 备注「SkillHub」优先通过