该 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 中加载并逐节点运行。

8f2cf0df5da6.json
正在获取工作流 JSON…

使用 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)。

Comfy Cloud API 访问需要包含 API 密钥的套餐。

常见问题

常见问题

查看所有工作流
Showing 30 of 30 templates