ComfyUI Extension: 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.
Custom Nodes (0)
README
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.