Taco Gif Maker
Turn an image batch into a looping GIF without leaving ComfyUI
- images
Taco Gif Maker takes a batch of images and saves them as an animated GIF. In a ComfyUI workflow that's the last step of a whole family of "animation-lite" pipelines: you generate a bunch of frames, stack them into a batch, and this node stitches them into a loop. It's the payoff node for the other animated nodes in the TacoNodes pack - the loader hands you the frames, this one writes the file.
It sits under Taco_Nodes/Gifs and is an output node, so nothing connects out of it. What comes back is the finished GIF (plus a companion file, more on that in a second) written to ComfyUI's output folder.
Inputs
Only three, and they cover everything:
- images (
IMAGE) - the batch of frames to combine. This is a tensor with multiple frames stacked along the batch dimension, not a folder of files. Feed it straight from Taco Animated Image Loader (all frames of a real animated file) or from Taco Img2Img Animated Loader / Processor (a still batched N times). One frame in, one-frame GIF out - that's a still, and it's probably not what you wanted. - frame_rate (
INT, default 8, 1–100) - frames per second. The node converts it to per-frame duration internally (1000 / frame_ratemilliseconds per frame), so higher numbers make the animation snappier. 8 is a sensible default for a looping GIF; 15–24 starts to look like video. - filename_prefix (
STRING, defaultTacoGif) - the base name for the saved files. Output lands inComfyUI/output/with a counter suffix, so you won't overwrite previous runs.
How it works
Under the hood it's PIL doing the heavy lifting: each image in the batch is converted to a PIL image, then saved with save_all=True and loop=0 (infinite loop - good for this use case). Nothing exotic, no ffmpeg, no video encoding. That also means output quality is GIF quality - 256 colors, no alpha, no H.264. If your frames have subtle gradients or lots of fine texture, GIF's color banding will show up. For those cases you'd want an actual video output node instead; this is the quick-and-dirty animated-loop tool.
There's one behavior people miss: alongside the .gif, the node also saves a .png of the first frame with the full workflow embedded in its metadata. That's ComfyUI's standard PNG workflow trick - drag that settings PNG back into ComfyUI and the whole graph reconstructs. Handy if you're sharing the pipeline with someone, and it's why you sometimes see a stray PNG appear next to the GIF you generated.
Installing and troubleshooting
It's part of ComfyUI-TacoNodes. Through ComfyUI Manager, search "ComfyUI-TacoNodes" and install, then restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/YOUR-WORST-TACO/ComfyUI-TacoNodes.git
Restart and look under Taco_Nodes/Gifs. No models to download, no extra pip packages - the pack's requirements are PIL, numpy and torch, all already bundled with ComfyUI.
The failure modes are mostly upstream of this node. If your GIF comes out as a single frame, your batch has batch size 1 - check the loader that feeds it. If frames look identical, that's not the GIF maker's fault; that means your sampler used the same seed for every frame, so img2img produced the same result N times. Vary the seed (or denoise strength) per frame upstream and the loop actually moves. It's a small, personal, Apache-2.0 pack that hasn't been updated in a while, but for the single job of "make a looping GIF from a batch" it's hard to beat for simplicity.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| frame_rate | INT | 81–100 | — |
| filename_prefix | STRING | TacoGif | — |
Outputs (0)
No outputs