Taco Img2Img Animated Loader
Batch a still image into frames to spice it up into a GIF
- IMAGE
- MASK
Taco Img2Img Animated Loader takes a single still image and turns it into a batch of frames identical copies, ready to be run through img2img. The author's own description is the best pitch: "I like to use this to spice up a still." You take one image you like, batch it eight times, run each copy through img2img with different seeds or denoise strengths, and you've got a subtle looping GIF instead of a static picture. It's a lightweight alternative to AnimateDiff when you want gentle motion on an existing image, not full video generation.
It lives under Taco_Nodes/Gifs, and it's the file-based sibling of Taco Img2Img Animated Processor - that node takes its image from inside the graph, this one reads from disk.
Inputs and outputs
- image - a dropdown of files in ComfyUI's
inputfolder. Because it expects a still, the upload button accepts JPEG, PNG and WebP (but not GIF - that's the other loader's job). Drag-and-drop works too. - frames (
INT, default 8, 1–1000) - how many copies of the image to make. This is the length of your animation. 8 at 8 fps is a quick one-second loop; 24 gives a longer, smoother one at the cost of sampling time. - IMAGE (output) - the batch, with the same frame repeated
framestimes. Feed this into your img2img sampler setup. - MASK (output) - one mask per frame. If your source image has an alpha channel, the mask is
1 − alpha(so transparent areas become masked). Without alpha, you get a solid zero mask - which in ComfyUI-speak means "no masking," exactly what you want for plain img2img.
How it works and one quirk
It opens the file, applies EXIF orientation, converts to RGB, and then just repeats the same tensor frames times down the batch axis. The MASK output is built the same way, and this is where a small quirk lives: masks are stitched side-by-side along the width rather than stacked per-frame. For the common no-alpha case that's harmless - the mask is all zeros either way, so masking is simply off. But if you're relying on an alpha channel, don't trust the mask geometry blindly; test it with a preview node before you build a whole workflow on it. The node also hashes the source file, so swapping in a new image re-triggers the graph.
The workflow shape
The classic setup (also shown in the pack's README): loader → VAE Encode → img2img KSampler → VAE Decode → Taco Gif Maker. To get actual motion instead of a frozen image, vary the seed across the batch, or use a per-frame strength schedule - otherwise img2img returns the same result for every copy and your "animation" is a still with extra steps. The README shows a more advanced variant feeding the mask through as well, which is where the alpha handling gets used.
Installing it
Part of ComfyUI-TacoNodes. ComfyUI Manager: search "ComfyUI-TacoNodes", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/YOUR-WORST-TACO/ComfyUI-TacoNodes.git
Restart and find it under Taco_Nodes/Gifs. No model downloads, no extra pip packages - PIL, numpy and torch cover everything, and those ship with ComfyUI. It's a small personal Apache-2.0 pack with a light community footprint, so the GitHub repo is your support channel. It's a niche tool, but for the specific job of "make a still move a little," it's dead simple.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | 1 options: example.png | |
| frames | INT | 81–1000 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| MASK | MASK | — |