Commit Graph
89 Commits
Author SHA1 Message Date
scofano b5398e73d0 chore: bump version to 1.3.0 for registry publish v1.3.0 2026-05-19 12:26:52 -03:00
scofanoandClaude Haiku 4.5 727e9017cc Update .gitignore and README for Phase 2 GPU acceleration release
Changes:
- Add .claude/ to .gitignore (planning files)
- Add common IDE/editor ignores (.vscode/, .idea/, *.swp)
- Update README with GPU acceleration support summary
- Document Phase 2 GPU-accelerated nodes (ImageTransitionNode, VideoImageOverlay, VideoSplitterNode)
- Highlight automatic fallback behavior for GPU-only systems

All Phase 2 nodes default to use_gpu=False for conservative opt-in approach.
Expected gains: 5-10x speedup for users with NVIDIA GPU.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-19 10:45:45 -03:00
scofano 0ca98c38c1 Bump version to 1.2.1 for Phase 2 GPU encoding support 2026-05-19 10:30:48 -03:00
scofanoandClaude Haiku 4.5 fe39b72ab2 Phase 2: Add optional GPU encoding support to 3 video nodes
Add low-risk NVENC encoding option to ImageTransitionNode, VideoImageOverlay,
and VideoSplitterNode. Each node now includes a use_gpu parameter (default: False)
that enables hevc_nvenc when available, with automatic fallback to libx264 if
NVIDIA GPU is unavailable or NVENC fails.

Changes:
- ImageTransitionNode: Add use_gpu parameter for MP4 frame encoding
- VideoImageOverlay: Add use_gpu parameter for overlay video encoding
- VideoSplitterNode: Add use_gpu parameter for segment encoding

Expected gains: 5-10x speedup for GPU users (hevc_nvenc vs libx264)
Risk level: VERY LOW (zero breaking changes, backward compatible)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-19 10:29:59 -03:00
scofanoandClaude Haiku 4.5 7d5d326c97 feat: Phase 1 - GPU acceleration for image and video nodes
Image Processing (PyTorch GPU tensor operations):
- ZoomSequenceNode: Add device handling for GPU-accelerated F.interpolate
- CameraShakeNode: Ensure tensors stay on GPU device
- CameraMoveNode: Add device handling for GPU acceleration
- Expected gain: 4-10x speedup for large batches

Video Encoding (NVENC support):
- VideoLoopExtenderNode: Add use_gpu parameter for HEVC_NVENC encoding
- Falls back to libx264 if NVIDIA GPU unavailable
- Expected gain: 5-10x speedup for video encoding

Note: ComfySimpleVideoCombiner and ColorAdjustmentVideoNode already had
GPU support implemented, so no changes were needed.

Safe, backward-compatible changes with runtime GPU detection and fallback.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-19 10:21:44 -03:00
scofanoandClaude Haiku 4.5 e57e8e7653 docs: Update color adjustment nodes documentation with GPU acceleration info
- Document PyTorch GPU acceleration for image node
- Document HEVC_NVENC GPU encoding option for video node
- Add performance metrics (30-60% faster for images, 5-10x for video encoding)
- Update input table to include use_gpu parameter
- Explain fallback behavior and codec selection

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-19 10:14:53 -03:00
scofanoandClaude Haiku 4.5 376dad301b feat: Add GPU acceleration to color adjustment nodes
Image Node:
- Switch from PIL to PyTorch tensor operations
- GPU-accelerated brightness, contrast, saturation adjustments
- RGB to HSV conversion for saturation on GPU
- 30-60% faster on typical batches, up to 5x faster on large batches

Video Node:
- Add use_gpu parameter (default: True)
- Use HEVC_NVENC when GPU enabled (5-10x faster encoding)
- Falls back to libx264 when GPU unavailable
- Improved info string to show codec used

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-19 10:14:23 -03:00
scofanoandClaude Haiku 4.5 b6295e3785 chore: bump version to 1.2.0
Add two new color adjustment nodes:
- ColorAdjustmentNode for image batches
- ColorAdjustmentVideoNode for video files

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
v1.2.0
2026-05-18 21:05:01 -03:00
scofano 175d9eb9af Merge remote branch with color adjustment nodes 2026-05-18 21:02:56 -03:00
scofanoandClaude Haiku 4.5 e2db969f75 feat: Add color adjustment nodes (image and video)
- Add ColorAdjustmentNode for brightness/contrast/saturation on image batches
- Add ColorAdjustmentVideoNode for FFmpeg-based video color adjustment
- Both nodes use intuitive 0-100 scale parameters (100 = no change)
- Video node includes delete_original option and audio preservation
- Update __init__.py with node registration and display names
- Update README.md with comprehensive documentation for nodes 21-22

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-18 21:02:26 -03:00
scofanoandClaude Sonnet 4.6 4867d2093a feat: add Chromatic Aberration node
Shifts R and B channels in opposite directions (G stays centred) using
pure PyTorch — no FFmpeg round-trip. Supports Horizontal, Vertical, and
Diagonal directions with four channel-polarity presets and RGBA safety.
README updated with full node documentation as item 20.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 22:35:54 -03:00
scofano 454eea334f chore: switch project license to AGPL and ignore analysis output
Replace the bundled GPLv3 license text with AGPLv3 to better reflect network-use distribution terms, and add codescene_analysis to .gitignore so generated analysis artifacts are not committed.chore: switch project license to AGPL and ignore analysis output

Replace the bundled GPLv3 license text with AGPLv3 to better reflect network-use distribution terms, and add codescene_analysis to .gitignore so generated analysis artifacts are not committed.
2026-04-24 01:04:58 -03:00
scofano dfe393b6fc docs(readme): expand zoom node options and random-mode behavior
Document the updated Zoom Sequence and Batched Zoom Sequence interfaces, including new `direction`, `amount_type`, `zoom_percentage`, `random_seed`, and `smooth_subpixel` inputs, plus Random easing support.

Clarify how random selection works per execution (and how `random_seed=0` forces fresh rolls) and explain subpixel sampling vs integer crop modes so users can get smoother long/slow zooms and reproducible results when needed.docs(readme): expand zoom node options and random-mode behavior

Document the updated Zoom Sequence and Batched Zoom Sequence interfaces, including new `direction`, `amount_type`, `zoom_percentage`, `random_seed`, and `smooth_subpixel` inputs, plus Random easing support.

Clarify how random selection works per execution (and how `random_seed=0` forces fresh rolls) and explain subpixel sampling vs integer crop modes so users can get smoother long/slow zooms and reproducible results when needed.
2026-03-06 09:39:17 -03:00
scofano 2124342885 chore: Add scripts/__pycache__ to .gitignore 2026-02-12 13:35:37 -03:00
scofano 8c7a6c794a docs: Document Video Image Overlay feature for PNG alpha transparency
Also changes output path from ComfyUI output directory to same directory as input video
2026-02-12 13:34:46 -03:00
scofano d81382fd0c update readme 2026-01-20 09:36:35 -03:00
scofano dc9cf8639b refactor: reorganize scripts into subfolder and update imports
- Moved all script modules into a new `scripts/` folder
- Updated import statements in `__init__.py` to reference the new folder
- Updated README installation instructions to reflect the new structure for better codebase organization
V1.0
2026-01-20 09:32:32 -03:00
scofano a561e4deeb fix: clarify output paths in README and correct RETURN_TYPES for ComfySimpleVideoCombiner
- Update README.md to accurately describe output_path as a single path for non-recursive mode or newline-separated list for recursive mode
- Set RETURN_TYPES to ("STRING",) in ComfySimpleVideoCombiner to match the output type
2026-01-20 09:12:42 -03:00
scofano fa223d40b0 feat(video-combiner): add recursive subdirectory processing
Add a new `recursive` boolean parameter to enable processing subdirectories recursively. When enabled, the node scans for subdirectories, concatenates videos in each separately, and outputs a newline-separated list of paths. This improves handling of organized video collections by creating distinct outputs per folder. Refactored code for clarity with a helper method for single-directory processing. Updated README with detailed mode descriptions.
2026-01-19 19:13:24 -03:00
scofano b383476fde feat: add Image Audio CSV Generator node
Add a new node that generates CSV files pairing image and audio files from separate directories. This enables users to create datasets for machine learning, organize media for batch processing, and automate file cataloging by sorting and zipping file lists alphabetically. Includes support for common image (PNG, JPG, etc.) and audio (MP3, WAV, etc.) formats, with semicolon-delimited output and UTF-8 encoding. Updates include importing the node in __init__.py and adding comprehensive documentation to README.md.
2026-01-19 15:34:22 -03:00
scofano 7ea4ff508e feat: add Add Soundtrack node and cross-fade to Simple Video Combiner
- Add new ComfyAddSoundtrack node for mixing soundtrack audio with video while preserving original audio, including volume adjustment, trimming, and optional original file deletion
- Update ComfySimpleVideoCombiner to include cross-fade duration parameter for smoother video transitions
- Enhance README with detailed documentation for the new soundtrack feature, improving user guidance and node discoverability
- Register new node in __init__.py mappings for proper integration into ComfyUI workflow

This expands audio/video processing capabilities, allowing users to create richer multimedia content with professional audio mixing and seamless video edits.
2026-01-17 17:48:53 -03:00
scofano 3e93441ffd feat: enhance video concatenation with stream-based processing and audio normalization
Refactored the video combining logic to handle video and audio streams separately, normalizing audio to 44100 Hz stereo to prevent mismatches between clips with different sample rates or channel layouts. Replaced concat demuxer with interleaved stream concatenation for better compatibility and robustness. Added _get_video_duration method for probing video durations using ffprobe. Removed temporary file handling for simpler implementation. This improves reliability when combining videos with varying audio properties.
2026-01-16 22:26:40 -03:00
scofano 36ce1c7675 update toml 2026-01-15 23:31:41 -03:00
scofano dcfc63dedb update toml 2026-01-15 23:30:35 -03:00
scofano 222103f13c readme update 2026-01-15 23:29:01 -03:00
scofano e23cf81532 readme update 2026-01-15 23:27:32 -03:00
scofano e453a0120a readme update 2026-01-15 23:26:35 -03:00
scofano 225516dc58 readme update 2026-01-15 23:24:14 -03:00
scofano 710301289b readme update 2026-01-15 23:22:43 -03:00
scofano 78db0b7e3a readme update 2026-01-15 23:20:29 -03:00
scofano 27dccee7ee readme update 2026-01-15 23:18:45 -03:00
scofano 5a65ed0ab7 readme update 2026-01-15 23:16:19 -03:00
scofano 0d53e49da2 Readme update 2026-01-15 23:08:26 -03:00
scofano d3440c7669 readme update 2026-01-15 23:07:37 -03:00
scofano a71bc69762 readme update 2026-01-15 23:06:09 -03:00
scofano 5aaee16680 readme update 2026-01-15 23:04:26 -03:00
scofano 7e45c191ed Readme update 2026-01-15 22:59:24 -03:00
scofano 26b99d5f09 readme update 2026-01-15 22:52:37 -03:00
scofano 96ff47d8cc update readme 2026-01-15 22:48:16 -03:00
scofano 4e76e9b66f update readme 2026-01-15 22:46:15 -03:00
scofano 4bc609af78 update readme 2026-01-15 22:43:21 -03:00
scofano 64d7e26962 feat: add Video Overlay (File Input) node and progress bar to Image Sequence Overlay
- Introduce new Video Overlay (File Input) node that applies animated PNG overlays to video files with audio preservation, supporting loop, run_once, run_once_and_hold, and ping_pong modes, including GPU encoding and automatic filename generation.
- Update README.md with comprehensive documentation for the new node, including inputs, outputs, animation modes, and usage details.
- Enhance Image Sequence Overlay node by adding a progress bar widget for better user feedback during processing.
2026-01-15 19:12:12 -03:00
scofano f3567ac41a feat: Add VideoOverlayFromFile node for file-based video overlays
- Import and register new VideoOverlayFromFile class in __init__.py
- Enable overlaying videos from file inputs in the application
- Enhance video processing capabilities with file-sourced overlays
2026-01-15 19:06:57 -03:00
scofano de2cde5672 feat: Add Simple and Advanced Folder Video Combiners
- Introduce Simple Folder Video Combiner for basic concatenation of video files from a directory
- Add Advanced Folder Video Combiner with transitions, fades, and audio handling
- Update README.md with new features, renumbering, and installation instructions
- Import new modules in __init__.py for ComfyUI integration

These additions enhance video editing capabilities by providing efficient tools for combining multiple video files, improving workflow for users creating compilations or sequences.
2026-01-15 18:30:49 -03:00
scofano 3b1bb115e4 docs: add documentation for Image Sequence Overlay feature
- Added new feature entry to the bundle list
- Included detailed section describing the Image Sequence Overlay node, its inputs, outputs, and progress tracking
- Source: comfy_image_sequence_overlay.py
- Enhances README with info on applying PNG overlay animations to image sequences with real-time progress indication
2026-01-15 16:50:40 -03:00
scofano 2e7af19713 feat: add ImageSequenceOverlay node
Add import and registration for the new ImageSequenceOverlay node, enabling image sequence overlay functionality in ComfyUI.
2026-01-15 16:42:11 -03:00
scofano 639808a3ed docs: document Close Up Image node and update README structure
Add comprehensive documentation for the new Close Up Image node, including features, requirements, inputs/outputs, and usage details. Introduce a workflow examples section with JSON imports. Renumber sections to accommodate the new node and maintain logical order.
2026-01-15 14:05:17 -03:00
scofano eb02dac3b6 feat: add Video Loop Extender node for duplicating and merging video files
- Implement VideoLoopExtenderNode to extend videos by repeating them multiple times
- Preserve audio streams and support optional deletion of originals
- Update README.md with comprehensive documentation including features, inputs, outputs, and usage
- Add node mappings in __init__.py for integration with ComfyUI workflow
2025-12-31 13:55:17 -03:00
scofano 0a858aca4a docs: update camera shake documentation for new features
- Revise description to reflect circular/random motion patterns instead of Perlin/random noise
- Update features to include shake modes, radius, easing, loop toggle, and aspect-correct cropping
- Add loop input parameter to the node inputs table
- Enhance explanations for radius, easing, loop, and safe cropping in the usage notes
2025-12-31 10:33:46 -03:00
scofano 8bb1f3d89c feat: add loop option to CameraShakeVideoNode for seamless looping
Introduce a new 'loop' boolean parameter to enable seamless video looping. When enabled, it forces circular shake mode with a constant radius and single cycle, ensuring smooth transitions at loop points. This enhances video output quality for looped animations.
2025-12-31 10:31:32 -03:00