DP Video Effect Sender
Pull out keyframes to run an effect on a slice
- Load_video_frames
- all_frames
- effect_frames
- frames_index
- process_info
This is the "send" half of a two-node system for applying an effect to just part of a video instead of reprocessing every frame. You mark a keyframe and a window around it, and the Sender splits your clip into "all frames" and "the frames to be effected," so you can route that small slice through an effect chain and later slot it back in. It's a niche, advanced piece of plumbing - but if you're applying an expensive effect to one moment in a long clip, it saves you from running it over the whole thing.
It's part of the animation set in DesertPixelAi's Desert Pixel pack, and it's meant to work with its counterpart, DP Video Effect Receiver.
How it works
You feed your clip into Load_video_frames (an IMAGE batch) and define the segment to treat:
Effect_key_frame- the frame the effect is centered on.Effect_LengthandEffect_Distance(each 1–3) - how far the affected window extends and how it's spaced around the keyframe.Effect_steps(3–10) - the granularity of the effect segmentation.
It outputs four things: all_frames (the full clip, passed through for reassembly), effect_frames (just the slice to process), frames_index (STRING - which frame positions were pulled, so they can be put back correctly), and process_info (STRING - a human-readable summary of what it did). You send effect_frames through whatever effect you want, and the Receiver uses frames_index to merge the processed slice back into all_frames.
The inputs and outputs that matter
Effect_key_frame is the anchor - the moment you care about. Effect_Length/Effect_Distance size the window. Then wire effect_frames into your effect chain and carry all_frames + frames_index across to the Receiver.
How to install it
ComfyUI Manager: search Desert Pixel, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/DesertPixelAi/ComfyUI-Desert-Pixel-Nodes
Restart ComfyUI. No downloads. Under the DP category.
Common issues & troubleshooting
It's only half a system. The Sender on its own doesn't put anything back together - it splits frames out. You need DP Video Effect Receiver downstream, fed the processed effect_frames, the original all_frames, and the frames_index, to reassemble the clip. Using the Sender without the Receiver just gives you a detached slice.
The reassembled frames land in the wrong place. frames_index is the map that tells the Receiver where the slice belongs. If you dropped or reordered that string on the way, the merge can't align. Keep frames_index wired straight from Sender to Receiver, unmodified.
The keyframe window isn't where I expected. Effect_key_frame is a frame number into the batch, and Effect_Length/Effect_Distance are small (max 3) - this is a tight window by design, not a broad range. Read process_info to confirm exactly which frames it selected before wiring up the effect.
It's overkill for my clip. If you just want an effect on the whole video, skip this entirely and apply the effect to the full frame batch. The Sender/Receiver pair only earns its complexity when the effect is expensive and you're isolating a short segment.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| Load_video_frames | IMAGE | — | |
| Effect_key_frame | INT | 241–10000 | — |
| Effect_steps | INT | 33–10 | — |
| Effect_Distance | INT | 11–3 | — |
| Effect_Length | INT | 11–3 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| all_frames | IMAGE | — |
| effect_frames | IMAGE | — |
| frames_index | STRING | — |
| process_info | STRING | — |