凤希AI - 图片循环序列
Stretch a short image sequence into a loop of any length — for seamless repeats
- 图片序列
- 输出序列
- 总帧数
Some video needs are a loop: a background that repeats, a short animation you want to stretch over a longer segment, a few frames you need to pad out to a fixed clip length. ComfyUI's video models are picky about how many frames they get, and your source might have four frames when the job wants forty-one. FxAiImageLoopTile exists for exactly that mismatch - it takes a short image sequence and tiles it out to a target frame count, so a handful of frames becomes a loop of any length you specify.
How it works
Feed it a 图片序列 (IMAGE batch) plus 输出宽度 and 输出高度 (default 704×1280, steps of 32 and 8 respectively). Every frame is normalized to that canvas via the pack's crop_fill_to_canvas - scaled to fit and centered on a white background, no distortion. Then the tiling happens: the node figures out how many times each source frame must repeat to reach 总帧数, and distributes the repeats evenly across the whole sequence.
So a 4-frame source asked to produce 41 frames becomes 11 copies of frame 0, 10 copies each of frames 1–3, in order. The pattern is exactly even - frame i gets base + 1 copies for the first remainder frames, base copies for the rest. The result is a frame-exact output sequence at the length you asked for, which is the part video models care about: they want a precise frame count, and this node guarantees it.
Inputs and outputs
- 输出宽度 / 输出高度 - the target canvas, in the model-friendly ranges the defaults suggest.
- 总帧数 - the exact output length (1–1800).
- 图片序列 - the source frames.
Outputs are 输出序列 (the tiled IMAGE) and 总帧数 (the same number you typed, passed through so a downstream node can confirm the length without counting).
Installing it
Part of fxai-toolkit (凤希AI, MIT). Install via ComfyUI Manager (search "fxai-toolkit") or:
cd ComfyUI/custom_nodes
git clone https://github.com/fxai666/fxai-toolkit
# restart ComfyUI
No models. The pack auto-installs soundfile and psutil on first load. Chinese labels; support through the QQ group (775649071) and Bilibili.
Where people get burned
This is not frame interpolation. Tiling repeats frames - it does not generate new in-between motion, so a 4-frame source tiled to 41 frames will visibly stutter/jump when played. If you want smooth motion, this node isn't that; it's for loops and padding where repetition is acceptable (looping backgrounds, hold frames, test clips). Also, the white canvas matters: if your source isn't the same aspect as 输出宽度/输出高度, you get white bars on the sides, and a white-barred loop feeding an image-to-video model tends to produce flicker at the seam. And mind the step constraints - 输出宽度 wants multiples of 32, 输出高度 of 8, and 总帧数 of 8 - ComfyUI will enforce them on the widget even if the math would tolerate otherwise.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| 输出宽度 | INT | 70432–8192 | — |
| 输出高度 | INT | 128032–8192 | — |
| 总帧数 | INT | 411–1800 | — |
| 图片序列 | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| 输出序列 | IMAGE | — |
| 总帧数 | INT | — |