- Add pyproject.toml with proper metadata for ComfyUI Registry
- Define comprehensive PyTorch dependencies
- Set publisher ID and display information
- Add ComfyUI-standard metadata to __init__.py
- Prepare for modern ComfyUI ecosystem distribution
Refined NODE_CLASS_MAPPINGS to include new classes like SelectStrFromDict, Text_ETK, and StringsToList.
Enhanced functionality for string and list operations in basic.py.
Introduced FuncAnysToDict in functional.py for dynamic dictionary generation from multiple inputs.
Removed redundant redefinitions of mappings in audio.py."
Key updates:
Added AddFramesToVideoFolder node to add frames to a video folder
Introduced VideoFolderProvider and VideoDefinitionProvider nodes to manage video folders and video definitions
Added FadeToInVideoFolder node for fading between frames in a video folder
Implemented ListedSVDConditioning node for applying SVD conditioning to a list of parameters
Added VideoFolderFFMPEGVideoInterpolate node to interpolate frames in a video folder using FFmpeg
Introduced AudioFolderProvider and AudioDefinitionProvider nodes for managing audio folders and definitions
Added AddAudioToAudioFolder and AddSilenceToAudioFolder nodes for adding audio files and silence to audio folders
Implemented GetAudioFilesLengthsFromAudioFolder node to retrieve lengths of audio files in a folder
Added AudioFolderRenderAudio node to join audio files in an audio folder
Introduced GenerateMusic node for generating music from descriptions using the AudioCraft library
Added XttsNode for text-to-speech conversion using the XTTS library
Implemented AdjustAudioVolumeForFiles node to adjust volume for a list of audio files
The changes also include the addition of LiteLLM nodes for text generation:
Added FuncAnysToText node that runs Python code with multiple input types and outputs a string
Introduced FuncAnysToLatent node for running code that outputs a latent representation
Added FuncAnysToString node for executing code with various inputs and producing a string output
Implemented FuncAnysToList node to run code that takes different input types and returns a list
Added FuncAnysToCond node for running code with multiple inputs and generating a conditioning output
These new nodes expand the capabilities for video and audio processing, allowing more advanced manipulations and generation of video and audio content within the graph.
- DecodeTranscriptNode to parse transcript text
- YoutubeUploadNode to upload videos to YouTube
- Audio metadata and file list nodes
- Image stack blending and stripping alpha channel
- Sampler dataset creation node
- Utils for deep copying tensors and arrays
Also includes:
- Testing for new utils module
- Git nodes marked with base class
- Renamed nodes.py to avoid conflicts
- Import refactoring to handle naming
Specifics:
- descript.py: New transcript parsing node
- youtube_nodes.py: New YouTube upload node
- audio.py: New audio metadata and file list nodes
- utils.py: Deep copy utility functions
- image.py: New image stack blending and alpha stripping
- tests/test_utils.py: Tests for new utils
- git.py: Marked git nodes with base class
- __init__.py: Refactored imports and mappings
- requirements.txt: Added YouTube dependencies
- functional.py: Minor tweaks
- modules/youtube.py: Helper for upload node
- video.py: Minor cleanup
- tests/test_youtube_nodes.py: Test for YouTube upload
- Introduced widget definitions for Git-related operations in `bases.py`.
These changes lay the foundation for Git-related functionality in the codebase and provide widget definitions for interacting with Git repositories.
Details:
- Removed the unused class "Prompt Template" in the __init__.py file.
- This class was not being used and was causing clutter in the codebase.
- The removal improves code readability and maintainability.
- Updated the import statements to only import necessary modules and classes.
- Changed the approach to dynamically import modules and retrieve classes using importlib.
- Added a check for ImportError when importing modules, and if not using generic nodes, skip the module.
- Removed NODE_CLASS_MAPPINGS_GENERIC and NODE_CLASS_MAPPINGS_COMFY dictionaries.
- Updated NODE_CLASS_MAPPINGS with the new mappings and added the old mappings.
- Removed the unused OLD_NODE_CLASS_MAPPINGS dictionary.
- Added a check to remove nodes with None values from NODE_CLASS_MAPPINGS.
- Imported the video node class mappings and updated NODE_CLASS_MAPPINGS with them as well.
- Added comments for clarity.