Robin Huang and GitHub
592d056100
Add support for Veo3 API node. ( #8320 )
2025-05-28 23:42:02 -04:00
+14
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
dea1c7474a
Add support for API Nodes in ComfyUI. ( #7726 )
...
* Add Ideogram generate node.
* Add staging api.
* COMFY_API_NODE_NAME node property
* switch to boolean flag and use original node name for id
* add optional to type
* 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 )
* [API Nodes] Send empty request body instead of empty dictionary. (#8 )
* Fixed: removed function from rebase.
* Add pydantic.
* Remove uv.lock
* Remove polling operations.
* Update stubs workflow.
* Remove polling comments.
* Update stubs.
* Use pydantic v2.
* Use pydantic v2.
* Add basic OpenAITextToImage node
* Add.
* convert image to tensor.
* Improve types.
* Ruff.
* Push tests.
* Handle multi-form data.
- Don't set content-type for multi-part/form
- Use data field instead of JSON
* Change to api.comfy.org
* Handle error code 409.
* separate out nodes per openai model
* Update error message.
* fix wrong output type
* re-categorize nodes, remove ideogram (for now)
* oops, fix mappings
* fix ruff
* Update frontend to 1.17.9
* embargo lift rename nodes
* remove unused autogenerated model code
* fix API type error and add b64 support for 4o
* fix ruff
* oops forgot mask scaling code
* Remove unused types.
---------
Co-authored-by: bymyself <cbyrne@comfy.org >
Co-authored-by: Yoland Y <4950057+yoland68@users.noreply.github.com >
Co-authored-by: thot-experiment <thot@thiic.cc >
2025-04-23 15:38:34 -04:00
0738e4ea5d
[API nodes] Add backbone for supporting api nodes in ComfyUI ( #7745 )
...
* Add Ideogram generate node.
* Add staging api.
* COMFY_API_NODE_NAME node property
* switch to boolean flag and use original node name for id
* add optional to type
* 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 )
* [API Nodes] Send empty request body instead of empty dictionary. (#8 )
* Fixed: removed function from rebase.
* Add pydantic.
* Remove uv.lock
* Remove polling operations.
* Update stubs workflow.
* Remove polling comments.
* Update stubs.
* Use pydantic v2.
* Use pydantic v2.
* Add basic OpenAITextToImage node
* Add.
* convert image to tensor.
* Improve types.
* Ruff.
* Push tests.
* Handle multi-form data.
- Don't set content-type for multi-part/form
- Use data field instead of JSON
* Change to api.comfy.org
* Handle error code 409.
* Remove nodes.
---------
Co-authored-by: bymyself <cbyrne@comfy.org >
Co-authored-by: Yoland Y <4950057+yoland68@users.noreply.github.com >
2025-04-23 02:18:08 -04:00
Robin Huang and GitHub
dc300a4569
Add wanfun template workflows. ( #7678 )
2025-04-19 15:21:46 -04:00
Robin Huang and GitHub
4553891bbd
Update installation documentation to include desktop + cli. ( #6899 )
...
* Update installation documentation.
* Add portable to description.
* Move cli further down.
2025-02-23 19:13:39 -05:00
Robin Huang and GitHub
d37272532c
Add discord channel to support section. ( #6900 )
2025-02-20 18:26:16 -05:00
Robin Huang and GitHub
29d4384a75
Normalize extra_model_config.yaml paths to prevent duplicates. ( #6885 )
...
* Normalize extra_model_config.yaml paths before adding.
* Fix tests.
* Fix tests.
2025-02-20 07:09:45 -05:00
Robin Huang and GitHub
042a905c37
Open yaml files with utf-8 encoding for extra_model_paths.yaml ( #6807 )
...
* Using utf-8 encoding for yaml files.
* Fix test assertion.
2025-02-13 20:39:04 -05:00
Robin Huang and GitHub
6ad0ddbae4
Run unit tests on Windows/MacOS as well. ( #5018 )
...
* Run unit tests on Windows as well.
* Test on mac.
* Continue running on error.
* Compared normalized paths to work cross platform.
* Only test common set of mimetypes across operating systems.
2024-09-22 05:01:39 -04:00
Robin Huang and GitHub
b962db9952
Add cli arg to override user directory ( #4856 )
...
* Override user directory.
* Use overridden user directory.
* Remove prints.
* Remove references to global user_files.
* Remove unused replace_folder function.
* Remove newline.
* Remove global during get_user_directory.
* Add validation.
2024-09-12 08:10:27 -04:00
Robin Huang and GitHub
d247bc5a9c
Expand variables in base_path for extra_config_paths.yaml. ( #4893 )
...
* Expand variables in base_path for extra_config_paths.yaml.
* Fix comments.
2024-09-12 01:52:06 -04:00
Robin Huang and GitHub
9fa8faa44a
Expand user directory for basepath in extra_models_paths.yaml ( #4857 )
...
* Expand user path.
* Add test.
* Add unit test for expanding base path.
* Simplify unit test.
* Remove comment.
* Remove comment.
* Checkpoints.
* Refactor.
2024-09-10 00:33:44 -04:00
Robin Huang and GitHub
70b84058c1
Add relative file path to the progress report. ( #4621 )
2024-08-27 02:06:12 -04:00
Robin Huang and GitHub
f07e5bb522
Add GET /internal/files. ( #4295 )
...
* Create internal route table.
* List files.
* Add GET /internal/files.
Retrieves list of files in models, output, and user directories.
* Refactor file names.
* Use typing_extensions for Python 3.8
* Fix tests.
* Remove print statements.
* Update README.
* Add output and user to valid directory test.
* Add missing type hints.
2024-08-21 01:25:06 -04:00
Robin Huang and GitHub
3e52e0364c
Add model downloading endpoint. ( #4248 )
...
* Add model downloading endpoint.
* Move client session init to async function.
* Break up large function.
* Send "download_progress" as websocket event.
* Fixed
* Fixed.
* Use async mock.
* Move server set up to right before run call.
* Validate that model subdirectory cannot contain relative paths.
* Add download_model test checking for invalid paths.
* Remove DS_Store.
* Consolidate DownloadStatus and DownloadModelResult
* Add progress_interval as an optional parameter.
* Use tuple type from annotations.
* Use pydantic.
* Update comment.
* Revert "Use pydantic."
This reverts commit 7461e8eb0073add315c65c6f5e361f0891bffc7d.
* Add new line.
* Add newline EOF.
* Validate model filename as well.
* Add comment to not reply on internal.
* Restrict downloading to safetensor files only.
2024-08-13 15:48:52 -04:00
Robin Huang and GitHub
2894511893
Clone taesd with depth of 1 to reduce download size. ( #4232 )
2024-08-06 01:46:09 -04:00
Robin Huang and GitHub
1abc9c8703
Stable release uses cached dependencies ( #4231 )
...
* Release stable based on existing tag.
* Update default cuda to 12.1.
2024-08-05 20:07:16 -04:00
Robin Huang and GitHub
17b41f622e
Change windows standalone URL to stable release. ( #4065 )
2024-07-26 14:37:40 -04:00
Robin Huang and GitHub
4ca9b9cc29
Add Github Workflow for releasing stable versions and standalone bundle. ( #3949 )
...
* Add stable release.
* Only build CUDA 12.1 + 3.11 Python.
* Upgrade checkout and setup-python to latest version.
* lzma2
* Update artifact name to be ComfyUI_windows_portable_nvidia.7z
2024-07-12 13:33:57 -04:00
Robin Huang and GitHub
601b4b63e1
Add CONTRIBUTING.md ( #3910 )
...
* Create CONTRIBUTING.md
* Add feature-request channel link.
* Remove discord links for channels.
2024-07-01 13:51:00 -04:00
Robin Huang and GitHub
c39cf7fff0
Revert "Add integration test for Linux with Nvidia GPU. #3884 ( #3895 )" ( #3905 )
...
This reverts commit 449bf52923 .
2024-06-28 16:09:55 -04:00
Robin Huang and GitHub
02cac1d487
Revert "Add macOs integration test for default workflow. ( #3898 )" ( #3904 )
...
This reverts commit 97b409cd48 .
2024-06-28 16:09:39 -04:00
Robin Huang and GitHub
97b409cd48
Add macOs integration test for default workflow. ( #3898 )
2024-06-27 16:10:16 -04:00
Robin Huang and GitHub
449bf52923
Add integration test for Linux with Nvidia GPU. #3884 ( #3895 )
...
* Add linux integration test.
* Fix directory path.
* Add paths ignore.
* Fix conda env directory path.
2024-06-27 16:08:26 -04:00