(deforum) Integrated Pipeline
Deforum's 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 ananimation_promptsdict - 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_framesmodest, 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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| deforum_data | deforum_data | — | |
| model | MODEL | — | |
| clip | CLIP | — | |
| vae | VAE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |