WorkBuddy + 本地 ComfyUI 完全使用手册:从出图到视频生成
在本地 MCP 链路跑通后,WorkBuddy 能做什么?怎么做?本文用真实测试案例告诉你——从文生图、文生视频到工作流调用、多阶段管道,每个场景都有可直接复制的提示词和参数。
本系列持续更新中……
Comfy MCP 公测:把 Claude、Cursor、CodeX、Hermes 和 WorkBuddy 变成你的创意技术专家
Comfy Cloud MCP Server 抢先体验申请图文教程
QClaw 配置 Comfy Cloud MCP,只需简单几步
WorkBuddy 接入 Comfy Cloud MCP 完整实录:从 DNS 污染到 31 个工具全部启用
WorkBuddy + 本地 Comfy MCP 实战:用自然语言调生成你的第一张 AI 图片
WorkBuddy 连接本地 ComfyUI:从零到出图的保姆级教程
WorkBuddy + 本地 ComfyUI Wan2.1 文生视频实战:从连续报错到成功出片的完整踩坑记录
目录
- 一、能力总览
- 二、使用前的准备
- 三、场景一:文生图(SDXL)
- 四、场景二:文生视频(Wan2.1 t2v)
- 五、场景三:调用已有工作流
- 六、场景四:多阶段管道
- 七、场景五:图生视频(Wan2.2 Animate)
- 八、自然语言指令速查表
- 九、参数调优指南
- 十、常见问题与避坑
- 十一、视频生成工作流 JSON 模板
一、能力总览
WorkBuddy 连接本地 ComfyUI 后,你拥有以下能力:
| 能力 | 说明 | 典型耗时 |
|---|---|---|
| 文生图 | 文字描述 → 图片(SDXL/SD3.5/Flux 等) | 8-30 秒 |
| 文生视频 | 文字描述 → 视频(Wan2.1 t2v) | 2-5 分钟 |
| 图生视频 | 图片 + 提示词 → 视频(Wan2.2 Animate) | 5-15 分钟 |
| 图片放大 | ESRGAN 超分辨率(2x/4x) | 5-15 秒 |
| 背景移除 | BiRefNet 智能抠图 | 10-30 秒 |
| 工作流调用 | 加载已保存的工作流并执行 | 取决于工作流 |
| 工作流分析 | 可视化工作流结构 | 即时 |
| 模型管理 | 列出/搜索本地模型 | 即时 |
硬件基础:RTX 3090 24GB + 320 个自定义节点 + 57 个 checkpoint + 177 个 LoRA + 45 个 ControlNet
二、使用前的准备
2.1 确保两个进程都在运行
bash
# 终端 1:启动 ComfyUI(保持窗口开着) cd H:\PythonProjects3\Win_ComfyUI python main.py --enable-manager --enable-assets --enable-triton-backend --async-offload --use-flash-attention --enable-dynamic-vram # 终端 2:启动 MCP 服务器(保持窗口开着) npx -y comfyui-mcp --http --port 91002.2 在 WorkBuddy 中确认连接器状态
- 打开 WorkBuddy → 右上角连接器管理
comfyui-local开关应为绿色(已信任)- 显示 113 个工具已启用
2.3 验证连接
直接对 WorkBuddy 说:
"检查一下本地 ComfyUI 的系统状态"
WorkBuddy 会调用get_system_stats工具,返回 GPU 型号、显存、队列状态等信息。
三、场景一:文生图(SDXL)
3.1 基本用法
直接用自然语言告诉 WorkBuddy:
"用本地 ComfyUI 生成一张赛博朋克城市的图片,霓虹灯,雨天,1024x1024"
3.2 推荐参数组合
| 风格 | 模型 | 采样器 | 步数 | CFG | 调度器 |
|---|---|---|---|---|---|
| 快速测试 | sdxl_lightning_4step | euler | 4 | 1.0 | normal |
| 标准生成 | sd_xl_base_1.0 | dpmpp_2m | 20 | 7.5 | karras |
| 高质量 | sd_xl_base_1.0 | dpmpp_2m_sde | 30 | 7.0 | karras |
| 动漫风格 | (你的动漫 SDXL 模型) | euler_ancestral | 25 | 7.0 | normal |
3.3 实测案例
提示词:
masterpiece, best quality, a red vintage sports car parked on a coastal highway at sunset, ocean waves in background, golden hour lighting, cinematic, highly detailed, 8k uhd参数:sd_xl_base_1.0 / dpmpp_2m / karras / 20 步 / CFG 7.5 / 1024x1024
结果:8 秒出图,质量清晰
3.4 ⚠️ Lightning 模型避坑
SDXL Lightning 4-step 模型必须使用以下参数,否则出白图:
采样器:euler(不是 dpmpp_2m_sde!) 调度器:normal(不是 karras!) CFG:1.0(不是 7.5!) 步数:4四、场景二:文生视频(Wan2.1 t2v)
4.1 基本信息
| 项目 | 值 |
|---|---|
| 模型 | wan2.1_t2v_1.3B_fp16.safetensors |
| 文本编码器 | UMT5-XXL bf16 |
| VAE | Wan2_1_VAE_bf16.safetensors |
| 默认分辨率 | 832×480 |
| 默认帧数 | 81 帧 @ 20fps ≈ 4 秒 |
| 采样步数 | 20 步 |
| RTX 3090 生成时间 | 约 3 分钟 |
4.2 使用方法
直接告诉 WorkBuddy:
"用 Wan 生成一段猫咪追球的 4 秒视频"
或者更具体:
"用本地 ComfyUI 的 Wan2.1 t2v 模型生成一段 4 秒视频:一只橘猫在花园里追红色小球,阳光明媚,动态运动,832x480 分辨率"
4.3 实测案例
提示词:
a cute orange cat chasing a red ball across a green garden lawn, running playfully, dynamic motion, sunny day, vivid colors, 4k, high quality负面提示词:
low quality, blurry, deformed, ugly, watermark, text, static, no motion, worst quality, jpeg artifacts参数:
- 分辨率:832×480
- 帧数:81(@ 20fps = ~4 秒)
- 采样器:euler
- 步数:20
- CFG:3.5
- Shift:5.0
- Seed:42
结果:174 秒生成,输出 MP4 文件 1.3MB
4.4 视频参数调整
| 需求 | 修改 |
|---|---|
| 更长视频 | num_frames改为 121(6 秒)/ 161(8 秒),帧数必须是 4 的倍数+1 |
| 更高分辨率 | width/height改为 1280×720(显存需求大增) |
| 更快生成 | steps改为 15(质量略降) |
| 更高质量 | steps改为 30(时间翻倍) |
| 不同风格 | 修改positive_prompt |
| 固定种子 | 保持seed不变可复现结果 |
4.5 工作流节点结构
LoadWanVideoT5TextEncoder ──→ WanVideoTextEncode ──→ WanVideoSampler ──→ WanVideoDecode ──→ VHS_VideoCombine ↑ ↑ WanVideoModelLoader ─────────────────────────────────┘ │ WanVideoEmptyEmbeds ─────────────────────────────────→ ┘ │ WanVideoVAELoader ──────────────────────────────────────────────────────→┘节点说明:
| 节点 | 作用 | 关键参数 |
|---|---|---|
| LoadWanVideoT5TextEncoder | 加载 UMT5-XXL 文本编码器 | model_name, precision, load_device |
| WanVideoModelLoader | 加载视频扩散模型 | model, base_precision, quantization |
| WanVideoTextEncode | 编码文本提示词 | positive_prompt, negative_prompt |
| WanVideoEmptyEmbeds | 创建空图像嵌入(文生视频用) | width, height, num_frames |
| WanVideoVAELoader | 加载 VAE 解码器 | model_name, precision |
| WanVideoSampler | 核心采样器 | steps, cfg, shift, seed, scheduler |
| WanVideoDecode | 将潜空间解码为视频帧 | enable_vae_tiling, tile_x/y |
| VHS_VideoCombine | 合成视频文件 | frame_rate, format |
五、场景三:调用已有工作流
5.1 查看已有工作流
你本地保存了 68 个工作流。告诉 WorkBuddy:
"列出我本地 ComfyUI 的所有视频相关工作流"
5.2 可用工作流示例
| 工作流文件 | 功能 |
|---|---|
video_wan2_2_14B_animate.json | Wan2.2 动作迁移视频 |
Wan-Animate【动作迁移】换人-高质量+高细节.json | 高质量换人动画 |
Kandinsky 5.0 Video Lite 图生视频video_kandinsky5_i2v.json | Kandinsky 图生视频 |
image_qwen_image_edit_2509.json | 千问图片编辑 |
flux_kontext_dev_basic.json | Flux 上下文编辑 |
whisper_video_subtitles_workflow.json | 视频自动字幕 |
扩图flux_fill_outpaint.json | 图片扩边 |
5.3 调用方式
"运行我的 Wan2.2 Animate 工作流,用这张图片作为输入"
WorkBuddy 会:
list_workflows— 找到工作流analyze_workflow— 分析参数需求- 提示你提供必要输入(如参考图片、提示词)
enqueue_workflow— 提交执行- 轮询等待完成
六、场景四:多阶段管道
6.1 概念
把多个生成阶段串起来,前一步的输出作为后一步的输入。
6.2 示例管道
"生成一只猫的图 → 放大 4 倍 → 抠去背景"
WorkBuddy 会编排:
阶段 1: generate_image("a cute cat") → output/cat.png ↓ 阶段 2: upscale_image(cat.png, scale=4) → output/cat_4x.png ↓ 阶段 3: remove_background(cat_4x.png) → output/cat_cutout.png6.3 更复杂的管道
"生成一只猫 → 用 Wan2.2 Animate 做成视频 → 加上字幕"
阶段 1: generate_image → cat.png 阶段 2: animate_image(cat.png) → cat.mp4 阶段 3: add_subtitles(cat.mp4, "A cat playing") → cat_subtitled.mp4七、场景五:图生视频(Wan2.2 Animate)
7.1 前提条件
你有以下 Wan2.2 模型:
Wan2_2-Animate-14B_fp8_e4m3fn_scaled_KJ.safetensors— 动作迁移Wan2.2-Animate-14B-Q4_K_S.gguf— GGUF 量化版Wan2.2-Fun-A14B-Control_HighNoise/LowNoise-Q5_K_S.gguf— 控制生成
7.2 使用方式
Wan2.2 Animate 需要参考视频来提取动作,然后将动作迁移到新生成的角色上。
"用 Wan2.2 Animate 把这个跳舞视频的动作迁移到一只猫身上"
7.3 注意事项
- Wan2.2 Animate 是 14B 模型,RTX 3090 24GB 需要使用 block swap
- 建议使用 GGUF 量化版(Q4_K_S)以减少显存占用
- 参考视频建议 5-10 秒,分辨率不超过 720p
- 生成时间约 10-30 分钟(取决于帧数和分辨率)
八、自然语言指令速查表
8.1 图片生成
| 说法 | WorkBuddy 会做什么 |
|---|---|
| "生成一张[描述]的图片" | 选择合适模型,构建 txt2img 工作流 |
| "用 SDXL 生成[描述],1024x1024" | 指定模型和分辨率 |
| "用 Flux 生成[描述]" | 切换到 Flux 模型 |
| "换一个种子重新生成" | 修改 seed 值重新提交 |
| "把这张图放大 4 倍" | 使用 ESRGAN 放大 |
| "去掉这张图的背景" | 使用 BiRefNet 抠图 |
8.2 视频生成
| 说法 | WorkBuddy 会做什么 |
|---|---|
| "用 Wan 生成一段[描述]的 4 秒视频" | 构建 Wan2.1 t2v 工作流 |
| "生成一段更长的视频(8 秒)" | 增加 num_frames 到 161 |
| "提高视频分辨率到 720p" | 修改 width/height |
| "用我的 Wan2.2 Animate 工作流" | 加载已有工作流执行 |
8.3 工作流操作
| 说法 | WorkBuddy 会做什么 |
|---|---|
| "列出我的所有工作流" | 调用 list_workflows |
| "分析我的换头工作流" | 调用 analyze_workflow + 可视化 |
| "检查这个工作流用的模型" | 分析节点参数 |
| "修改这个工作流的采样步数为 30" | 调用 modify_workflow |
8.4 系统管理
| 说法 | WorkBuddy 会做什么 |
|---|---|
| "检查 ComfyUI 状态" | 调用 get_system_stats |
| "查看当前队列" | 调用 get_queue |
| "列出本地所有模型" | 调用 list_local_models |
| "取消正在运行的任务" | 调用 cancel_job |
九、参数调优指南
9.1 图片生成参数
| 参数 | 作用 | 推荐值 |
|---|---|---|
| steps | 采样步数,越多越精细但越慢 | 20-30(标准)/ 4(Lightning) |
| cfg | 提示词权重,越高越忠实提示词 | 7-8(标准)/ 1.0(Lightning) |
| sampler_name | 采样算法 | dpmpp_2m(通用)/ euler(Lightning) |
| scheduler | 噪声调度 | karras(通用)/ normal(Lightning) |
| seed | 随机种子 | 任意整数,固定可复现 |
| denoise | 去噪强度 | 1.0(完整生成)/ 0.3-0.7(图生图) |
9.2 视频生成参数
| 参数 | 作用 | 推荐值 |
|---|---|---|
| num_frames | 视频帧数(4n+1) | 81(4秒)/ 121(6秒)/ 161(8秒) |
| frame_rate | 帧率 | 16-24 |
| width/height | 分辨率 | 832×480(快速)/ 1280×720(高清) |
| steps | 采样步数 | 15-25 |
| cfg | 提示词权重 | 3.0-5.0 |
| shift | 噪声偏移 | 3.0-7.0 |
| scheduler | 采样器 | euler / unipc |
9.3 显存优化
RTX 3090 24GB 的显存管理策略:
| 策略 | 设置 | 适用场景 |
|---|---|---|
| T5 编码器卸载 | load_device: offload_device | 所有视频生成 |
| VAE 分块解码 | enable_vae_tiling: True | 高分辨率视频 |
| Block Swap | blocks_to_swap: 20-35 | 14B 大模型 |
| 模型精度 | bf16或fp8_e4m3fn | 大模型省显存 |
| force_offload | True | 采样后释放显存 |
十、常见问题与避坑
10.1 视频生成相关
Q: T5 编码器报错 "fp8 scaled is not supported"
A:
LoadWanVideoT5TextEncoder不支持 fp8 scaled 模型。使用 bf16 版本的 UMT5-XXL。
Q: VAE 加载报错 "missing precision argument"
A:
WanVideoVAELoader必须显式提供precision参数(如bf16),即使文档标记为 Optional。
Q: 生成时间太长
A: 1.3B 模型 81 帧 20 步约 3 分钟。如需更快:减少步数到 15、降低分辨率到 832×480、减少帧数到 65。
Q: 视频质量模糊
A: 增加 steps 到 25-30,提高 CFG 到 4.0-5.0,使用更好的提示词描述。
10.2 图片生成相关
Q: Lightning 模型出白图
A: 必须用
euler + normal + CFG 1.0 + 4 steps。不能用 dpmpp_2m_sde 或 karras。
Q: 中文提示词效果差
A: ComfyUI 的 CLIP/T5 编码器主要训练于英文数据。建议用英文提示词。
10.3 连接相关
Q: WorkBuddy 调用 MCP 工具失败
A: 重启 MCP 服务器后,WorkBuddy 需要重新连接。去连接器页面关掉再开
comfyui-local。
Q: EADDRINUSE 端口占用
A:
netstat -ano | findstr :9100找到 PID,taskkill /PID <PID> /F结束,再重启。
十一、视频生成工作流 JSON 模板
以下是实测成功的完整 Wan2.1 t2v 文生视频工作流 JSON,可直接通过 ComfyUI API 提交:
json
{ "1": { "class_type": "LoadWanVideoT5TextEncoder", "inputs": { "model_name": "models_eddy大佬_t5_umt5-xxl-enc-bf16_fully_uncensored.safetensors", "precision": "bf16", "load_device": "offload_device" } }, "2": { "class_type": "WanVideoModelLoader", "inputs": { "model": "wan2.1_t2v_1.3B_fp16.safetensors", "base_precision": "bf16", "quantization": "disabled", "load_device": "main_device" } }, "3": { "class_type": "WanVideoTextEncode", "inputs": { "positive_prompt": "YOUR_POSITIVE_PROMPT_HERE", "negative_prompt": "low quality, blurry, deformed, ugly, watermark, text, static, no motion, worst quality", "t5": ["1", 0], "force_offload": true, "model_to_offload": ["2", 0] } }, "4": { "class_type": "WanVideoEmptyEmbeds", "inputs": { "width": 832, "height": 480, "num_frames": 81 } }, "5": { "class_type": "WanVideoVAELoader", "inputs": { "model_name": "Wan2_1_VAE_bf16.safetensors", "precision": "bf16" } }, "6": { "class_type": "WanVideoSampler", "inputs": { "model": ["2", 0], "image_embeds": ["4", 0], "text_embeds": ["3", 0], "steps": 20, "cfg": 3.5, "shift": 5.0, "seed": 42, "force_offload": true, "scheduler": "euler", "riflex_freq_index": 0 } }, "7": { "class_type": "WanVideoDecode", "inputs": { "vae": ["5", 0], "samples": ["6", 0], "enable_vae_tiling": true, "tile_x": 256, "tile_y": 256, "tile_stride_x": 128, "tile_stride_y": 128 } }, "8": { "class_type": "VHS_VideoCombine", "inputs": { "images": ["7", 0], "frame_rate": 20, "loop_count": 0, "filename_prefix": "wan_video_output", "format": "video/h264-mp4", "pingpong": false, "save_output": true } } }使用方法:
- 将
YOUR_POSITIVE_PROMPT_HERE替换为你的提示词 - 通过 ComfyUI API 提交:
POSThttp://127.0.0.1:8188/prompt,body 为{"prompt": <上述JSON>} - 轮询
GEThttp://127.0.0.1:8188/history/{prompt_id} 等待完成 - 完成后视频保存在
output/目录
附录:测试记录汇总
| 测试 | 类型 | 模型 | 参数 | 耗时 | 结果 |
|---|---|---|---|---|---|
| #1 | 文生图 | sdxl_lightning_4step | dpmpp_2m_sde/karras/CFG1.5/4步 | 8s | 白图(参数错误) |
| #2 | 文生图 | sdxl_lightning_4step | euler/normal/CFG1.0/4步 | 6s | 成功(偏离提示词) |
| #3 | 文生图 | sd_xl_base_1.0 | dpmpp_2m/karras/CFG7.5/20步 | 8s | 成功 |
| #4 | 文生视频 | wan2.1_t2v_1.3B | euler/20步/CFG3.5/81帧 | 174s | 成功 |
写在最后:本地 ComfyUI + WorkBuddy 的组合,让你在 Claude 封禁中国账号、Comfy Cloud MCP 不可用的情况下,依然拥有完整的 AI 图像/视频生成能力。零订阅费、完全离线、全隐私——你的 RTX 3090 就是最好的云端 GPU。