The gifs ui dict requires custom JS to render — ComfyUI doesn't
handle it natively. Adds a minimal video preview widget that uses
ComfyUI's /view endpoint to play the concatenated video on the node.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Google Drive folder contains .pkl files but the default model
name used .pth, causing the post-download existence check to fail.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Relative output_directory values are now resolved against ComfyUI's
output directory. Video preview is skipped with a warning when the
output path is outside the output tree (frontend can't serve it).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Uses ComfyUI's ui/gifs return dict to show the concatenated video
directly on the node, matching the VHS Video Combine pattern.
Togglable via a preview boolean input (default True).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The concat node is model-agnostic (just joins video segments via
ffmpeg), so it shouldn't be under BIM-VFI. Now accepts any model type
as the dependency input and lives under the video/Tween category.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update logger names, install prefixes, README clone instructions, and
error messages to reflect the new repo name. Model-specific node names
and categories (BIM-VFI, EMA-VFI, SGM-VFI) are unchanged.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SGM-VFI combines local flow estimation with sparse global matching
(GMFlow) to handle large motion and occlusion-heavy scenes. Adds 3 new
nodes: Load SGM-VFI Model, SGM-VFI Interpolate, SGM-VFI Segment
Interpolate. Architecture files vendored from MCG-NJU/SGM-VFI with
device-awareness fixes (no hardcoded .cuda()), relative imports, and
debug code removed. README updated with model comparison table.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Integrate EMA-VFI alongside existing BIM-VFI with three new ComfyUI nodes:
Load EMA-VFI Model, EMA-VFI Interpolate, and EMA-VFI Segment Interpolate.
Architecture files vendored from MCG-NJU/EMA-VFI with device-awareness
fixes (removed hardcoded .cuda() calls), warp cache management, and
relative imports. InputPadder extended to support EMA-VFI's replicate
center-symmetric padding. Auto-installs timm dependency on first load.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Cleans up individual segment files after successful concatenation,
preventing leftover files from polluting subsequent runs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a new node that concatenates segment video files (produced by
VHS Video Combine) into a single video using ffmpeg's concat demuxer
with -c copy (no re-encoding). The model input acts as a sequencing
signal to ensure all segments finish before concatenation begins.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Processes numbered segments of the input batch so users can chain
multiple instances with Save nodes between them, freeing each segment's
output before the next starts. Model pass-through output forces
sequential execution via ComfyUI's dependency graph.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
First startup may appear to hang while cupy (~800MB) installs.
Document manual fallback for environments where auto-install fails.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- chunk_size input splits input into overlapping segments processed
independently then stitched, bounding memory for 1000+ frame videos
while producing identical results to processing all at once
- Fix cache clearing logic: use counter instead of modulo so it triggers
regardless of batch_size value
- Replace inefficient torch.cat gather with direct tensor slicing
- Add README with usage guide, VRAM recommendations, and full
attribution to BiM-VFI (Seo, Oh, Kim — CVPR 2025, KAIST VIC Lab)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Processes multiple frame pairs simultaneously instead of one-by-one.
New batch_size input (1-64) lets users trade VRAM for speed.
Refactored pyr_level logic into shared _get_pyr_level() helper.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When enabled (default), automatically picks the optimal pyr_level
based on input height: <540p=3, 540p=5, 1080p=6, 4K=7.
When disabled, uses the manual pyr_level value.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previously the user's pyr_level was overridden for >=540p content.
Now the setting is always used, with the tooltip recommending values
per resolution instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Detects missing deps when ComfyUI imports the node and installs
them automatically via pip. No manual steps needed in Docker.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
install.py now updates requirements.txt with the correct cupy-cuda
package matching PyTorch's CUDA version before running pip install.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
cupy was imported at module level, causing ComfyUI to fail loading
the node entirely if cupy wasn't installed yet. Now deferred to
first actual CUDA kernel call, with a clear error message.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wraps BiM-VFI (CVPR 2025) as a ComfyUI custom node for long video
frame interpolation with memory-safe sequential processing.
- LoadBIMVFIModel: checkpoint loader with auto-download from Google Drive
- BIMVFIInterpolate: 2x/4x/8x recursive interpolation with per-pair
GPU processing, configurable VRAM management (all_on_gpu for high-VRAM
setups), progress bar, and backwarp cache clearing
- Vendored inference-only architecture from KAIST-VICLab/BiM-VFI
- Auto-detection of CUDA version for cupy installation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>