20 Commits

Author SHA1 Message Date
comfyanonymous
23dd8f5dda Add ImageRotate and ImageFlip nodes. (#8789) 2025-07-03 19:16:30 -04:00
comfyanonymous
292ae00f2c Resize and pad image node. (#8636) 2025-06-22 17:59:31 -04:00
comfyanonymous
0431629169 Allow padding in ImageStitch node to be white. (#8631) 2025-06-22 00:19:41 -04:00
comfyanonymous
6a78ddd10f Add batch to GetImageSize node. (#8419) 2025-06-04 09:40:21 -04:00
Christian Byrne
2d5609eeb9 [feat] Add GetImageSize node (#8386)
* [feat] Add GetImageSize node to return image dimensions

Added a simple GetImageSize node in comfy_extras/nodes_images.py that returns width and height of input images. The node displays dimensions on the UI via PromptServer and provides width/height as outputs for further processing.

* add display name mapping

* [fix] Add server module mock to unit tests for PromptServer import

Updated test to mock server module preventing import errors from the new PromptServer usage in GetImageSize node. Uses direct import pattern consistent with rest of codebase.
2025-06-02 21:57:50 -04:00
Christian Byrne
df87b089e6 [feat] Add ImageStitch node for concatenating images (#8369)
* [feat] Add ImageStitch node for concatenating images with borders

Add ImageStitch node that concatenates images in four directions with optional borders and intelligent size handling. Features include optional second image input, configurable borders with color selection, automatic batch size matching, and dimension alignment via padding or resizing.

Upstreamed from https://github.com/kijai/ComfyUI-KJNodes with enhancements for better error handling and comprehensive test coverage.

* [fix] Fix CI issues with CUDA dependencies and linting

- Mock CUDA-dependent modules in tests to avoid CI failures on CPU-only runners
- Fix ruff linting issues for code style compliance

* [fix] Improve CI compatibility by mocking nodes module import

Prevent CUDA initialization chain by mocking the nodes module at import time,
which is cleaner than deep mocking of CUDA-specific functions.

* [refactor] Clean up ImageStitch tests

- Remove unnecessary sys.path manipulation (pythonpath set in pytest.ini)
- Remove metadata tests that test framework internals rather than functionality
- Rename complex scenario test to be more descriptive of what it tests

* [refactor] Rename 'border' to 'spacing' for semantic accuracy

- Change border_width/border_color to spacing_width/spacing_color in API
- Update all tests to use spacing terminology
- Update comments and variable names throughout
- More accurately describes the gap/separator between images
2025-06-01 04:28:52 -04:00
comfyanonymous
e045a2d2af Node to add pixel space noise to an image. (#8182) 2025-05-18 04:09:56 -04:00
thot experiment
0a5ca1c2e5 move SVG to core (#7982)
* move SVG to core

* fix workflow embedding w/ unicode characters
2025-05-09 13:46:34 -04:00
Chenlei Hu
bf551a1a7e Add type hint for FileLocator (#6968)
* Add type hint for FileLocator

* nit
2025-03-05 15:35:26 -05:00
comfyanonymous
2362d0368e Increase image batch nodes maximum values. 2024-03-17 08:57:49 -04:00
comfyanonymous
7b608054c8 Add ImageFromBatch. 2024-02-12 12:46:15 -05:00
comfyanonymous
1b16f64d1c Move SaveAnimated nodes to image->animation. 2023-12-17 02:37:22 -05:00
comfyanonymous
ef7e79ec85 Fix output APNG not working with ffmpeg. 2023-11-24 18:24:19 -05:00
comfyanonymous
3aeca9e72c Fix APNG not working in ffmpeg. 2023-11-24 18:14:17 -05:00
comfyanonymous
564761ab2a Use same default fps as webp node. 2023-11-24 11:19:23 -05:00
comfyanonymous
3e33fad53d Add a node to save animated PNG files. These work in ffpmeg unlike webp. 2023-11-24 11:12:10 -05:00
comfyanonymous
6a3d309f7c Fix SaveAnimatedWEBP not working when metadata is disabled. 2023-11-23 15:39:35 -05:00
comfyanonymous
b55e3ab86b Add a node to save animated webp. 2023-11-23 14:28:41 -05:00
comfyanonymous
0a37fa8a09 Add a RepeatImageBatch node. 2023-11-19 06:09:01 -05:00
comfyanonymous
e07971cb86 Add ImageCrop node. 2023-11-18 04:44:17 -05:00