Nodes/ComfyUI_StarNodes/⭐ Star Image Loop
ComfyUI Node

⭐ Star Image Loop

Panorama in, seamless looping video out — no keyframes, no seam stitching

By Starnodes2024·Created 2 years ago·Updated 2 days ago· 106
⭐ Star Image Loop
  • image 1
  • images
  • fps
resolutionFull HD (1920)
aspect_ratio1:1 (Square)
fps24
duration10.0
directionLeft to Right

The cleanest video trick in the AI playbook is the Ken Burns pan on a static image - and the easiest way to ruin it is a visible seam when the pan wraps around to frame one. Star Image Loop removes the seam the cheap and correct way: it tiles your panoramic image wide enough that the pan never sees the edge, then exports frames that loop perfectly. Connect the frames to any Video Combine / save node and you have a background loop for a title card, a music video, or just a mesmerizing desktop wallpaper.

How it works

You connect one or more panorama images to the image 1 (and up) inputs. Multiple images get joined horizontally first - the node scales them to a matching height and stitches them into a longer panorama, so a 360° scene you generated in segments becomes one continuous strip. That strip is then tiled until it covers at least twice the target frame width, and the animation scrolls it left-to-right (or right-to-left) across the output window at your chosen fps for duration seconds.

Because the strip is endlessly tiled, the frame at position N and the frame at position N+length are pixel-identical - which is the entire definition of a seamless loop. There's no blending, no crossfade, no guesswork about where the seam is. It just works, which is why this is the node to reach for instead of rolling your own roll in Python.

The settings that matter

  • resolution - HD (1280), Full HD (1920), 2K (2560), or 4K (3840). The width; height follows from the aspect ratio. Higher is not free - 4K pan frames are heavy to encode and slow to preview.
  • aspect_ratio - 1:1, 9:16 (TikTok/Reels), 4:5 (Instagram), 16:9 (YouTube), 3:4, 2:3. Pick your platform before you generate.
  • fps (1–60, default 24) and duration (1–300s, default 10) - frame count is fps * duration, so mind the math: 24fps × 10s is 240 frames, which is a lot of images to hold in RAM.
  • direction - Left to Right or Right to Left.

Outputs

  • images (IMAGE) - the full batch of loop frames, sized and ready. Feed it into a Video Combine / VHS_VideoCombine or a save-node that accepts image batches.
  • fps (INT) - the framerate, passed along so your video encoder uses the right one without you re-typing it.

Installing

Part of the StarNodes pack - install Starnodes via ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt

Restart, then search star on the canvas. No models needed - the heavy lifting is Pillow.

Common issues

Two gotchas show up in the wild. First, a too-small input image: if your panorama is 512px wide and you ask for 4K output, the pan will look soft because the source is being stretched. Generate at (or above) your output resolution. Second, if you feed images of very different heights, the horizontal join rescales them to a common height and the taller one loses its top - keep sources roughly uniform. And 4K + long duration will quietly eat your RAM; drop to FHD if ComfyUI starts thrashing.

Category⭐StarNodes/Video

Inputs (6)

NameTypeDefaultDescription
resolutionCOMBOFull HD (1920)4 options: HD (1280), Full HD (1920), 2K (2560), 4K (3840)
aspect_ratioCOMBO1:1 (Square)6 options: 1:1 (Square), 9:16 (TikTok/Reels), 4:5 (Instagram), 16:9 (YouTube), 3:4 (Portrait), 2:3 (Portrait)
fpsINT241–60
durationFLOAT10.01–300
directionCOMBOLeft to Right2 options: Left to Right, Right to Left
image 1optIMAGEFirst panorama image. Connect more images to join them horizontally.

Outputs (2)

NameTypeDescription
imagesIMAGE
fpsINT