此工作流在 ComfyUI 中进行视频补帧(帧插值),让运动看起来更流畅,同时不改变总播放时长。它使用 comfyui-videohelpersuite 负责视频读写,并使用 comfyui-gimm-vfi 自定义节点合成中间帧。VHS_LoadVideo 读取源视频并提供帧序列与原始 FPS。随后帧序列被送入 GIMM VFI 插值节点(UUID: 8d69124f-cc0e-4891-b9ca-9c1b04432c40),该节点会按你设置的插值倍数(例如 2x 或 3x)在每两帧之间插入合成帧。最后,VHS_VideoCombine 将扩展后的帧序列重新合成为视频文件。
从原理上看,GIMM VFI 节点会估计相邻帧之间的运动,并生成时间一致的中间帧。图中的 MarkdownNote 说明了关键时间规则:output_fps = input_fps × interpolation_factor。只要在 VHS_VideoCombine 中把输出 FPS 按倍数提升,视频时长就能保持不变,同时运动会更顺滑。该流程不需要扩散或 checkpoint 模型,核心依赖 VFI 节点以及 Video Helper Suite 稳定的视频读写。
API
通过代码使用此工作流
每个 Comfy 工作流都是一个 JSON 图。下面的内容就是此工作流的完整数据,ComfyUI 运行时也是如此——你可以从该 URL 获取、放入版本控制,或在 ComfyUI 中加载并逐节点运行。
使用 Comfy SDK 从 TypeScript 或 Python 运行。相同代码可用于 Comfy Cloud 或你自托管的 ComfyUI——只需更改基础 URL。
// Install (beta)
npm i @comfyorg/sdk
// Run "GIMM 帧插值" (TypeScript)
import { Comfy } from "@comfyorg/sdk";
const client = new Comfy({ apiKey: "comfyui-..." });
// This workflow, exported in API format (see note below)
const wf = await client.workflows.fromFile("utility_gimm_frame_interpolation_api.json");
const job = await client.run(wf);
await job.getOutputs("7")[0].toFile("output.png"); // VHS_VideoCombineSDK 需要 API 格式的工作流:在 ComfyUI 中打开此工作流,使用 文件 → 导出工作流(API)。
常见问题















