ComfyUI 工作流实战:从视频自动化到多模型编排的 3 条路径
【免费下载链接】ComfyUIThe most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI
ComfyUI 是节点式 AI 生成引擎:把节点像积木一样连成工作流,生图、出视频、批量处理都能跑。如果你正被重复生成任务、多模型切换或显存爆满卡住,这篇带你 3 步把它跑起来。
🚀 30 秒认识 ComfyUI
ComfyUI 的核心思路一句话:一切皆节点。加载模型、写提示词、采样、存文件,每一步都是一个节点,连线就是工作流。它既是 GUI 也是 API:界面里可以手调,同一套工作流还能以 JSON 形式提交、批量执行。扩展性是自带的,官方节点放在 comfy_extras 目录,你自定义的丢进 custom_nodes 就能用。下面这张图就是默认工作流直接跑出的结果。
🎬 ComfyUI 视频自动化工作流:从图序列到成片
假设你要日均产出 500 条短视频素材。人工剪辑一天 12 小时起,用 ComfyUI 工作流跑,一条视频 20 分钟搞定,省了约七成人力。
核心节点都在 nodes_video.py,链路很直白:
- LoadVideo读入原始素材,MP4、WEBM 都支持
- GetVideoComponents把视频拆成帧序列、音频流和帧率
- 帧序列送进 AI 生成或编辑环节,拿到新帧
- CreateVideo把新帧和原音频合回,帧率随便调
- SaveWEBM编码输出,支持 AV1
这段代码就是「拆」和「合」的关键:从视频里抽出帧和音频,再把新帧序列和原音轨拼回新视频。
# nodes_video.py L282-L291 / L250-L259 components = video.get_components() VideoFromComponents( Types.VideoComponents(images=images, audio=audio, frame_rate=Fraction(fps)), bit_depth=bit_depth, )编码这块值得细看:AV1 走 libsvtav1,preset 6 平衡速度,10bit 色深画质更好,文件体积还能压掉约四成。
# nodes_video.py L53-L61 stream = container.add_stream(codec_map[codec], rate=Fraction(round(fps * 1000), 1000)) stream.pix_fmt = "yuv420p10le" if codec == "av1" else "yuv420p" stream.options = {'crf': str(crf)} if codec == "av1": stream.options["preset"] = "6"产出效果:把工作流存成 JSON,走 API 循环提交,从素材进来到成片出去,全程不用人碰。
⚡ 进阶玩法:多模型编排与 GPU 内存优化
多模型编排
- 一套工作流混用多模型节点:SDXL 出底图、Flux 做风格、ESRGAN 增强,不用再维护三套独立系统
- SDXL 文本编码用 nodes_clip_sdxl.py 的 CLIPTextEncodeSDXL 节点,text_g / text_l 两个文本框分别走两个编码器,提示词理解更准
- 一个细节:两段文本 token 长度不一致时会自动用空 token 补齐,编码不会崩
# nodes_clip_sdxl.py L51-L60 tokens = clip.tokenize(text_g) tokens["l"] = clip.tokenize(text_l)["l"] if len(tokens["l"]) != len(tokens["g"]): tokens["l"] += empty["l"] # 补齐到等长- 换模型走 ModelPatcher:加载新 checkpoint,LoRA 权重跟着一起生效,不用手动管
GPU 内存与性能
- 显存分配是自动的:model_management.py 按 VRAM 等级加载,小模型整块进显存,大模型自动 offload 一部分到 CPU
- 经验阈值:4GB 以下的权重优先整块进显存,再大就信自动 offload,别强开 full-load
- 缓存也是自动的:cache key 基于提示词图加节点 id,只改一个输入时,没变的节点直接命中缓存,重复任务提速明显
- 量化模型别把 attention 层降精度,画质掉得最狠
📦 ComfyUI 工作流部署清单
- 硬件:单张 NVIDIA 卡就能起步;高峰并发上再考虑 A100(80GB)×2,系统内存建议 32GB 以上
- 克隆安装:
git clone https://gitcode.com/GitHub_Trending/co/ComfyUI pip install -r requirements.txt- 模型路径:模型丢进 models/ 对应子目录(checkpoints、loras、vae 等);要和其他工具共享同一套模型,改 extra_model_paths.yaml.example
- 验证跑通:先执行 basic_api_example.py,确认 8188 端口 API 可用
# basic_api_example.py L108-L110 data = json.dumps(p).encode('utf-8') req = request.Request("http://127.0.0.1:8188/prompt", data=data) request.urlopen(req)⚠️ 避坑提醒 & 下一步
- 量化别动 attention 层精度,那是画质底线
- 4GB 显存阈值别无视,大模型强开 full-load,崩比慢常见
- AV1 编码吃 CPU,编码机弱的先用 VP9 顶上,别硬扛
接下来你可以做两件事:先跑通 basic_api_example.py,再照着 example_node.py.example 写第一个自定义节点,顺手把 comfy_api_nodes/ 里的第三方 API 接上。动手改代码前,记得跑一遍 tests/execution/ 里的测试。
【免费下载链接】ComfyUIThe most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考