Nodes/Deforum Nodes/(deforum) Integrated Pipeline
ComfyUI Node

(deforum) Integrated Pipeline

Deforum's Integrated Pipeline

By XmYx·Created 3 years ago·Updated 3 months ago· 198
(deforum) Integrated Pipeline
  • deforum_data
  • model
  • clip
  • vae
  • IMAGE

Deforum's original trick, back when it was an A1111 extension, was that you typed a bunch of schedules into a form and it generated an animation - prompts, camera motion, warping, interpolation, the whole loop hidden behind one button. (deforum) Integrated Pipeline is that original experience, transplanted into ComfyUI as a single node. Give it a model, a clip, a VAE and a deforum_data bundle, and it runs the entire DeforumAnimationPipeline for you, returning every generated frame.

It's the laziest way to make a Deforum animation in ComfyUI, and honestly the one to start with.

Why you'd use it

The alternative - the node-by-node route with (deforum) Iterator Node plus (deforum) KSampler - is more flexible but much more plumbing. The Integrated Pipeline is the opposite trade: all the per-frame machinery (prompt keyframes, zoom/pan schedules, depth warping, cadence) is handled internally, so a working animation is just parameter nodes feeding this one node. The pack's examples/deforum_integrated.json shows exactly this minimal graph.

The community has cooled on Deforum generally - it's "out of fashion" in the way that people keep saying while still loving the look, especially the camera moves - but nothing else does the zoom/morph transition thing quite like it, and this node is the fastest on-ramp to that aesthetic.

How it works

Under the hood it's the real deal: the node builds the full set of Deforum argument namespaces (RootArgs, DeforumArgs, DeforumAnimArgs, output and loop args), copies every key it recognizes out of deforum_data, constructs a DeforumAnimationPipeline, and hands it a generate() callback that routes sampling through ComfyUI's own sampler with your model/clip/vae. Frames stream through a progress bar and the node returns them stacked into one IMAGE tensor. It writes intermediates under output/deforum, and deliberately skips video assembly (skip_video_creation=True) - you save/assemble video yourself with a Video Save node or an external tool.

The inputs and outputs that matter

Only four inputs, and three of them are boring:

  • model - your checkpoint.
  • clip - its CLIP.
  • vae - its VAE.
  • deforum_data - the interesting one. Chain your parameter nodes here: (deforum) Animation Parameters (mode, max_frames), (deforum) Translate Parameters (zoom/pan/rotation), (deforum) Prompt, (deforum) Diffusion Parameters, and so on. Last writer wins per key, so order your chain deliberately.

Output:

  • IMAGE - all frames stacked as a batch. Preview it, save it, or feed it to a video encoder.

Installing this pack

Part of Deforum Nodes by XmYx. ComfyUI Manager: search Deforum Nodes, or:

cd ComfyUI/custom_nodes
git clone https://github.com/XmYx/deforum-comfy-nodes

Restart and let the installer run - install.py pulls the deforum-studio backend from GitHub (the actual pipeline code) plus scientific Python dependencies with numpy pinned below 2.0. Python 3.10 required per the README. If the pip step fails, it prints the manual pip install git+https://github.com/XmYx/deforum-studio.git command - run it in your venv.

Common issues

  • Nothing renders / instant exit. A missing key in deforum_data (usually prompts). The pipeline needs an animation_prompts dict - if your Prompt node isn't in the chain, add it.
  • VRAM chokes on long animations. This node runs the full loop in one execution, so a 300-frame run is one long queue item. Keep max_frames modest, or use the node-by-node graph where you can babysit it.
  • Where's my video? It's not created - the node returns frames, not an mp4. That's by design.
Categorydeforum/sampling

Inputs (4)

NameTypeDefaultDescription
deforum_datadeforum_data
modelMODEL
clipCLIP
vaeVAE

Outputs (1)

NameTypeDescription
IMAGEIMAGE