Nodes/Difforum/Difforum · Prompt Schedule (travel)
ComfyUI Node

Difforum · Prompt Schedule (travel)

Morph a prompt over your clip

By chillithebillis·Created 3 months ago·Updated about a month ago· 7
Difforum · Prompt Schedule (travel)
  • params
  • clip
  • positive_schedule
  • first_frame_cond
  • info
prompts0: a serene misty forest, soft light 30: a stormy ocean, dramatic clouds 59: a vast starry galaxy, vivid colors
easingease_in_out

The single most "Difforum" move in this whole pack is prompt travel: instead of one prompt for the whole clip, the description morphs as frames pass - a forest melting into a crystal cave melting into a galaxy. Difforum Prompt Schedule is the node that does it from a plain text schedule, in the same frame: prompt style you already know from the numeric schedules.

You write keyframes like:

0: a serene misty forest, soft light
30: a stormy ocean, dramatic clouds
59: a vast starry galaxy, vivid colors

The node encodes each keyframe prompt with CLIP once, then builds a per-frame list of blended CONDITIONING - so frame 15 is a half-forest, half-ocean embed. That's the mechanism: proper conditioning blending in embedding space, with an easing curve (ease_in_out by default) controlling how the blend moves between keyframes.

Inputs and outputs

  • params - from Difforum · Anim Setup. Its max_frames defines how long the travel is.
  • clip - your CLIP (from the checkpoint loader). Encodes each keyframe.
  • prompts - the multiline frame: prompt schedule.
  • easing - linear, ease_in, ease_out, ease_in_out, step. step gives hard cuts between scenes instead of morphs; everything else blends.

Outputs: positive_schedule (the per-frame DIFFORUM_PROMPT list - feed this into the Feedback Sampler's or Live Step's positive_schedule input), first_frame_cond (the CONDITIONING for frame 0, handy for the initial txt2img), and info (a text summary of your keyframes). Encoding each prompt once and reusing it per frame is what keeps this cheap - prompt travel costs a handful of CLIP encodes, not one per frame.

Install and gotchas

Same story as every node here - it's one pack:

cd ComfyUI/custom_nodes
git clone https://github.com/chillithebillis/Difforum.git difforum

Restart ComfyUI (console shows [Difforum] loaded N nodes; ComfyUI Manager has it too under "Difforum"). Only dependency is numpy, already in ComfyUI; the pack runs on Python 3.12+, which is precisely what the original Deforum library refuses to do.

Two things to watch. First, frame numbers past max_frames are ignored - if your last keyframe says 120: but Anim Setup only runs 60 frames, the travel is cut short. Second, blended conditioning is not a magic bullet: extreme subject changes (a forest to a face) can smear because the embeddings fight each other. Keep adjacent keyframes in the same visual ballpark and the morph reads as intentional, not mush. If you'd rather describe scenes in dedicated text boxes than remember frame numbers, Difforum · Prompt Scenes is the friendlier wrapper for exactly this.

CategoryDifforum/schedule

Inputs (4)

NameTypeDefaultDescription
paramsDIFFORUM_PARAMS
clipCLIP
promptsSTRING0: a serene misty forest, soft light 30: a stormy ocean, dramatic clouds 59: a vast starry galaxy, vivid colors
easingCOMBOease_in_out5 options: linear, ease_in, ease_out, ease_in_out, step

Outputs (3)

NameTypeDescription
positive_scheduleDIFFORUM_PROMPT
first_frame_condCONDITIONING
infoSTRING