2368 Commits

Author SHA1 Message Date
Chenlei Hu
cd3573c6a3 Add FrontendManager to manage non-default front-end impl (#3897)
* Add frontend manager

* Add tests

* nit

* Add unit test to github CI

* Fix path

* nit

* ignore

* Add logging

* Install test deps

* Remove 'stable' keyword support

* Update test

* Add web-root arg

* Rename web-root to front-end-root

* Add test on non-exist version number

* Use repo owner/name to replace hard coded provider list

* Inline cmd args

* nit

* Fix unit test
2024-07-16 11:26:11 -04:00
comfyanonymous
ad63c08139 Fix bug with custom nodes on other drives. 2024-07-15 20:38:26 -04:00
comfyanonymous
b237e7bf95 Fix bug with workflow not registering change.
There was an issue when only the class type of a node changed with all the
inputs staying the same.
2024-07-15 20:01:49 -04:00
comfyanonymous
553fbe3407 Refactor: Move some code to the comfy/text_encoders folder. 2024-07-15 17:36:24 -04:00
comfyanonymous
7cd140ddb3 Quick fix for the promax controlnet. 2024-07-14 10:07:36 -04:00
pythongosssss
157abc8562 New menu fixes - fix send to workflow (#3909)
* Fix send to workflow
Fix center align of close workflow dialog
Better support for elements around canvas

* More resilent to extra elements added to body
2024-07-14 02:04:40 -04:00
comfyanonymous
29c17be75e Support AuraFlow Lora and loading model weights in diffusers format.
You can load model weights in diffusers format using the UNETLoader node.
2024-07-13 13:51:40 -04:00
comfyanonymous
9d6b3a28eb Add link to AuraFlow example in Readme. 2024-07-12 15:25:07 -04:00
Robin Huang
e02d6bd46f 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
comfyanonymous
edce34f55e Better tokenizing code for AuraFlow. 2024-07-12 01:15:25 -04:00
comfyanonymous
44ff254b08 Add sentencepiece dependency. 2024-07-11 22:58:03 -04:00
comfyanonymous
1234807a19 Add a ModelSamplingAuraFlow node to change the shift value.
Set the default AuraFlow shift value to 1.73 (sqrt(3)).
2024-07-11 17:57:36 -04:00
comfyanonymous
4c066c4bc4 AuraFlow model implementation. 2024-07-11 16:52:26 -04:00
comfyanonymous
68f579e0e8 Fix error message never being shown. 2024-07-11 11:46:51 -04:00
comfyanonymous
1e3385c222 Cleaner support for loading different diffusion model types. 2024-07-11 11:37:31 -04:00
comfyanonymous
ecf278e391 Remove useless code. 2024-07-10 20:33:12 -04:00
comfyanonymous
238efd021c More flexibility with text encoder return values.
Text encoders can now return other values to the CONDITIONING than the cond
and pooled output.
2024-07-10 20:06:50 -04:00
comfyanonymous
27226fb151 Support returning text encoder attention masks. 2024-07-10 19:31:22 -04:00
Chenlei Hu
54ab069cf5 Update bug issue template (#3996)
* Update issue template

* nit
2024-07-10 11:28:15 -04:00
Chenlei Hu
8a3d4b4bff Check unhandled exception in test log in test action (#3987)
* Upload console logs

* Check unhandled exception
2024-07-09 17:12:57 -04:00
Chenlei Hu
702bbfc4c2 Add __module__ to node info (#3936)
Use more explicit name 'python_module'

Parse abs ath

Move parse to nodes.py
2024-07-09 17:07:15 -04:00
Extraltodeus
e02530182b Add sampler_pre_cfg_function (#3979)
* Update samplers.py

* Update model_patcher.py
2024-07-09 16:20:49 -04:00
comfyanonymous
f17217a44a Fix ConditioningZeroOut when there is no pooled output. 2024-07-09 11:52:31 -04:00
bymyself
3d3f398d6d Fix loadGraphData call during restore (#3976) 2024-07-09 11:23:26 -04:00
comfyanonymous
8f8587b1b8 Remove useless import. 2024-07-09 11:05:05 -04:00
comfyanonymous
44b0664b04 Controlnet union model basic implementation.
This is only the model code itself, it currently defaults to an empty
embedding [0] * 6 which seems to work better than treating it like a
regular controlnet.

TODO: Add nodes to select the image type.
2024-07-08 23:49:02 -04:00
comfyanonymous
002954b124 Rename clip_t5base to t5base for stable audio text encoder. 2024-07-08 08:53:55 -04:00
comfyanonymous
d0872d68d4 Move audio nodes out of _for_testing. 2024-07-07 09:22:32 -04:00
comfyanonymous
0fcc0a91e8 Add a way to set the timestep multiplier in the flow sampling. 2024-07-06 04:06:03 -04:00
comfyanonymous
d393dea6f3 Support other types of T5 models. 2024-07-06 02:42:53 -04:00
comfyanonymous
f50599a9ae Better T5xxl detection. 2024-07-06 00:53:33 -04:00
comfyanonymous
824eb84a50 Cleanup T5 code a bit. 2024-07-06 00:36:49 -04:00
comfyanonymous
b9b3986c45 Allow specifying the padding token for the tokenizer. 2024-07-06 00:06:49 -04:00
comfyanonymous
fc982c3e43 Allow zeroing out of embeds with unused attention mask. 2024-07-05 23:48:17 -04:00
comfyanonymous
89170e492f Remove duplicate import. 2024-07-05 12:10:22 -04:00
comfyanonymous
6e4d0c7ac9 Readme changes. 2024-07-04 22:03:37 -04:00
comfyanonymous
f717a1353e Forgot this in last commit. 2024-07-04 21:49:50 -04:00
comfyanonymous
5b86befc8c Show comfy_extras warning at the end.
Remove code.
2024-07-04 21:44:27 -04:00
comfyanonymous
46a11e00b6 Temporary revert. 2024-07-04 21:09:58 -04:00
Chenlei Hu
024ba2b642 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
04f1ba3645 Remove useless code. 2024-07-04 15:14:13 -04:00
bymyself
3348d2512e Skip state check hook on first load (#3915) 2024-07-03 20:30:07 -04:00
Chenlei Hu
819c60231b 3.8 Compatible type annotation (#3938) 2024-07-03 19:31:46 -04:00
comfyanonymous
1695df9fbf Support loading checkpoints with the UNETLoader node. 2024-07-03 11:34:32 -04:00
comfyanonymous
618c870dff Don't update dict if contiguous. 2024-07-02 20:21:51 -04:00
Alex "mcmonkey" Goodwin
88f6f26ca1 fix non-contiguous tensor saving (from channels-last) (#3932) 2024-07-02 20:16:33 -04:00
comfyanonymous
ae505fc9ff Fix SamplerEulerCFGpp node. 2024-07-02 12:21:08 -04:00
comfyanonymous
612d0bd12c Remove some empty lines. 2024-07-02 01:32:23 -04:00
shawnington
71910d639d 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
4d1320d46a Add example for how to add custom API routes (#3597) 2024-07-01 18:02:42 -04:00