Commit Graph

12 Commits

Author SHA1 Message Date
98c558b1b0 Add BIM-VFI Concat Videos node for joining segment outputs
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>
2026-02-12 21:06:52 +01:00
7cf7162143 Add BIM-VFI Segment Interpolate node for bounded peak RAM
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>
2026-02-12 20:13:02 +01:00
7278688d08 Add cupy auto-install warning to README
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>
2026-02-12 19:32:21 +01:00
3e8148b7e2 Add chunk_size for long video support, fix cache clearing, add README
- 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>
2026-02-12 19:08:42 +01:00
993a3a72b1 Add batch processing support for faster frame interpolation
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>
2026-02-12 18:54:40 +01:00
69a4aebfe7 Add auto_pyr_level toggle to select pyramid level by resolution
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>
2026-02-12 18:51:29 +01:00
4e6f9eb896 Respect user's pyr_level setting at all resolutions
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>
2026-02-12 18:50:29 +01:00
ffde07a89a Add tooltips to all node inputs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 18:49:27 +01:00
2c84b47590 Auto-install cupy and gdown on first node load
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>
2026-02-12 18:43:29 +01:00
d44885252f Write detected cupy variant into requirements.txt at install time
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>
2026-02-12 18:42:23 +01:00
471a299027 Fix: lazy import cupy to allow node loading without cupy installed
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>
2026-02-12 18:35:11 +01:00
db64fc195a Initial commit: ComfyUI BIM-VFI node for video frame interpolation
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>
2026-02-12 18:26:49 +01:00