<aside>
๐
Turn an Image List Back Into a Video
The finishing step for any frame-by-frame video pipeline: take an image list and reassemble it into a video. Set the output frame rate (or leave it to fall back to the source fps) and go. Completes the classic Extract โ Process โ Inject โ Reassemble pattern โ the video comes in as frames, gets improved one image at a time by any of the image tools in the studio, and comes back out as a finished video.
</aside>
What it does
Video Reassemble takes an image list (from any list-producing upstream node โ a decoded video, a batch generation, an Extract โ Inject pipeline, etc.) and encodes it back into a video. The images become sequential frames in list order. You set the Output frame rate; if the source video's fps is available upstream, it's used as the fallback default. The result: a single video file, ready to save, preview, or feed into video-level models (super-resolution, generation, etc.).
Problem it solves
- Close the video pipeline loop โ The exit point for any workflow that processes video frame-by-frame using image tools
- Full-video enhancement with image models โ Decode โ apply image tool per frame โ Reassemble = enhanced video (upscaled, denoised, colorized, restored, stylized)
- Frame-rate conversion โ Reassemble at a different fps than the source to speed up, slow down, or standardize video output
- Custom slideshow / stop-motion output โ Turn any curated image list into a video (product shots, generation sequences, timelapses)
- Deterministic output โ Same list + same fps = same video every run
- Bridge back to video models โ After per-frame image processing, reassemble to feed into video super-resolution (SparkVSR), video generation, or video segmentation nodes
Input/Output
<aside>
- Input: Image list
- Format: A collection of images produced by any list-emitting upstream node (video-frame decoder, batch generator, List Inject output, curated sequence, etc.)
- Order: Images are used as frames in list order โ first item = first frame
- Resolution: All frames should share the same dimensions for a clean output; mismatched sizes may require an intermediate resize step
</aside>
<aside>
-
Output: Single video
- Format: Standard video (MP4, etc. โ depending on the studio's default encoder)
- Frame rate: As set on the node (falls back to source fps if left at default)
- Duration:
list length / frame rate seconds
- Content: All list items encoded as consecutive frames

ebf8274b-d767-4c55-8bae-10e545d3fe16.mp4
f7d2110f-47c5-4b7b-80fb-c6bbf2258357.mp4
</aside>
Configuration Options
- Output frame rate (falls back to the source fps): Frames per second in the reassembled video.
- Default: 24 (falls back to the source video's fps if that information is available upstream)
- UI: Slider โ drag to the desired fps; the current value is shown to the right
- Common values:
- 24 โ Cinematic look (film standard)
- 30 โ Standard video (broadcast, social media)
- 60 โ Smooth motion (gaming, sports, high-motion content)
- 12 โ 15 โ Stylized / stop-motion feel
- Behavior: The video's playback duration is
list length รท fps โ so raising the fps without adding frames makes the video shorter and faster; lowering it makes the video longer and slower.
How to Use
<aside>
- Prepare the image list โ Set up whatever upstream flow produces the frames you want in the final video (decoded + processed video frames, curated image sequence, batch generation output, etc.)
- Connect the list โ Wire the image list into Video Reassemble
- Set the frame rate โ Drag the Output frame rate slider (or leave it to fall back to the source fps)
- Run Flow โ All frames in the list are encoded as a video at the chosen fps and emitted as the output
</aside>
Use Case Tips
For Frame-by-Frame Video Enhancement (Canonical Pattern):