GIMM 帧插值 - After
GIMM 帧插值 - Before

此工作流在 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 中加载并逐节点运行。

utility_gimm_frame_interpolation.json
正在获取工作流 JSON…

使用 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_VideoCombine

SDK 需要 API 格式的工作流:在 ComfyUI 中打开此工作流,使用 文件 → 导出工作流(API)。

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

常见问题

常见问题

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