该 ComfyUI 工作流通过 SAM3 驱动的遮罩与遮罩条件的 LTX-2.3 In‑Outpainting IC‑LoRA,从视频中移除物体并生成干净的背景底板(clean plate)。流程使用 VHS_LoadVideo/VHS_VideoInfo 加载素材,通过 GetVideoComponents 抽取帧,并用 LoadSAM3Model → SAM3VideoSegmentation 为要移除的物体生成初始遮罩。SAM3Propagate 会在镜头范围内传播/跟踪该遮罩,SAM3VideoOutput 则输出逐帧的 OBJECT_MASK。为保证填充自然,LTXVDilateVideoMask 会扩展遮罩(例如 s10/t1),GrowMaskWithBlur 则对边缘进行羽化。
随后,遮罩区域会由 LTXVInpaintPreprocess 填充为绿色,并由 CreateVideo 重新编码这些预处理帧。该绿色底板连同 OBJECT_MASK 以及你的“只描述背景”的最小提示词一起输入到 LTX 2.3 In‑Outpainting IC‑LoRA(此处封装为子图节点),该子图明确采用遮罩条件,只在遮罩内部生成内容。VHS_GetImageCount、ComfyMathExpression、GetImageRangeFromBatch 等工具节点可让你在完整运行前预览有限帧范围。最后,SaveVideo 会写出 cleanplate 结果,供后续合成使用。
API
通过代码使用此工作流
每个 Comfy 工作流都是一个 JSON 图。下面的内容就是此工作流的完整数据,ComfyUI 运行时也是如此——你可以从该 URL 获取、放入版本控制,或在 ComfyUI 中加载并逐节点运行。
使用 Comfy SDK 从 TypeScript 或 Python 运行。相同代码可用于 Comfy Cloud 或你自托管的 ComfyUI——只需更改基础 URL。
// Install (beta)
npm i @comfyorg/sdk
// Run this workflow (TypeScript)
import { Comfy } from "@comfyorg/sdk";
const client = new Comfy({ apiKey: "comfyui-..." });
const wf = await client.workflows.fromFile("workflow_api.json");
const job = await client.run(wf);
await job.getOutputs("<output-node-id>")[0].toFile("output.png");SDK 需要 API 格式的工作流:在 ComfyUI 中打开此工作流,使用 文件 → 导出工作流(API)。
常见问题














