DaSiWa AutoLong GGUF Warm-up Stream Writer
The GGUF writer that hides the restart so you can't see the seam
- frames
- raw_frames
- interp_model
- filenames
- video_path
If you're running one of the DaSiWa GGUF workflows - Wan 2.2 quantized, no full-size model, no speed LoRA required - this is the writer built for you. DaSiWaAutoLongWarmupStream solves the same long-video problem as the SVI Pro writer, but with a different trick, because on GGUF hardware you're usually too VRAM-poor to carry SVI's motion latents around. Instead of just reusing the last tail frame and hoping, each segment generates a short hidden warm-up region at its start, and the next segment regenerates from the warm-up's beginning. The writer then finds the least obvious place to switch.
That last part is the actual magic. Rather than a fixed seam or a transparent cross-fade (which gives you the double-ghost artifact), the node compares the previous segment's warm-up tail against the new segment's frames and searches the latter portion of the overlap - roughly 55% to 90% of the way through, once the new generation has started actually moving - for the frame pair with the smallest visual difference. Cut there, and the restart is buried in motion. It only holds a small 8-bit overlap in CPU RAM, so a long video still never accumulates in memory.
Inputs that matter
- frames - the interpolated segment (the version that gets written out).
- raw_frames - the un-interpolated frames, used to compute the warm-up stride and the rewind point.
- warmup_frames - default 16. In 16 FPS raw frames that's 1 second of warm-up; with 2× RIFE you generate 97 frames and write 160 output frames (5 seconds) per segment.
- interpolation_multiplier - default 2; must match your RIFE stage.
- frame_rate, crf, preset, filename_prefix (default
video/DaSiWa_GGUF_WARMUP) - the usual encoding controls. - interp_model (optional) - wire in the RIFE model your workflow has already loaded, and the node swaps the hard cut for a short ~7-frame RIFE motion bridge between two anchors, which softens the stutter at the seam. It doesn't cross-fade, so no ghosting, but on a big pose change you may get a few frames of deformation. If the bridge fails, it falls back to the plain smart cut, so it's safe to leave wired.
Outputs are filenames (VHS_FILENAMES) and video_path (STRING), with the same inline player and download button on the final segment.
Install
Same as the rest of the pack - ComfyUI Manager, search "ComfyUI-DaSiWa-AutoLong", or:
cd ComfyUI/custom_nodes
git clone https://github.com/kokotu/ComfyUI-DaSiWa-AutoLong.git
Restart after cloning. No Python requirements, no extra models; just ffmpeg, which VideoHelperSuite installs already carry.
Where people get burned
The warm-up math is finicky about consistency. If the generated frame count, warmup_frames, or interpolation_multiplier changes between segments, the node errors out rather than writing garbage - and the raw segment has to be long enough to leave room for the warm-up plus the visible part, or it complains. Keep every segment identical, don't queue the workflow again mid-run (it wants exactly one running prompt), and reset iteration to 0 if you interrupt a run. The README's honest caveat: a single-frame continuation can't carry real motion state, so extreme content can still show a slight jump - and the RIFE bridge, while nicer, is not a guarantee. Set it up right and the seams mostly disappear, which for a GGUF workflow on a budget card is genuinely impressive.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| frames | IMAGE | — | |
| raw_frames | IMAGE | — | |
| index | INT | — | |
| total_segments | INT | — | |
| session_id | STRING | — | |
| frame_rate | FLOAT | 32.001–240 | — |
| warmup_frames | INT | 161–32 | — |
| interpolation_multiplier | INT | 21–16 | — |
| crf | INT | 170–51 | — |
| preset | COMBO | medium | 5 options: ultrafast, veryfast, fast, medium, slow |
| filename_prefix | STRING | video/DaSiWa_GGUF_WARMUP | — |
| interp_modelopt | INTERP_MODEL | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| filenames | VHS_FILENAMES | — |
| video_path | STRING | — |