PreViewGIF
The tiny output node that actually shows you the morph
- gif
PreViewGIF is the least glamorous node in the DiffMorpher pack, and also the one you'll forget to wire in on your first attempt. All it does is take the GIF output of DiffMorpherNode and display it in the ComfyUI UI. That's genuinely its entire job - one required input, no outputs, marked as an output node. The author's description for it is literally hello world!, which tells you exactly how much ceremony went into it.
Why you need it at all
DiffMorpherNode returns a GIF as a file path, and it isn't an output node - so on its own, nothing renders in your UI. You get a silent queue completion and a GIF you'd have to go hunting for in ComfyUI/output/ by hand. Wire DiffMorpherNode.GIF into PreViewGIF.gif and the animation plays right there on the canvas when the run finishes. The pack's shipped base_workflow.json (in the doc/ folder) shows the full intended chain: LoadImage → DiffMorpherNode → PreViewGIF, with TextNode providing the prompts.
How it works
Under the hood it's about as thin as a node gets. The load_gif function takes the GIF path, splits it into the filename and its containing folder, and returns those to the UI as {"ui": {"gif": [...]}}. A small bit of JavaScript in the pack's web/ directory (previewGIF.js) picks that up and renders the animation in the node. Nothing is generated, nothing is saved - this is pure presentation. The heavy lifting already happened upstream in DiffMorpherNode.
Installing
You don't install it separately - it ships inside the DiffMorpher pack:
cd ComfyUI/custom_nodes
git clone https://github.com/AIFSH/DiffMorpher-ComfyUI.git
cd DiffMorpher-ComfyUI
pip install -r requirements.txt
Restart ComfyUI and both nodes appear under the AIFSH_DiffMorpher category. ComfyUI Manager will also find the pack if you search "DiffMorpher". Just be aware the pack's first run triggers a multi-gigabyte download of the Stable Diffusion 2.1 base model into models/diffusers/, so your first morph takes a while to even start.
Troubleshooting
- No animation on the canvas - check that
DiffMorpherNode's GIF output is actually connected here. The node needs that file path; without it there's nothing to preview. - The GIF won't play smoothly - remember
num_frameson DiffMorpherNode is your real lever. PreViewGIF just displays what it's given; a choppy GIF is an upstream problem, not a preview problem. - Preview missing after a long run - this is the classic "did it even work?" moment. Check
ComfyUI/output/for thediffmorpher_*.giffile; if it's there, you just need the connection.
Is it the most interesting node in the pack? No. But it's the difference between DiffMorpher feeling usable and feeling like a black box, and it costs you nothing - one drag-and-drop that every base workflow already includes.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| gif | GIF | — |
Outputs (0)
No outputs