Image Sequence Overlay
Animate PNG overlays over your frames — Image Sequence Overlay
- images
- IMAGE
This node sits right in the graph: it takes a batch of images (your rendered frames), a folder full of PNG overlays, and composites the overlays onto the frames frame-by-frame. You've seen the end result a thousand times - a watermark that blinks, a scanline sweep, an animated HUD, a light leak drifting across the shot. The Image Sequence Overlay is how you get that without ever leaving ComfyUI.
The workflow is: generate your frames, export an overlay animation as a sequence of transparent PNGs (from After Effects, Blender, a sprite sheet exporter, even another ComfyUI run), point this node at the folder, and it alpha-composites the two. Because it operates on IMAGE tensors in-graph, you can keep building downstream - save the composited frames, feed them into another effect, whatever.
How it works
The node loads the PNG files from folder_path in alphabetical order, resizes each to match your input frame dimensions, and composites them with their alpha channel. The mode dropdown decides what happens when the overlay sequence and the frame count don't line up:
loop- the overlay sequence repeats forever, regardless of how long your frame batch isrun_once- plays the sequence once, then shows the base frames untouchedrun_once_and_hold- plays once, then holds the last overlay frame for the restping_pong- plays forward, then plays backward, like a boomerang
The node also drives a progress bar in the ComfyUI UI so you're not staring at a frozen graph during long runs.
Inputs and output
images- your batched frames (IMAGE). Any batch size works.folder_path- directory containing the PNG overlay sequence.mode- one of the four animation modes above.
Output is a single images IMAGE tensor, same shape as the input, ready to wire into a VHS Save or whatever you use to write frames out.
Two practical notes. First, the overlays are resized to match your frames, so a 512×512 overlay gets stretched to your 1024×576 canvas. Design your overlays at the right aspect ratio or they'll distort. Second, ordering is alphabetical filename order - zero-pad (0001.png, 0002.png) so frame 10 doesn't appear before frame 2.
Installing it
This is one of the ~25 nodes in the Simple Video Effects pack, so install the pack once:
cd ComfyUI/custom_nodes
git clone https://github.com/scofano/ComfyUI-Simple-video-effects
cd ComfyUI-Simple-video-effects
pip install -r requirements.txt
Restart ComfyUI (or use ComfyUI Manager and search "Simple Video Effects"). No models to download, no heavy deps - just torch, Pillow, numpy and friends.
Common issues
The two failure modes are overlay-count related. If your overlays flash by too fast, your sequence has more frames than the input batch - each overlay gets one input frame. If the animation looks wrong after frame N, check that mode matches intent: for a one-shot overlay use run_once_and_hold, not loop, or the animation restarts mid-video. And the classic: overlays must be PNG with a real alpha channel. A flattened JPG in the folder will composite as an opaque rectangle covering your frames.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| folder_path | STRING | — | |
| mode | COMBO | loop | 4 options: loop, run_once, run_once_and_hold, ping_pong |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |