ComfyUI Custom Nodes by Desert Pixel
A collection of custom nodes for ComfyUI focused on animation, image processing, and workflow optimization.
Features
Animation & Video
- Animation Calculator (5 Inputs): Complex animation timing calculator
- Fast/Slow Motion: Control video playback speed
- Video Effects:
- Sender/Receiver system for effect application
- Flicker effects
- Transition effects
Image Processing
- Big Letters: Create text-based images
- Color Analyzer: Analyze and generate color palettes
- Logo Animator: Create animated logos
- Smart Image Saver: Enhanced image saving with metadata
- Image Effects: Various image processing effects including:
- Sepia
- Vignette
- Edge detection
- Sketch effects
- Relief shadows
- And more...
Utility Nodes
- Random Min/Max: Generate random numbers with control
- Random Characters: Generate random characters/strings
- Aspect Ratio Picker: Easy aspect ratio selection
- Clean Prompt: Clean and format prompt text
- Broken Token: Analyze and split Flux prompts
- Quick Model Link: Manage symbolic links for models
- Multi Styler: Apply multiple styles to prompts
- Zero-One Floats: Simple float input/output controls
Full nodes list:
DP_Animation_Calculator_5Inputs
Animation calculator helper for switching between images/styles with img2video & video2video using AnimateDiff. Creates timing data for prompt scheduling, fade masks, and IP Adapter batch processing.
Each image has a keyframe start point and associated prompt text. The node can be used with or without image inputs to generate scheduling prompts or fade mask timing.
Inputs:
-
Image Inputs (Optional, 5 slots)
- When connected, creates an image batch sized to Total_Frames for IP Adapter
- Includes crossfade transitions controlled by Transition_Frames parameter
-
Total_Frames (INT)
- Defines total number of frames to process
- Default: 96, Range: 16-2000
-
Image_startPoint_XX (INT, XX: 01-05)
- Keyframe starting point for each image/style
- Image_01_startPoint fixed at 0
- Each keyframe must be larger than previous ones
- Range: 0-1000
-
Prompt_Image_XX (STRING, XX: 01-05)
- Prompt text for each image/keyframe
- Used in prompt scheduling
-
Transition_Frames (INT)
- Controls transition length between images
- Affects fade mask timing and image batch output
- Does not affect prompt timing
- Default: 8, Range: 0-32, Step: 4
- Creates pre & post transition points:
- Pre-transition: Transition_Frames/2 frames before keyframe
- Post-transition: Transition_Frames/2 frames after keyframe
- Allows control of ControlNet & IP Adapter strength during transitions
-
Fade Mask Controls (6x FLOAT)
- fade_mask_XX_Min (XX: 01-03)
- Minimum weight for fade mask
- Range: 0.0-1.0, Step: 0.1
- fade_mask_XX_Max (XX: 01-03)
- Maximum weight for fade mask
- Range: 0.0-1.0, Step: 0.1
- Set Min > Max to invert mask
- fade_mask_XX_Min (XX: 01-03)
Outputs:
-
Image_Batch_Output (IMAGE)
- Generated when images are connected
- Batch sized to Total_Frames
- Each image spans its keyframe duration
- Includes crossfade transitions between images
-
Text_Prompt_Timing (STRING)
- Formatted timing string for prompt schedule node
-
fade_mask_timing_XX (3x STRING, XX: 01-03)
- Formatted timing strings for fade mask advanced node
- Controls transition strength and mask behavior
Creating Loops:
For img2video loops:
- Set last Image_startPoint equal to Total_Frames
- Use identical first and last Prompt_Image and Image inputs
Note:
Transition system uses three control points (Pre-transition, Keyframe, Post-transition) for smooth blending of ControlNet and IP Adapter weights during transitions.
I'll create a comprehensive markdown documentation for the DP_Image_Slide_Show node:
DP_Image_Slide_Show
ComfyUI node for creating image sequences with blend mode transitions. Ideal for GIFs and videos.
-
Inputs:
- 5*optional image inputs - when connected, creates an image batch with transitions between images
- INT - Total_Frames - how many frames will be processed (16-2000)
- 5*INT - Image_startPoint 01-05 - the start key frame for each image, image_01_startPoint is set to 0. *notice that each keyFrame has to be bigger than the previous ones
- INT - Transition_Frames - the number of frames for transition between images (0-32, step: 4)
- COMBO - blend_mode - transition effect between images:
- Normal Blend - Dissolve - Overlay - Multiply - Screen - Soft Light
-
Output:
- Image - Image_Batch_Output - exports image batch in the size of Total_Frames, with selected blend mode transitions between images
*for seamless loops, set the last Image_startPoint same as Total_Frames and use identical first/last images
*for seamless loops, set the last Image_startPoint same as Total_Frames and use identical first/last images
DP_Logo_Animator
DP_Video_Effect_Sender & DP_Video_Effect_Receiver
DP_Video_Flicker
DP_Video_Transition
DP_Smart_Saver
DP_Big_Letters
DP_Broken_Token
DP_Clean_Prompt
DP_Create_JSON
DP_Crazy_Prompt
DP_Image_Color_Analyzer
DP_Fast_Slow_Motion
DP_Five_Lora:
DP_Five_Lora_Random
DP_Float_0_1 | DP_2Floats_0_1 | DP_3Floats_0_1
DP_Image_Empty_Latent_Switch
DP_Image_Loader_Small
DP_Image_Loader_Medium
DP_Image_Loader_Big
DP_Prompt_Styler
DP_Quick_Link
DP_Random_Char
DP_Random_MinMax
DP_Aspect_Ratio
Installation
- Clone this repository into your ComfyUI custom_nodes folder:
# Standard library imports
import os
# Third-party imports
import numpy as np
import torch
from PIL import Image
# Local imports
from .image_effects import ImageEffects