ComfyUI-WanKeyframing
A powerful ComfyUI custom node collection for keyframe-based video generation and batch image processing. This extension provides advanced tools for creating smooth…
Nodes (2)
ComfyUI-WanKeyframing
A powerful ComfyUI custom node collection for keyframe-based video generation and batch image processing. This extension provides advanced tools for creating smooth video sequences from keyframes with intelligent conditioning and latent space interpolation.
Features
- Batch Image Loading: Load and process multiple images from directories with smart resizing and sorting
- Keyframe Video Generation: Create video sequences from keyframes with smooth transitions
- Multiple Resize Modes: Flexible image resizing with stretch, fit, and crop options
- Advanced Sorting: Sort images by name, date, size, or keep original order
- Multi-Latent Encoding: Generate video-ready latent representations with conditioning
- Prompt Keyframing: Use indexed prompts for different video segments
Installation
Method 1: ComfyUI Manager (Recommended)
- Install ComfyUI Manager
- Search for "WanKeyframing" in the manager
- Click Install
Method 2: Git Clone
cd ComfyUI/custom_nodes/
git clone https://github.com/apenguin24/ComfyUI-WanKeyframing.git
Method 3: Manual Download
- Download the repository as a ZIP file
- Extract to
ComfyUI/custom_nodes/comfyui-wankeyframing/ - Restart ComfyUI
Nodes Overview
Load Images From Directory
Efficiently loads and processes multiple images from a directory with advanced options.
Features:
- Smart Resizing: Automatically resize images to consistent dimensions
- Multiple Sort Options: Sort by name, date, size, or preserve order
- Reload Control: Force reload images when needed
- Format Support: PNG, JPG, JPEG, BMP, WEBP, TIF, TIFF
Parameters:
directory: Input directory path (relative to ComfyUI input folder)reload_on_execute: Force reload on each executiontarget_width/height: Target dimensions for all images (8-8192px)resize_mode: How to handle different sized images- Stretch: Stretch to exact dimensions (may distort)
- Fit: Fit inside dimensions, pad with black
- Crop: Crop to fill dimensions, maintain aspect ratio
sort_mode: Image loading order- name_asc/desc: Sort alphabetically by filename
- date_asc/desc: Sort by file modification date
- size_asc/desc: Sort by file size
- none: System order (no sorting)
Wan Keyframe To Video
Advanced keyframe-to-video encoder that creates smooth video sequences with intelligent conditioning.
Features:
- Multi-Segment Processing: Process multiple keyframe pairs simultaneously
- Indexed Prompts: Use different prompts for different video segments
- CLIP Vision Support: Enhanced conditioning with vision embeddings
- Flexible Video Length: Control FPS and duration
- Latent Space Interpolation: Smooth transitions between keyframes
Parameters:
clip: CLIP model for text encodingpositive_prompt: Multi-line prompts with keyframe indexing (e.g.,[0] prompt1)negative_prompt: Negative conditioning textvae: VAE model for latent encodingwidth/height: Video dimensions (16-8192px, step 16)fps: Frames per second (1-120)seconds: Video duration (1-60 seconds)keyframes: Input keyframe images (optional)clip_vision_outputs: CLIP vision embeddings (optional)
🔧 Usage Examples
Basic Keyframe Video Workflow
-
Load Keyframes: Use "Load Images From Directory" to load your keyframe sequence
- Set appropriate target dimensions
- Use "name_asc" sorting for numbered sequences
-
Generate Video: Connect to "Wan Keyframe To Video"
- Set desired video parameters (FPS, duration, dimensions)
- Use indexed prompts for segment-specific conditioning:
[0] A serene mountain landscape at dawn [1] The same landscape in golden hour [2] A starlit night scene
-
Process: The node will create smooth transitions between keyframes
Advanced Prompt Keyframing
Use indexed prompts to control different segments of your video:
[0] A peaceful garden in spring, soft lighting
[1] The garden in summer, vibrant colors, bright sun
[2] Autumn garden with falling leaves, warm tones
[3] Winter garden covered in snow, cold blue lighting
Each [N] corresponds to the keyframe at index N, creating segment-specific conditioning.
Technical Details
Resize Modes Explained
- Stretch: Direct resize to target dimensions. Fast but may distort aspect ratio.
- Fit: Maintains aspect ratio, adds padding. Good for preserving image content.
- Crop: Maintains aspect ratio, crops excess. Good for filling frame completely.
Video Generation Process
- Keyframe Processing: Each consecutive pair of keyframes creates a video segment
- Prompt Mapping: Indexed prompts are matched to keyframe segments
- Latent Encoding: Images are encoded to latent space with VAE
- Conditioning: CLIP embeddings are generated for each segment
- Stacking: All segments are combined into a single batch for processing
Performance Tips
- Use consistent image sizes when possible to reduce processing overhead
- Moderate video lengths (1-5 seconds) work best for memory efficiency
- Consider using lower resolution for testing, then upscale final results
Troubleshooting
Images won't load:
- Check that the directory path is relative to ComfyUI's input folder
- Ensure images are in supported formats
- Verify file permissions
Memory errors:
- Reduce video length or resolution
- Use fewer keyframes
- Close other applications to free RAM
Inconsistent results:
- Enable "reload_on_execute" if images change frequently
- Check that keyframe count matches your prompt indexing
- Ensure all keyframes have similar content/style
Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.