Nodes/ComfyUI-Desert-Pixel-Nodes/DP Animation Calculator 10 Inputs
ComfyUI Node

DP Animation Calculator 10 Inputs

Schedule a ten-keyframe prompt-travel timeline

By DesertPixelAi·Created 2 years ago·Updated about a year ago· 25
DP Animation Calculator 10 Inputs
  • Image_01_Input
  • Image_02_Input
  • Image_03_Input
  • Image_04_Input
  • Image_05_Input
  • Image_06_Input
  • Image_07_Input
  • Image_08_Input
  • Image_09_Input
  • Image_10_Input
  • Image_Batch_Output
  • Text_Prompt_Timing
  • fade_mask_01_timing
  • fade_mask_02_timing
  • fade_mask_03_timing
  • Check_Log
Total_Frames96
Image_01_startPoint0
Image_02_startPoint48
Image_03_startPoint72
Image_04_startPoint96
Image_05_startPoint120
Image_06_startPoint144
Image_07_startPoint168
Image_08_startPoint192
Image_09_startPoint216
Image_10_startPoint240
Prompt_Image_01prompt 01
Prompt_Image_02prompt 02
Prompt_Image_03prompt 03
Prompt_Image_04prompt 04
Prompt_Image_05prompt 05
Prompt_Image_06prompt 06
Prompt_Image_07prompt 07
Prompt_Image_08prompt 08
Prompt_Image_09prompt 09
Prompt_Image_10prompt 10
Transition_Frames8
fade_mask_01_Min0.0
fade_mask_01_Max1.0
fade_mask_02_Min0.0
fade_mask_02_Max1.0
fade_mask_03_Min0.0
fade_mask_03_Max1.0

The big-timeline version of the Desert Pixel animation calculator. Same job as the 5-input node - turn a set of keyframes with prompts and start frames into the timing strings a prompt-travel scheduler needs - but with room for ten keyframes. Reach for this when your animation has a real arc: ten distinct beats morphing across a few hundred frames, each with its own prompt.

It's from DesertPixelAi's Desert-Pixel-Nodes, a large quality-of-life pack. This is one of the pack's most involved nodes; it's doing timeline arithmetic, not text plumbing. It sits in front of an AnimateDiff-style keyframe workflow and hands it a correctly-formatted schedule so you don't have to compute one by hand across ten transitions.

How it works

You set a total frame count, then describe ten keyframes: an image, a prompt, and a start frame for each. The node figures out when each keyframe is active, blends between them over Transition_Frames, and outputs a batched image sequence plus the schedule strings - a prompt-travel timing string in the frame: prompt format and separate fade-mask timings. Those feed your keyframe/prompt-schedule nodes, and the sampler interpolates between the prompts as the frames advance.

Worth saying plainly: prompt travel is most associated with AnimateDiff, which Wan 2.2 and LTX have overtaken for general video quality. If you're starting a new project, look there first. But AnimateDiff-Evolved is still maintained and a dedicated group still uses it for its particular morphing aesthetic - and if that's your pipeline, a ten-keyframe schedule is exactly the kind of thing this node saves you from hand-rolling. If ten is more than you need, the 5-input version is the same node with less to fill in.

The inputs and outputs that matter

The ones you actually set:

  • Total_Frames - the full length (default 96, range 16 to 2000). Everything schedules relative to this.
  • Image_01_startPointImage_10_startPoint - the frame each keyframe starts on. Image 1 is pinned at 0; the defaults step the rest by 24 (48, 72, 96, 120, and up).
  • Prompt_Image_01Prompt_Image_10 - the ten keyframe prompts.
  • Transition_Frames - crossfade length between keyframes (default 8, up to 32). Higher is smoother and slower.

Also present: the fade_mask_01/02/03 Min/Max floats for fade envelopes, and ten optional Image_01_Input … Image_10_Input IMAGE slots for supplying real images per keyframe.

Outputs: Image_Batch_Output (IMAGE), Text_Prompt_Timing (STRING - the prompt-travel schedule, the one you care about most), three fade_mask_0X_timing strings, and Check_Log (STRING). With ten keyframes the log is essential - read it to confirm the timeline came out the way you meant before you commit to a long render.

How to install it

  • ComfyUI Manager: search "Desert Pixel", install, restart. No models needed.
  • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/DesertPixelAi/ComfyUI-Desert-Pixel-Nodes, pip install -r requirements.txt if present, restart.

Under the DP category. You'll also need an AnimateDiff-style prompt scheduler to consume the timing output.

Common issues

Ten keyframes multiplies the chance of a start point falling outside Total_Frames. Any keyframe whose start frame is past the end never fires, so a prompt silently drops out of the animation. Keep your ten start points ordered and comfortably inside the total, and lean on Check_Log to verify the schedule before rendering - a mistake here is expensive when the render is hundreds of frames long.

Also, don't assume the ordering is forgiving. If your start points aren't monotonically increasing, the transitions won't land where you expect. And as with the 5-input node, if a scheduler chokes on the raw Text_Prompt_Timing, clean it through DP_Clean_Prompt_Travel before wiring it in - the calculator computes the timeline, but the scheduler is what actually drives the animation.

CategoryDP/Animation

Inputs (38)

NameTypeDefaultDescription
Total_FramesINT9616–2000
Image_01_startPointINT00–0
Image_02_startPointINT480–1000
Image_03_startPointINT720–1000
Image_04_startPointINT960–1000
Image_05_startPointINT1200–1000
Image_06_startPointINT1440–1000
Image_07_startPointINT1680–1000
Image_08_startPointINT1920–1000
Image_09_startPointINT2160–1000
Image_10_startPointINT2400–1000
Prompt_Image_01STRINGprompt 01
Prompt_Image_02STRINGprompt 02
Prompt_Image_03STRINGprompt 03
Prompt_Image_04STRINGprompt 04
Prompt_Image_05STRINGprompt 05
Prompt_Image_06STRINGprompt 06
Prompt_Image_07STRINGprompt 07
Prompt_Image_08STRINGprompt 08
Prompt_Image_09STRINGprompt 09
Prompt_Image_10STRINGprompt 10
Transition_FramesINT80–32
fade_mask_01_MinFLOAT0.00–1
fade_mask_01_MaxFLOAT1.00–1
fade_mask_02_MinFLOAT0.00–1
fade_mask_02_MaxFLOAT1.00–1
fade_mask_03_MinFLOAT0.00–1
fade_mask_03_MaxFLOAT1.00–1
Image_01_InputoptIMAGE
Image_02_InputoptIMAGE
Image_03_InputoptIMAGE
Image_04_InputoptIMAGE
Image_05_InputoptIMAGE
Image_06_InputoptIMAGE
Image_07_InputoptIMAGE
Image_08_InputoptIMAGE
Image_09_InputoptIMAGE
Image_10_InputoptIMAGE

Outputs (6)

NameTypeDescription
Image_Batch_OutputIMAGE
Text_Prompt_TimingSTRING
fade_mask_01_timingSTRING
fade_mask_02_timingSTRING
fade_mask_03_timingSTRING
Check_LogSTRING