Commit Graph

2641 Commits

Author SHA1 Message Date
comfyanonymous 628f0b8ebc Move audio nodes out of _for_testing. 2024-07-07 09:22:32 -04:00
comfyanonymous 2dc84d1444 Add a way to set the timestep multiplier in the flow sampling. 2024-07-06 04:06:03 -04:00
comfyanonymous ff63893d10 Support other types of T5 models. 2024-07-06 02:42:53 -04:00
comfyanonymous 4040491149 Better T5xxl detection. 2024-07-06 00:53:33 -04:00
comfyanonymous b8e58a9394 Cleanup T5 code a bit. 2024-07-06 00:36:49 -04:00
comfyanonymous 80c4590998 Allow specifying the padding token for the tokenizer. 2024-07-06 00:06:49 -04:00
comfyanonymous ce649d61c0 Allow zeroing out of embeds with unused attention mask. 2024-07-05 23:48:17 -04:00
comfyanonymous b4c2d03d47 Remove duplicate import. 2024-07-05 12:10:22 -04:00
comfyanonymous 1dc87df4c5 Readme changes. 2024-07-04 22:03:37 -04:00
comfyanonymous cedbc94cc0 Forgot this in last commit. 2024-07-04 21:49:50 -04:00
comfyanonymous bd2d3e27d7 Show comfy_extras warning at the end.
Remove code.
2024-07-04 21:44:27 -04:00
comfyanonymous 720b17442d Temporary revert. 2024-07-04 21:09:58 -04:00
Chenlei Hu 0e3dfd9e34
Use relative path for custom/extra node module name (#3944)
* Fix module name for comfy extra nodes

* Use module name relative to root dir
2024-07-04 20:49:07 -04:00
comfyanonymous 739b76630e Remove useless code. 2024-07-04 15:14:13 -04:00
bymyself 24b969d3da
Skip state check hook on first load (#3915) 2024-07-03 20:30:07 -04:00
Chenlei Hu 086ac75228
3.8 Compatible type annotation (#3938) 2024-07-03 19:31:46 -04:00
comfyanonymous d7484ef30c Support loading checkpoints with the UNETLoader node. 2024-07-03 11:34:32 -04:00
comfyanonymous 537f35c7bc Don't update dict if contiguous. 2024-07-02 20:21:51 -04:00
Alex "mcmonkey" Goodwin 3f46362d22
fix non-contiguous tensor saving (from channels-last) (#3932) 2024-07-02 20:16:33 -04:00
comfyanonymous 01991f72ce Fix SamplerEulerCFGpp node. 2024-07-02 12:21:08 -04:00
comfyanonymous 2f03201690 Remove some empty lines. 2024-07-02 01:32:23 -04:00
shawnington 52aaee251f
Fix to #3465. Prevent, resaving of duplicate images if overwrite not specified (#3472)
* Fix to #3465. Prevent the, resaving of duplicate images if overwrite not specified

This is a fix to #3465 

Adds function compare_image_hash to do a sha256 hash comparison between an uploaded image and existing images with matching file names. 

This changes the behavior so that only images having the same filename that are actually different are saved to input, existing images are instead now opened instead of resaved with increment. 

Currently, exact duplicates with the same filename are resave saved with an incremented filename in the format:

<filename> (n).ext 

with the code: 

```
while os.path.exists(filepath): 
                        filename = f"{split[0]} ({i}){split[1]}"
                        filepath = os.path.join(full_output_folder, filename)
                        i += 1
```

This commit changes this to: 

```
while os.path.exists(filepath): 
                        if compare_image_hash(filepath, image):
                            image_is_duplicate = True
                            break
                        filename = f"{split[0]} ({i}){split[1]}"
                        filepath = os.path.join(full_output_folder, filename)
                        i += 1
```

a check for if image_is_duplicate = False is done before saving the file. 

Currently, if you load the same image of a cat named cat.jpg into the LoadImage node 3 times, you will get 3 new files in your input folder with incremented file names.

With this change, you will now only have the single copy of cat.jpg, that will be re-opened instead of re-saved. 

However if you load 3 different images of cats named cat.jpg, you will get the expected behavior of having:
cat.jpg
cat (1).jpg
cat (2).jpg

This saves space and clutter. After checking my own input folder, I have 800+ images that are duplicates that were resaved with incremented file names amounting to more than 5GB of duplicated data.

* fixed typo in expression
2024-07-02 01:30:33 -04:00
Bob Du 1ef66b0955
Add example for how to add custom API routes (#3597) 2024-07-01 18:02:42 -04:00
Chenlei Hu 9dd549e253
Add `--no-custom-node` cmd flag (#3903)
* Add --no-custom-node cmd flag

* nit
2024-07-01 17:54:03 -04:00
Peter Crabtree b82d67d5bf
Add SamplerEulerAncestralCFG++ custom sampler node (#3901)
(for eta and s_noise)
2024-07-01 17:42:17 -04:00
Hayden Reeve 755c48d78e
Fix several typos in example_node.py.example (#3204)
This change includes corrections for several spelling errors in the
documentation of example_node.py.example file.

These were previously raised by #3157, but they missed a few.
2024-07-01 17:21:12 -04:00
comfyanonymous 5dccfefe8d Switch nightly pytorch standalone package to lzma2. 2024-07-01 17:17:25 -04:00
YAN Wenkun 0cd4a6a5e5
Fine-tuning GitHub Actions (#3169)
* Bumping GitHub Actions versions

* Using LZMA2 for 7zip compression in Windows packaging
2024-07-01 17:15:49 -04:00
Robin Huang 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
ruucm e53b1592ba
enable cmd shortcuts for mac (mute & bypass) (#3792) 2024-07-01 13:45:34 -04:00
Chenlei Hu 7c5fa7f4a2
Fix loadGraphData func call (#3918) 2024-07-01 12:10:44 -04:00
comfyanonymous 521421f53e Fix workflow not importing from flac files on some systems. 2024-06-30 15:51:54 -04:00
comfyanonymous dbb7dd3b5e Add to readme that Stable Audio is supported. 2024-06-30 00:15:49 -04:00
comfyanonymous 05e831697a Switch to the real cfg++ method in the samplers.
The old _pp ones will be updated automatically to the regular ones with 2x
the cfg.

My fault for not checking what the "_pp" samplers actually did.
2024-06-29 11:59:48 -04:00
comfyanonymous fbb7a1f1b6 PreviewAudio node. 2024-06-29 01:33:22 -04:00
Robin Huang 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 02cac1d487
Revert "Add macOs integration test for default workflow. (#3898)" (#3904)
This reverts commit 97b409cd48.
2024-06-28 16:09:39 -04:00
comfyanonymous 7ecb2ec169 Audio second setting in EmptyLatentAudio. 2024-06-28 02:55:36 -04:00
pythongosssss 0d9009c96e
New menu/workflows fixes (#3900)
* Fix auto queue

* Detect added nodes via search

* Fix loading workflows

* Add button click style
2024-06-28 01:07:19 -04:00
comfyanonymous 264caca20e ControlNetApplySD3 node can now be used to use SD3 controlnets. 2024-06-27 18:43:11 -04:00
comfyanonymous f8f7568d03 Basic SD3 controlnet implementation.
Still missing the node to properly use it.
2024-06-27 18:43:11 -04:00
comfyanonymous 66aaa14001 Controlnet refactor. 2024-06-27 18:43:11 -04:00
Robin Huang 97b409cd48
Add macOs integration test for default workflow. (#3898) 2024-06-27 16:10:16 -04:00
Robin Huang 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
comfyanonymous 8ceb5a02a3 Support saving stable audio checkpoint that can be loaded back. 2024-06-27 11:06:52 -04:00
Chenlei Hu 5ff3d4eb3a
Fix audio upload when no audio in input dir (#3891) 2024-06-27 09:13:52 -04:00
comfyanonymous 4f9d2b057c Remove print. 2024-06-27 02:54:15 -04:00
comfyanonymous 4650e7d6e9 Save and load workflow from the flac files output by SaveAudio. 2024-06-27 02:07:29 -04:00
Chenlei Hu 3b423afcca
Add audio widget (#3863)
* Add audio widget

* Fix audio bugs

* Add CSS

* Populate audio widget when load history
2024-06-27 00:22:55 -04:00
comfyanonymous 44947e7ad4 Add DEIS order 3 sampler.
Order 4 seems to give bad results.
2024-06-26 22:40:05 -04:00