Commit Graph

2529 Commits

Author SHA1 Message Date
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
Chenlei Hu
175fe02522
Ignore .vscode/ (#3879) 2024-06-26 19:59:19 -04:00
Chenlei Hu
bc5a0f10db
Ignore *.log (#3880) 2024-06-26 19:59:09 -04:00
Chenlei Hu
a3e83f695d
Update test ref (#3882)
* Update ref

* Disable some tests
2024-06-26 19:58:56 -04:00
Chenlei Hu
f12fa1d8d7
Enable browser tests on push (#3878) 2024-06-26 09:09:21 -04:00
pythongosssss
e3579f3360
Fix merge issue breaking api json loading (#3876) 2024-06-26 09:08:48 -04:00
Alex "mcmonkey" Goodwin
edfce78c86
add issue templates for ComfyUI Issues Page (#3868) 2024-06-26 01:37:27 -04:00
Chenlei Hu
e99d97a9d9
Remove duplicated Reset View button (#3865)
* Remove duplicated Reset View button

* Disable flaky test
2024-06-26 01:23:55 -04:00
comfyanonymous
69d710e40f Implement my alternative take on CFG++ as the euler_pp sampler.
Add euler_ancestral_pp which is the ancestral version of euler with the
same modification.
2024-06-25 07:41:52 -04:00
pythongosssss
90aebb6c86
New Menu & Workflow Management (#3112)
* menu

* wip

* wip

* wip

* wip

* wip

* workflow saving/loading

* Support inserting workflows
Move buttosn to top of lists

* fix session storage
implement renaming

* temp

* refactor, better workflow instance management

* wip

* progress on progress

* added send to workflow
various fixes

* Support multiple image loaders

* Support dynamic size breakpoints based on content

* various fixes
add close unsaved warning

* Add filtering tree

* prevent renaming unsaved

* fix zindex on hover

* fix top offset

* use filename as workflow name

* resize on setting change

* hide element until it is drawn

* remove glow

* Fix export name

* Fix test, revert accidental changes to groupNode

* Fix colors on all themes

* show hover items on smaller screen (mobile)

* remove debugging code

* dialog fix

* Dont reorder open workflows
Allow elements around canvas

* Toggle body display on setting change

* Fix menu disappearing on chrome

* Increase delay when typing, remove margin on Safari, fix dialog location

* Fix overflow issue on iOS

* Add reset view button
Prevent view changes causing history entries

* Bottom menu wip

* Various fixes

* Fix merge

* Fix breaking old menu position

* Fix merge adding restore view to loadGraphData
2024-06-25 06:49:25 -04:00
comfyanonymous
eab211bb1e Resample audio to 44100 when VAE encoding it. 2024-06-24 16:55:20 -04:00
Chenlei Hu
866f54da8d
Add browser test action synced with TS repo (#3852)
* Add browser test action

* Add npm install task
2024-06-24 14:47:28 -04:00
comfyanonymous
73ca780019 Add SamplerEulerCFG++ node.
This node should match the DDIM implementation of CFG++ when "regular" is
selected.

"alternative" is a slightly different take on CFG++
2024-06-23 13:21:18 -04:00