A collection of custom nodes for ComfyUI
[!NOTE] This projected was created with a cookiecutter template. It helps you start writing custom nodes without worrying about the Python setup.
ComfyUI/custom_nodes.pip install -r requirements.txt or run ./install.shAll dependencies are installed via pip - no system packages required!
requests>=2.25.0 - HTTP requestsopencv-python>=4.5.0 - Video processingimageio>=2.25.0 - Video I/Oimageio-ffmpeg>=0.4.9 - Bundles FFmpeg (no system install needed!)huggingface_hub>=0.20.0 - Model downloadssafetensors>=0.4.0 - Model loadingNote:
imageio-ffmpegincludes a pre-compiled FFmpeg binary, so you don't need to install FFmpeg on your system. This makes setup much easier across all platforms!
To install the dev dependencies and pre-commit (will run the ruff hook), do:
cd sprited_nodes
pip install -e .[dev]
pre-commit install
The -e flag above will result in a "live" install, in the sense that any changes you make to your node extension will automatically be picked up the next time you run ComfyUI.
Install Github Desktop or follow these instructions for ssh.
git add .
git commit -m "project scaffolding"
git push
An example custom node is located in node.py. To learn more, read the docs.
This repo contains unit tests written in Pytest in the tests/ directory. It is recommended to unit test your custom node.
The Video Downloader node allows you to download videos from direct URLs and provides the local file path.
https://example.com/video.mp4)The node only requires standard Python packages:
requests for downloadinghttps://example.com/path/myvideo.mp4MyProject_myvideo.mp4comfyui_video_downloadsThe Video Shot Splitter node automatically splits videos into individual shots using advanced scene detection algorithms.
seconds_per_shot to a value > 0 to split video at fixed intervalsseconds_per_shot = 5.0 creates 5-second clipsFast copy mode (no re-encoding) for MP4 output when reencode = false
Lossless re-encoding available for maximum compatibility
WebP input files are automatically converted to temporary MP4 for processing
Progress is shown in ComfyUI console during processing
build-pipeline.yml will run pytest and linter on any open PRs
validate.yml will run node-diff to check for breaking changes
If you wish to share this custom node with others in the community, you can publish it to the registry. We've already auto-populated some fields in pyproject.toml under tool.comfy, but please double-check that they are correct.
You need to make an account on https://registry.comfy.org and create an API key token.
@ sign on your registry profile).REGISTRY_ACCESS_TOKEN.A Github action will run on every git push. You can also run the Github action manually. Full instructions here. Join our discord if you have any questions!
36 commits
Python
99.2%
A collection of custom nodes for ComfyUI
[!NOTE] This projected was created with a cookiecutter template. It helps you start writing custom nodes without worrying about the Python setup.
ComfyUI/custom_nodes.pip install -r requirements.txt or run ./install.shAll dependencies are installed via pip - no system packages required!
requests>=2.25.0 - HTTP requestsopencv-python>=4.5.0 - Video processingimageio>=2.25.0 - Video I/Oimageio-ffmpeg>=0.4.9 - Bundles FFmpeg (no system install needed!)huggingface_hub>=0.20.0 - Model downloadssafetensors>=0.4.0 - Model loadingNote:
imageio-ffmpegincludes a pre-compiled FFmpeg binary, so you don't need to install FFmpeg on your system. This makes setup much easier across all platforms!
To install the dev dependencies and pre-commit (will run the ruff hook), do:
cd sprited_nodes
pip install -e .[dev]
pre-commit install
The -e flag above will result in a "live" install, in the sense that any changes you make to your node extension will automatically be picked up the next time you run ComfyUI.
Install Github Desktop or follow these instructions for ssh.
git add .
git commit -m "project scaffolding"
git push
An example custom node is located in node.py. To learn more, read the docs.
This repo contains unit tests written in Pytest in the tests/ directory. It is recommended to unit test your custom node.
The Video Downloader node allows you to download videos from direct URLs and provides the local file path.
https://example.com/video.mp4)The node only requires standard Python packages:
requests for downloadinghttps://example.com/path/myvideo.mp4MyProject_myvideo.mp4comfyui_video_downloadsThe Video Shot Splitter node automatically splits videos into individual shots using advanced scene detection algorithms.
seconds_per_shot to a value > 0 to split video at fixed intervalsseconds_per_shot = 5.0 creates 5-second clipsFast copy mode (no re-encoding) for MP4 output when reencode = false
Lossless re-encoding available for maximum compatibility
WebP input files are automatically converted to temporary MP4 for processing
Progress is shown in ComfyUI console during processing
build-pipeline.yml will run pytest and linter on any open PRs
validate.yml will run node-diff to check for breaking changes
If you wish to share this custom node with others in the community, you can publish it to the registry. We've already auto-populated some fields in pyproject.toml under tool.comfy, but please double-check that they are correct.
You need to make an account on https://registry.comfy.org and create an API key token.
@ sign on your registry profile).REGISTRY_ACCESS_TOKEN.A Github action will run on every git push. You can also run the Github action manually. Full instructions here. Join our discord if you have any questions!
36 commits
Python
99.2%