comfyui-dream-project
Animation supporting nodes for ComfyUI
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:
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:
- git clone https://github.com/alt-key-project/comfyui-dream-project.git
- cd comfyui-dream-project
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
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
Related resources
8 connectionsSources
3 sources
Sources
3 sourcesVerified Sep 12
Verified Sep 12
Source excerpts
1 excerpt
Source excerpts
1 excerptSource context: Repo alt-key-project/comfyui-dream-project
