Skip to content
Node packVerifiedExternal
Open source

comfyui-dream-project

Animation supporting nodes for ComfyUI

Maintainer@alt-key-projectBgrade

Package profile

Status
Verified
Publisher
@alt-key-project
Source
GitHub
Stars
116

README

Dream Project Animation Nodes for ComfyUI

This repository contains various nodes for supporting Deforum-style animation generation with ComfyUI. I created these for my own use (producing videos for my "Alt Key Project" music - youtube channel), but I think they should be generic enough and useful to many ComfyUI users.

I have demonstrated the use of these custom nodes in this youtube video.

Notice!

This custom node pack is currently not being updated. Stable Diffusion video generation is moving towards a different workflow with AnimateDiff and Stable Video Diffusion. I decided to not try to update this node pack, but I am instead creating a separate custom node pack here:

github

This new node pack will be getting my attention from now on (at least as long as stable diffusion video generation is done mostly in batches).

Installation

Simple option

You can install Dream Project Animation Nodes using the ComfyUI Manager.

Manual option

Run within (ComfyUI)/custom_nodes/ folder:

Then, if you are using the python embedded in ComfyUI:

  • (ComfyUI)/python_embedded/python.exe -s -m pip install -r requirements.txt

With your system-wide python:

  • pip install -r requirements.txt

Finally:

  • Start ComfyUI.

After startup, a configuration file 'config.json' should have been created in the 'comfyui-dream-project' directory. Specifically check that the path of ffmpeg works in your system (add full path to the command if needed).

Upgrade

When upgrading, it is good to re-run the pip install command as specified in the install section. This will install any new dependencies.

Configuration

debug

Setting this to true will enable some trace-level logging.

ffmpeg.file_extension

Sets the output file extension and with that the envelope used.

ffmpeg.path

Path to the ffmpeg executable or just the command if ffmpeg is in PATH.

ffmpeg.arguments

The arguments sent to FFMPEG. A few of the values are provided by the node:

  • %FPS% the target framerate
  • %FRAMES% a frame ionput file
  • %OUTPUT% output video file path

encoding.jpeg__quality

Sets the encoding quality of jpeg images.

ui.top_category

Sets the name of the top level category on the menu. Set to empty string "" to remove the top level. If the top level is removed you may also want to disable the category icons to get nodes into existing category folders.

prepend_icon_to_category / append_icon_to_category

Flags to add a icon before and/or after the category name at each level.

prepend_icon_icon_to_node / append_icon_icon_to_node

Flags to add an icon before and/or after the node name.

ui.category_icons

Each key defines a unicode symbol as an icon used for the specified category.

mpeg_coder.bitrate_factor

This factor allows changing the bitrate to better fit the required quality and codec. A value of 1 is typically suitable for H.265.

mpeg_coder.codec_name

Codec names as specified by ffmpeg. Some common options include "libx264", "libx264" and "mpeg2video".

mpeg_coder.encoding_threads

Increasing the number of encoding threads in mpegCoder will generally reduce the overall encoding time, but it will also increase the load on the computer.

mpeg_coder.file_extension

Sets the output file extension and with that the envelope used.

mpeg_coder.max_b_frame

Sets the max-b-frames parameter for as specified in ffmpeg.

Concepts used

These are some concepts used in nodes:

Frame Counter

The frame counter is an abstraction that keeps track of where we are in the animation - what frame is rendered and how does the current frame fit into the current animation.

Curves

A curve is simply a node that produces a value based

Nodes in this pack

58 nodes
  • Analyze Palette [Dream]
  • Beat Curve [Dream]
  • Big Float Switch [Dream]
  • Big Image Switch [Dream]
  • Big Int Switch [Dream]
  • Big Latent Switch [Dream]
  • Big Palette Switch [Dream]
  • Big Text Switch [Dream]
  • Boolean To Float [Dream]
  • Boolean To Int [Dream]
  • Build Prompt [Dream]
  • Calculation [Dream]
  • Common Frame Dimensions [Dream]
  • Compare Palettes [Dream]
  • CSV Curve [Dream]
  • CSV Generator [Dream]
  • FFMPEG Video Encoder [Dream]
  • File Count [Dream]
  • Finalize Prompt [Dream]
  • Float Input [Dream]
  • Float to Log Entry [Dream]
  • Frame Count Calculator [Dream]
  • Frame Counter (Directory) [Dream]
  • Frame Counter (Simple) [Dream]
  • Frame Counter Info [Dream]
  • Frame Counter Offset [Dream]
  • Frame Counter Time Offset [Dream]
  • Image Brightness Adjustment [Dream]
  • Image Color Shift [Dream]
  • Image Contrast Adjustment [Dream]
  • Image Motion [Dream]
  • Image Sequence Blend [Dream]
  • Image Sequence Loader [Dream]
  • Image Sequence Saver [Dream]
  • Image Sequence Tweening [Dream]
  • Int Input [Dream]
  • Int to Log Entry [Dream]
  • Laboratory [Dream]
  • Linear Curve [Dream]
  • Log Entry Joiner [Dream]
  • Log File [Dream]
  • Noise from Area Palettes [Dream]
  • Noise from Palette [Dream]
  • Palette Color Align [Dream]
  • Palette Color Shift [Dream]
  • Random Prompt Words [Dream]
  • Sample Image Area as Palette [Dream]
  • Sample Image as Palette [Dream]
  • Saw Curve [Dream]
  • Sine Curve [Dream]
  • Smooth Event Curve [Dream]
  • String Input [Dream]
  • String to Log Entry [Dream]
  • String Tokenizer [Dream]
  • Text Input [Dream]
  • Triangle Curve [Dream]
  • Triangle Event Curve [Dream]
  • WAV Curve [Dream]

Related resources

8 connections

Sources

3 sources
GitHubSourceVersion f48bed5b8ae866b3dad33fb811d712d45205f117
github.com/alt-key-project/comfyui-dream-project

Verified Sep 12

Source excerpts

1 excerpt

Source context: Repo alt-key-project/comfyui-dream-project