The download_file() function now validates:
- HTTP status code (fails on non-200)
- File size (removes files <1KB as likely error pages)
- ONNX header (detects HTML pages masquerading as .onnx files)
The ONNX download in AutoLoadRifeTensorrtModel now tries multiple
HuggingFace sources before giving up, with clear error message
pointing users to manual export_onnx.py as fallback.
This prevents the cryptic "factory function returned nullptr" error
when TensorRT attempts to parse a corrupted/empty/HTML file as ONNX.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Verify tensorrt is actually importable before trusting the install marker;
retry install if marker exists but import fails (likely cause of user reports
where the node loaded but TensorRT did not work)
- Add --no-input to pip install calls to avoid hanging on interactive prompts
- Show pip stdout during auto-install so users can see progress
- Improve failed-install cooldown message with retry instructions
- Bump version to 1.2.0
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
rife426.pth and possibly other new checkpoints contain extra modules
used during training (teacher network, caltime scheduler) that are not
part of the IFNet inference architecture. These cause
load_state_dict to fail with "Unexpected key(s)" errors.
Now export_onnx.py filters the state_dict to keep only keys that match
the model architecture before loading, with strict=True to catch any
real missing keys.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Update rife_arch.py with support for new architectures:
- v4.17: Head_417 encoder, IFBlock with 16 extra channels
- v4.26: 5 IFBlocks (block4 extra), lastconv 4*13 channels,
feat_out return, no ensemble, 5 scale levels
- Head/Head_417 classes for v4.17/v4.26 encoders
- warp() fix: MPS padding_mode, dtype mismatch, get_torch_device()
Update export_onnx.py:
- Add rife417.pth and rife426.pth to CKPT_NAME_VER_DICT
- Add CKPT_FALLBACK_URLS with HuggingFace mirrors for all models
- Add export calls for rife49, rife417, rife426, sudo_rife4
Update load_rife_config.json with 3 new ONNX model options.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The frames arrive from generate_frames_rife on CPU, but the engine output
(tile_out) is on CUDA. The accumulator tensors (output, weight, window)
were created on frame_0.device (CPU), causing a RuntimeError when mixing
devices in the feathering blend. Now all tensors are explicitly moved to
the CUDA device at the start of infer_tiled.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Ported and adapted from Fannovel16/ComfyUI-Frame-Interpolation:
- gc.collect() after soft_empty_cache() to reduce RAM fragmentation
- Explicit float32 cast in postprocess_frames for fp16 engine safety
- InterpolationStateList class + MakeInterpolationStateList node to
skip/keep specific frame pairs during interpolation
- Per-pair multiplier schedule (comma-separated list) overriding uniform
multiplier, with automatic padding to match the number of pairs
- Automatic tiling with cosine feathering when frame dimensions exceed
the TensorRT engine optimization profile (fixes 1440x2560 with max=1920)
- Padding with replicate mode when frame dimensions are below profile min
- get_input_profile_bounds() on Engine to retrieve min/opt/max shapes
- Batch inference: process multiple (pair, timestep) tasks per GPU call
with dynamic batch axis in ONNX export and engine profile
- Backward compatible: all new features are opt-in via optional inputs
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Auto-install now only installs the matching TensorRT wheels instead of the
multi-GB cuda-toolkit package from PyPI.
- Use a single pip install -r call per requirements file for faster dependency
resolution and better cache reuse.
- Add install-success/failure markers to avoid repeating the install on every
ComfyUI startup.
- Fix pyproject.toml Repository and PublisherId to point to
huchukato/ComfyUI-RIFE-TensorRT-Auto.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Requirements updates:
- Default to CUDA 13 with TensorRT 10.14.1.48 (requirements.txt)
- Add cuda-toolkit version constraints (>=13.0.0,<13.1.0)
- Rename requirements_cu13.txt -> requirements_cu12.txt for legacy support
- Add cuda-toolkit constraint for CUDA 12 (>=12.8.0,<13.0.0)
CUDA toolkit detection:
- Add _setup_cuda_dll_path() to auto-detect CUDA installation
- Check CUDA_PATH, CUDA_HOME, and default Windows install paths
- Handle CUDA 13+ bin/x64 subdirectory for cudart64.dll
- Display download link if CUDA not found
Engine building updates:
- Add resolution profiles (small: 480-896px, medium: 720-1280px)
- Add 'custom' profile with CustomResolutionConfig node
- Include profile name in engine filename for separate caching
- Reduce default VRAM usage from ~15GB to ~2-3GB