bigcat88
36e8277724
v3: converted nodes_video
2025-07-19 07:47:09 +03:00
bigcat88
2a7793394f
converted ImageRebatch, LatentRebatch, DifferentialDiffusion
2025-07-18 17:05:40 +03:00
bigcat88
18ed598fa1
converted extra nodes files starting with "f,g"
2025-07-18 16:21:34 +03:00
bigcat88
9eda706e64
V3: 7 more nodes
2025-07-18 06:23:13 +03:00
bigcat88
326a2593e0
V3: 4 more converted files (starting with A)
2025-07-17 11:22:11 +03:00
bigcat88
d703ba9633
V3: AceStepAudio nodes
2025-07-16 15:42:14 +03:00
bigcat88
106bc9b32a
V3: PreviewAny node
2025-07-16 11:25:02 +03:00
bigcat88
c196dd5d0f
V3: primitive nodes; additional ruff rules for V3 nodes
2025-07-15 17:44:26 +03:00
bigcat88
b17cc99c1e
V3 Nodes: Load,Save,Vae audio nodes; sort imports; ruff
2025-07-15 13:11:50 +03:00
Jedrzej Kosinski
fad1b90d93
Merge pull request #8877 from bigcat88/v3/nodes/stable-cascade
...
[V3] StableCascade nodes
2025-07-14 00:18:37 -07:00
bigcat88
af781cb96c
Reapply "V3 nodes: stable cascade" ( #8873 )
...
This reverts commit eabd053227e5cdad2615461fb24a499bf204b69f.
2025-07-11 22:42:20 +03:00
bigcat88
21c9d7b289
V3 controlnet nodes: ControlNetApply, SetUnionControlNetType, ControlNetInpaintingAliMamaApply
2025-07-11 22:34:22 +03:00
comfyanonymous
eabd053227
Revert "V3 nodes: stable cascade" ( #8873 )
2025-07-11 13:02:18 -04:00
bigcat88
f51ebfb5a1
V3 nodes: stable cascade
2025-07-11 17:26:04 +03:00
Jedrzej Kosinski
19bb231fbd
Merge pull request #8833 from bigcat88/v3-load-save-nodes-replacement
...
[v3] Migrate LoadImage and SaveImage nodes to v3 schema
2025-07-09 22:20:17 -07:00
bigcat88
d8b91bb84e
put V1 nodes back
2025-07-10 07:58:34 +03:00
kosinkadink1@gmail.com
a6bcb184f6
Fixed missing comma in init_builtin_extra_nodes after merge
2025-07-09 22:46:22 -05:00
bigcat88
fefb24cc33
fixes, corrections; ported MaskPreview, WebcamCapture and LoadImageOutput nodes
2025-07-09 13:37:57 +03:00
bigcat88
1eb1a44883
migrate PreviewImage node to V3
2025-07-09 13:37:57 +03:00
bigcat88
36770c1658
migrate load and save images nodes to v3 schema (rebased)
2025-07-09 13:37:44 +03:00
kosinkadink1@gmail.com
3aa2d19c70
Merge branch 'master' into v3-definition
2025-07-09 03:58:09 -05:00
Christian Byrne
9fd0cd7cf7
Add Moonvalley nodes ( #8832 )
2025-07-08 08:54:30 -04:00
chaObserv
f02de13316
Add TCFG node ( #8730 )
2025-07-01 02:33:07 -04:00
xufeng
ba9548f756
“--whitelist-custom-nodes” args for comfy core to go with “--disable-all-custom-nodes” for development purposes ( #8592 )
...
* feat: “--whitelist-custom-nodes” args for comfy core to go with “--disable-all-custom-nodes” for development purposes
* feat: Simplify custom nodes whitelist logic to use consistent code paths
2025-06-28 15:24:02 -04:00
Jedrzej Kosinski
86de88fb44
Merge branch 'master' into v3-definition
2025-06-27 11:30:04 -07:00
comfyanonymous
ec70ed6aea
Omnigen2 model implementation. ( #8669 )
2025-06-25 19:35:57 -04:00
Jedrzej Kosinski
f9aec12ef1
Refactored v3 code so that v3_01 becomes v3, v3_01 is deleted since no longer necessary
2025-06-18 23:29:32 -05:00
Jedrzej Kosinski
1ef0693e65
Merge branch 'master' into v3-definition
2025-06-17 04:48:27 -05:00
Kohaku-Blueleaf
520eb77b72
LoRA Trainer: LoRA training node in weight adapter scheme ( #8446 )
2025-06-13 19:25:59 -04:00
comfyanonymous
40fd39c7cb
debug -> warning ( #8506 )
2025-06-12 17:14:59 -04:00
Terry Jia
4d1c4b9797
Auto register web folder ( #8505 )
...
* auto register web folder from pyproject
* need pydantic-settings as dependency
* wrapped try/except for config_parser
* sf
2025-06-12 16:24:39 -04:00
kosinkadink1@gmail.com
6854864db9
Added some missing type defs, starting work on a revision (v3_01) to change formatting (need to change execution.py to recognize it as v3 as well)
2025-06-11 19:46:30 -07:00
comfyanonymous
365f9ed157
Revert "auto register web folder from pyproject ( #8478 )" ( #8497 )
...
This reverts commit 9685d4f3c3e34b50d3f2e9bcb52026db7f7e624c.
2025-06-11 17:28:04 -04:00
Terry Jia
9685d4f3c3
auto register web folder from pyproject ( #8478 )
...
* auto register web folder from pyproject
* need pydantic-settings as dependency
2025-06-11 16:21:28 -04:00
kosinkadink1@gmail.com
1fb1bad150
Some node changes to compare v1 and v3
2025-06-04 18:56:01 -07:00
Jedrzej Kosinski
94e6119f9f
Merge branch 'master' into v3-definition
2025-06-02 21:58:10 -07:00
Christian Byrne
856448060c
[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
Jedrzej Kosinski
50603859ab
Merge branch 'master' into v3-definition
2025-06-01 01:51:04 -07:00
Christian Byrne
d062fcc5c0
[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
Jedrzej Kosinski
8642757971
Made V3 NODES_LIST work properly
2025-05-31 15:32:11 -07:00
kosinkadink1@gmail.com
de86d8e32b
Attempting to simplify node list definition in a python file via NODES_LIST
2025-05-31 15:24:37 -07:00
Jedrzej Kosinski
0400497d5e
Merge branch 'master' into v3-definition
2025-05-30 02:49:02 -07:00
Jedrzej Kosinski
5f0e04e2d7
Temporarily adding nodes_v3_test.py file to comfy_extras for testing/sharing purposes
2025-05-28 21:35:14 -07:00
Robin Huang
f58f0f5696
More API nodes: Gemini/Open AI Chat, Tripo, Rodin, Runway Image ( #8295 )
...
* Add Ideogram generate node.
* Add staging api.
* Add API_NODE and common error for missing auth token (#5 )
* Add Minimax Video Generation + Async Task queue polling example (#6 )
* [Minimax] Show video preview and embed workflow in ouput (#7 )
* Remove uv.lock
* Remove polling operations.
* Revert "Remove polling operations."
This reverts commit 8415404ce8fbc0262b7de54fc700c5c8854a34fc.
* Update stubs.
* Added Ideogram and Minimax back in.
* Added initial BFL Flux 1.1 [pro] Ultra node (#11 )
* Manually add BFL polling status response schema (#15 )
* Add function for uploading files. (#18 )
* Add Luma nodes (#16 )
Co-authored-by: Robin Huang <robin.j.huang@gmail.com>
* Refactor util functions (#20 )
* Add rest of Luma node functionality (#19 )
Co-authored-by: Robin Huang <robin.j.huang@gmail.com>
* Fix image_luma_ref not working (#28 )
Co-authored-by: Robin Huang <robin.j.huang@gmail.com>
* [Bug] Remove duplicated option T2V-01 in MinimaxTextToVideoNode (#31 )
* add veo2, bump av req (#32 )
* Add Recraft nodes (#29 )
* Add Kling Nodes (#12 )
* Add Camera Concepts (luma_concepts) to Luma Video nodes (#33 )
Co-authored-by: Robin Huang <robin.j.huang@gmail.com>
* Add Runway nodes (#17 )
* Convert Minimax node to use VIDEO output type (#34 )
* Standard `CATEGORY` system for api nodes (#35 )
* Set `Content-Type` header when uploading files (#36 )
* add better error propagation to veo2 (#37 )
* Add Realistic Image and Logo Raster styles for Recraft v3 (#38 )
* Fix runway image upload and progress polling (#39 )
* Fix image upload for Luma: only include `Content-Type` header field if it's set explicitly (#40 )
* Moved Luma nodes to nodes_luma.py (#47 )
* Moved Recraft nodes to nodes_recraft.py (#48 )
* Move and fix BFL nodes to node_bfl.py (#49 )
* Move and edit Minimax node to nodes_minimax.py (#50 )
* Add Recraft Text to Vector node, add Save SVG node to handle its output (#53 )
* Added pixverse_template support to Pixverse Text to Video node (#54 )
* Added Recraft Controls + Recraft Color RGB nodes (#57 )
* split remaining nodes out of nodes_api, make utility lib, refactor ideogram (#61 )
* Set request type explicitly (#66 )
* Add `control_after_generate` to all seed inputs (#69 )
* Fix bug: deleting `Content-Type` when property does not exist (#73 )
* Add Pixverse and updated Kling types (#75 )
* Added Recraft Style - Infinite Style Library node (#82 )
* add ideogram v3 (#83 )
* [Kling] Split Camera Control config to its own node (#81 )
* Add Pika i2v and t2v nodes (#52 )
* Remove Runway nodes (#88 )
* Fix: Prompt text can't be validated in Kling nodes when using primitive nodes (#90 )
* Update Pika Duration and Resolution options (#94 )
* Removed Infinite Style Library until later (#99 )
* fix multi image return (#101 )
close #96
* Serve SVG files directly (#107 )
* Add a bunch of nodes, 3 ready to use, the rest waiting for endpoint support (#108 )
* Revert "Serve SVG files directly" (#111 )
* Expose 4 remaining Recraft nodes (#112 )
* [Kling] Add `Duration` and `Video ID` outputs (#105 )
* Add Kling nodes: camera control, start-end frame, lip-sync, video extend (#115 )
* Fix error for Recraft ImageToImage error for nonexistent random_seed param (#118 )
* Add remaining Pika nodes (#119 )
* Make controls input work for Recraft Image to Image node (#120 )
* Fix: Nested `AnyUrl` in request model cannot be serialized (Kling, Runway) (#129 )
* Show errors and API output URLs to the user (change log levels) (#131 )
* Apply small fixes and most prompt validation (if needed to avoid API error) (#135 )
* Node name/category modifications (#140 )
* Add back Recraft Style - Infinite Style Library node (#141 )
* [Kling] Fix: Correct/verify supported subset of input combos in Kling nodes (#149 )
* Remove pixverse_template from PixVerse Transition Video node (#155 )
* Use 3.9 compat syntax (#164 )
* Handle Comfy API key based authorizaton (#167 )
Co-authored-by: Jedrzej Kosinski <kosinkadink1@gmail.com>
* [BFL] Print download URL of successful task result directly on nodes (#175 )
* Show output URL and progress text on Pika nodes (#168 )
* [Ideogram] Print download URL of successful task result directly on nodes (#176 )
* [Kling] Print download URL of successful task result directly on nodes (#181 )
* Merge upstream may 14 25 (#186 )
Co-authored-by: comfyanonymous <comfyanonymous@protonmail.com>
Co-authored-by: AustinMroz <austinmroz@utexas.edu>
Co-authored-by: comfyanonymous <121283862+comfyanonymous@users.noreply.github.com>
Co-authored-by: Benjamin Lu <benceruleanlu@proton.me>
Co-authored-by: Andrew Kvochko <kvochko@users.noreply.github.com>
Co-authored-by: Pam <42671363+pamparamm@users.noreply.github.com>
Co-authored-by: chaObserv <154517000+chaObserv@users.noreply.github.com>
Co-authored-by: Yoland Yan <4950057+yoland68@users.noreply.github.com>
Co-authored-by: guill <guill@users.noreply.github.com>
Co-authored-by: Chenlei Hu <hcl@comfy.org>
Co-authored-by: Terry Jia <terryjia88@gmail.com>
Co-authored-by: Silver <65376327+silveroxides@users.noreply.github.com>
Co-authored-by: catboxanon <122327233+catboxanon@users.noreply.github.com>
Co-authored-by: liesen <liesen.dev@gmail.com>
Co-authored-by: Kohaku-Blueleaf <59680068+KohakuBlueleaf@users.noreply.github.com>
Co-authored-by: Jedrzej Kosinski <kosinkadink1@gmail.com>
Co-authored-by: Robin Huang <robin.j.huang@gmail.com>
Co-authored-by: thot experiment <94414189+thot-experiment@users.noreply.github.com>
Co-authored-by: blepping <157360029+blepping@users.noreply.github.com>
* Update instructions on how to develop API Nodes. (#171 )
* Add Runway FLF and I2V nodes (#187 )
* Add OpenAI chat node (#188 )
* Update README.
* Add Google Gemini API node (#191 )
* Add Runway Gen 4 Text to Image Node (#193 )
* [Runway, Gemini] Update node display names and attributes (#194 )
* Update path from "image-to-video" to "image_to_video" (#197 )
* [Runway] Split I2V nodes into separate gen3 and gen4 nodes (#198 )
* Update runway i2v ratio enum (#201 )
* Rodin3D: implement Rodin3D API Nodes (#190 )
Co-authored-by: WhiteGiven <c15838568211@163.com>
Co-authored-by: Robin Huang <robin.j.huang@gmail.com>
* Add Tripo Nodes. (#189 )
Co-authored-by: Robin Huang <robin.j.huang@gmail.com>
* Change casing of categories "3D" => "3d" (#208 )
* [tripo] fix negtive_prompt and mv2model (#212 )
* [tripo] set default param to None (#215 )
* Add description and tooltip to Tripo Refine model. (#218 )
* Update.
* Fix rebase errors.
* Fix rebase errors.
* Update templates.
* Bump frontend.
* Add file type info for file inputs.
---------
Co-authored-by: Christian Byrne <cbyrne@comfy.org>
Co-authored-by: Jedrzej Kosinski <kosinkadink1@gmail.com>
Co-authored-by: Chenlei Hu <hcl@comfy.org>
Co-authored-by: thot experiment <94414189+thot-experiment@users.noreply.github.com>
Co-authored-by: comfyanonymous <comfyanonymous@protonmail.com>
Co-authored-by: AustinMroz <austinmroz@utexas.edu>
Co-authored-by: comfyanonymous <121283862+comfyanonymous@users.noreply.github.com>
Co-authored-by: Benjamin Lu <benceruleanlu@proton.me>
Co-authored-by: Andrew Kvochko <kvochko@users.noreply.github.com>
Co-authored-by: Pam <42671363+pamparamm@users.noreply.github.com>
Co-authored-by: chaObserv <154517000+chaObserv@users.noreply.github.com>
Co-authored-by: Yoland Yan <4950057+yoland68@users.noreply.github.com>
Co-authored-by: guill <guill@users.noreply.github.com>
Co-authored-by: Terry Jia <terryjia88@gmail.com>
Co-authored-by: Silver <65376327+silveroxides@users.noreply.github.com>
Co-authored-by: catboxanon <122327233+catboxanon@users.noreply.github.com>
Co-authored-by: liesen <liesen.dev@gmail.com>
Co-authored-by: Kohaku-Blueleaf <59680068+KohakuBlueleaf@users.noreply.github.com>
Co-authored-by: blepping <157360029+blepping@users.noreply.github.com>
Co-authored-by: Changrz <51637999+WhiteGiven@users.noreply.github.com>
Co-authored-by: WhiteGiven <c15838568211@163.com>
Co-authored-by: seed93 <liangding1990@163.com>
2025-05-27 03:00:58 -04:00
comfyanonymous
4202e956a0
Add append feature to conditioning_set_values ( #8239 )
...
Refactor unclipconditioning node.
2025-05-22 08:11:13 -04:00
comfyanonymous
dc46db7aa4
Make ImagePadForOutpaint return a 3 channel mask. ( #8157 )
2025-05-16 15:15:55 -04:00
George0726
c820ef950d
Add Wan-FUN Camera Control models and Add WanCameraImageToVideo node ( #8013 )
...
* support wan camera models
* fix by ruff check
* change camera_condition type; make camera_condition optional
* support camera trajectory nodes
* fix camera direction
---------
Co-authored-by: Qirui Sun <sunqr0667@126.com>
2025-05-15 19:00:43 -04:00
thot experiment
4136502b7a
implement APG guidance ( #8081 )
...
* first pass at impementing AGP
* rename, cleanup code
* fix ruff
* fix modified cond to match ref impl better, support different cond arity
2025-05-12 21:10:24 -04:00
Terry Jia
b7ed5f57bd
string node ( #7952 )
2025-05-12 16:29:32 -04:00
comfyanonymous
b9980592c4
Refuse to load api nodes on old pyav version. ( #7981 )
2025-05-07 17:27:16 -04:00