Commit Graph

264 Commits

Author SHA1 Message Date
comfyanonymous c50208a703 Refactor more code to sample.py 2023-04-24 23:25:51 -04:00
comfyanonymous a2236a0c2a Merge branch 'master' of https://github.com/BlenderNeko/ComfyUI 2023-04-24 17:57:27 -04:00
BlenderNeko d9b1595f85 made sample functions more explicit 2023-04-24 12:53:10 +02:00
comfyanonymous ccad603b2e Add a way for nodes to validate their own inputs. 2023-04-23 16:03:26 -04:00
ltdrdata f7a8218814
Add clipspace feature. (#541)
* Add clipspace feature.
* feat: copy content to clipspace
* feat: paste content from clipspace

Extend validation to allow for validating annotated_path in addition to other parameters.

Add support for annotated_filepath in folder_paths function.

Generalize the '/upload/image' API to allow for uploading images to the 'input', 'temp', or 'output' directories.

* rename contentClipboard -> clipspace

* Do deep copy for imgs on copy to clipspace.

* add original_imgs into clipspace
* Preserve the original image when 'imgs' are modified

* robust patch & refactoring folder_paths about annotated_filepath

* Only show the Paste menu if the ComfyApp.clipspace is not empty

* instant refresh on paste

force triggering 'changed' on paste action

* subfolder fix on paste logic

attach subfolder if subfolder isn't empty

---------

Co-authored-by: Lt.Dr.Data <lt.dr.data@gmail.com>
2023-04-23 15:58:55 -04:00
BlenderNeko 5818539743 add docstrings 2023-04-23 20:09:09 +02:00
BlenderNeko 8d2de420d3 Merge branch 'master' of https://github.com/BlenderNeko/ComfyUI 2023-04-23 20:02:18 +02:00
BlenderNeko 2a09e2aa27 refactor/split various bits of code for sampling 2023-04-23 20:02:08 +02:00
comfyanonymous 5282f56434 Implement Linear hypernetworks.
Add a HypernetworkLoader node to use hypernetworks.
2023-04-23 12:35:25 -04:00
Jacob Segal ee030d281b Add support for multiple unique inpainting masks
This enables workflows like "Inpaint at full resolution" when using
batch sizes greater than 1.
2023-04-22 16:02:26 -07:00
comfyanonymous 31e60adb28 Add GLIGEN example to README. 2023-04-20 17:30:10 -04:00
comfyanonymous 3696d1699a Add support for GLIGEN textbox model. 2023-04-19 11:06:32 -04:00
comfyanonymous f03dade5ab Fix bug. 2023-04-17 18:19:57 -04:00
comfyanonymous 6f7852bc47 Add a LatentFromBatch node to pick a single latent from a batch.
Works before and after sampling.
2023-04-17 17:28:07 -04:00
comfyanonymous 74fc7b7726 custom_nodes paths can now be set in the extra_model_paths.yaml 2023-04-16 01:46:43 -04:00
comfyanonymous 73c3e11e83 Fix model_management import so it doesn't get executed twice. 2023-04-15 19:04:33 -04:00
comfyanonymous f48f0872e2 Refactor: move nodes_mask_convertion nodes to nodes_mask. 2023-04-14 00:21:01 -04:00
comfyanonymous e1db7a2038 Merge branch 'image-to-mask' of https://github.com/missionfloyd/ComfyUI
# Conflicts:
#	nodes.py
2023-04-14 00:15:48 -04:00
comfyanonymous 1a7cda715b Revert LatentComposite. 2023-04-14 00:14:35 -04:00
comfyanonymous fed4a70b8e Merge branch 'master' of https://github.com/mligaintart/ComfyUI 2023-04-14 00:12:58 -04:00
Gavroche CryptoRUSH d2337a86fe
remove extra semi-colon 2023-04-13 16:38:02 -04:00
missionfloyd 9371924e65 Move mask conversion to separate file 2023-04-13 03:11:17 -06:00
missionfloyd 45b907fbf1
Merge branch 'comfyanonymous:master' into image-to-mask 2023-04-13 03:07:08 -06:00
comfyanonymous f15b4a7ffa Merge branch 'fix-LoadImageMask' of https://github.com/flyingshutter/ComfyUI 2023-04-12 01:24:53 -04:00
missionfloyd e1d289c1ec
use slice instead of torch.select() 2023-04-11 20:26:24 -06:00
missionfloyd e12fb88b1b Image/mask conversion nodes 2023-04-11 16:49:39 -06:00
comfyanonymous 24d53992c6 Rename. 2023-04-08 15:53:01 -04:00
comfyanonymous 60ac983238 Merge branch 'master' of https://github.com/city96/ComfyUI 2023-04-08 15:50:26 -04:00
comfyanonymous 44fea05064 Cleanup. 2023-04-07 02:31:46 -04:00
comfyanonymous 58ed0f2da4 Fix loading SD1.5 diffusers checkpoint. 2023-04-07 01:30:33 -04:00
sALTaccount 7734d65f22 fix loading alt folders 2023-04-06 22:02:26 -07:00
sALTaccount f51b7a92c7 search all diffusers paths (oops) 2023-04-06 21:48:58 -07:00
sALTaccount 72a8973bd5 allow configurable path for diffusers models 2023-04-06 21:45:08 -07:00
mligaintart 022a9f271b Adds masking to Latent Composite, and provides new masking utilities to
allow better compositing.
2023-04-06 15:18:20 -04:00
flyingshutter 9d1c610b89 make LoadImagesMask work with non RGBA images 2023-04-06 19:02:28 +02:00
sALTaccount 42fd67b5cb use precision determined by model management 2023-04-06 00:28:06 -07:00
sALTaccount 3d16077e38 empty list if diffusers directory doesn't exist 2023-04-06 00:24:52 -07:00
sALTaccount 60127a8304 diffusers loader 2023-04-05 23:57:31 -07:00
comfyanonymous f816964847 Add a way to set output directory with --output-directory 2023-04-05 14:29:30 -04:00
comfyanonymous 10ad4c1d17 Move unclip stuff out of _for_testing 2023-04-04 22:48:11 -04:00
comfyanonymous cadef9ff61 Merge branch 'nodes-post-processing' of https://github.com/EllangoK/ComfyUI 2023-04-04 13:51:26 -04:00
comfyanonymous f50b1fec69 Add noise augmentation setting to unCLIPConditioning. 2023-04-03 13:50:29 -04:00
EllangoK 4c7a9dbcb6 adds Blend, Blur, Dither, Sharpen nodes 2023-04-02 18:44:27 -04:00
comfyanonymous 6be7c64245 Merge branch 'custom_routes' of https://github.com/pythongosssss/ComfyUI 2023-04-02 01:55:05 -04:00
comfyanonymous 809bcc8ceb Add support for unCLIP SD2.x models.
See _for_testing/unclip in the UI for the new nodes.

unCLIPCheckpointLoader is used to load them.

unCLIPConditioning is used to add the image cond and takes as input a
CLIPVisionEncode output which has been moved to the conditioning section.
2023-04-01 23:19:15 -04:00
pythongosssss 38833ceb62 Merge remote-tracking branch 'origin/master' into custom_routes 2023-04-01 12:44:40 +01:00
pythongosssss 313f1f83a6 Tweak server/custom node load order
- Load custom nodes after creating server
 - Add routes after loading custom nodes
Custom nodes can now add routes via PromptServer.instance
2023-04-01 12:44:29 +01:00
comfyanonymous 18a6c1db33 Add a TomePatchModel node to the _for_testing section.
Tome increases sampling speed at the expense of quality.
2023-03-31 17:19:58 -04:00
City 9ac95e6ac7 Add human-readable name support for custom nodes 2023-03-31 07:05:17 +02:00
City 5bcbc007dd Add human-readable names for nodes 2023-03-30 23:13:58 +02:00
Silversith bb1503ed63
Bugfix/include optional node inputs (#271)
* Minor changes and extra nodes

* Added Preview Image for Nodes

* Add a delete images button on main floating menu

* Add a confirmation dialog

* Remove DeleteAll, Remove Custom KSampler, Remove Image List

* Remove Image and Custom Json Load

* Remove Custom Nodes

* remove patch.diff
2023-03-27 01:16:22 -04:00
comfyanonymous 48efadeccf Style. 2023-03-26 15:17:53 -04:00
m957ymj75urz 8a35c12e8c compute %width% and %height% in filepath when saving 2023-03-26 13:10:20 +02:00
comfyanonymous 9287770c66 Allow negative Lora strengths. 2023-03-25 21:31:39 -04:00
comfyanonymous e651be551c Merge branch 'allow-symbolic-link' of https://github.com/jn-jairo/ComfyUI 2023-03-25 17:30:22 -04:00
comfyanonymous a30526aec1 Set default value of feathering to 40. 2023-03-25 04:49:58 -04:00
Guo Y.K 3b87302958
nodes: ImagePadForOutpaint: clean imports 2023-03-25 16:32:48 +08:00
Guo Y.K 4c01386c19
nodes: ImagePadForOutpaint: fix feathering, ignore edges not expanded 2023-03-25 16:27:47 +08:00
Guo Y.K 4580f3e644
nodes: add feathering to to ImagePadForOutpaint 2023-03-24 22:39:33 +08:00
Jairo Correa 4f24e6a13b Allow output folder to be a symbolic link 2023-03-23 21:25:21 -03:00
Guo Y.K 3ebf7452c3
nodes: add ImagePadForOutpaint 2023-03-23 23:33:35 +08:00
comfyanonymous cc127eeabd Lower PNG compression for more speed.
After some quick tests compress_level=4 seems to give the best compression
performance ratio for stable diffusion images.

It's 10x faster than max compression for an image size increase of only
2.5%.
2023-03-23 00:40:48 -04:00
comfyanonymous aae9fe0cf9 Increase max res to 8192x8192 since 4096x4096 wasn't enough for some. 2023-03-22 12:22:48 -04:00
comfyanonymous aa2ddfabb9 Fix bug with CLIPLoader. 2023-03-21 03:11:18 -04:00
comfyanonymous e85fcb822b Small fix. 2023-03-20 14:55:28 -04:00
comfyanonymous 0abe001edd Merge branch 'save-images' of https://github.com/m957ymj75urz/ComfyUI 2023-03-20 14:29:45 -04:00
m957ymj75urz d1138e8ba0 rework payload from server 2023-03-19 12:54:29 +01:00
comfyanonymous 50099bcd96 Support multiple paths for embeddings. 2023-03-18 03:08:43 -04:00
comfyanonymous 2e73367f45 Merge T2IAdapterLoader and ControlNetLoader.
Workflows will be auto updated.
2023-03-17 18:17:59 -04:00
comfyanonymous e1a9e26968 Add folder_paths so models can be in multiple paths. 2023-03-17 18:01:11 -04:00
comfyanonymous bf1dc1d9bc Fix VAEEncodeForInpaint modifying source image. 2023-03-16 17:10:08 -04:00
m957ymj75urz 16001e9429 fixes for specific paths 2023-03-16 19:48:59 +01:00
comfyanonymous d834eed7d0 Fix bug when applying controlnet to negative prompt. 2023-03-15 17:58:13 -04:00
m957ymj75urz 629272c0ca resolve conflict with the new PreviewImage node 2023-03-15 12:10:45 +01:00
m957ymj75urz 3d2f60b315
Merge branch 'master' into save-images 2023-03-15 10:48:15 +00:00
comfyanonymous 6d44cf74e3 Make it more clear the recommended way to update the standalone build. 2023-03-14 19:14:18 -04:00
pythongosssss 8537ab6f45 tidy 2023-03-14 19:42:28 +00:00
pythongosssss 6a6256a75c Changed flag to new node 2023-03-14 19:28:07 +00:00
m957ymj75urz 6daf9bb22c switch to realpath to check path traversal 2023-03-14 09:27:53 +01:00
m957ymj75urz 5b425aaa40 remove subfolder widget and use filename_prefix 2023-03-14 09:08:54 +01:00
pythongosssss 6db777b348 Added ability to save images to temp dir 2023-03-13 19:34:05 +00:00
m957ymj75urz 70f9bd1408 fix makedirs on save 2023-03-12 20:23:46 +01:00
m957ymj75urz 195d7aec9f can specify a subfolder in the SaveImage node 2023-03-12 19:51:39 +01:00
comfyanonymous c8f1acc4eb Put image upscaling nodes in image/upscaling category. 2023-03-11 18:10:36 -05:00
comfyanonymous e33dc2b33b Add a VAEEncodeTiled node. 2023-03-11 15:28:15 -05:00
comfyanonymous 905857edd8 Take some code from chainner to implement ESRGAN and other upscale models. 2023-03-11 13:09:28 -05:00
comfyanonymous 8c4ccb55d1 Small refactor of custom node loading code. 2023-03-11 12:49:41 -05:00
comfyanonymous 1f717903bc Prevent potential int overflow in SaveImage 2023-03-11 12:48:28 -05:00
comfyanonymous 99eb777f5d Make the LoadImage node output the alpha as a mask. 2023-03-09 14:07:55 -05:00
pythongosssss fa07426569 Remove random spaces 2023-03-09 18:18:08 +00:00
pythongosssss 99abc0eb2e Changed to upload to input dir
Fixed jpg
Added dupe support
Changed to use existing nodes
2023-03-09 17:57:59 +00:00
pythongosssss 4a326a2548 Added UploadImage+Mask nodes 2023-03-08 22:07:44 +00:00
comfyanonymous 0a0c769d6d Try to fix import issue. 2023-03-06 14:41:42 -05:00
pythongosssss 09db31309a Merge remote-tracking branch 'origin/master' into frontendrefactor 2023-03-06 17:02:34 +00:00
comfyanonymous afff30fc0a Add --cpu to use the cpu for inference. 2023-03-06 10:50:50 -05:00
comfyanonymous 8515d96328 It's more logical for the StyleModelApply to append it directly. 2023-03-06 01:48:18 -05:00
comfyanonymous 7ec1dd25a2 A tiny bit of reorganizing. 2023-03-06 01:30:17 -05:00
comfyanonymous 47acb3d73e Implement support for t2i style model.
It needs the CLIPVision model so I added CLIPVisionLoader and CLIPVisionEncode.

Put the clip vision model in models/clip_vision
Put the t2i style model in models/style_models

StyleModelLoader to load it, StyleModelApply to apply it
ConditioningAppend to append the conditioning it outputs to a positive one.
2023-03-05 18:39:25 -05:00
pythongosssss bba14245cb Merge remote-tracking branch 'origin' into frontendrefactor 2023-03-03 19:30:24 +00:00
comfyanonymous b9e3f52240 stop_at_clip_layer can be set in CLIPSetLastLayer so it can be removed
from the CLIPLoader node.
2023-03-03 14:27:55 -05:00
pythongosssss 4ef4cf913f Adding built in extensions + example 2023-03-03 18:28:34 +00:00
comfyanonymous 8586515886 Move the CheckpointLoaderSimple to the right section. 2023-03-03 13:09:44 -05:00
comfyanonymous 4215206281 Add a node to set CLIP skip.
Use a more simple way to detect if the model is -v prediction.
2023-03-03 13:04:36 -05:00
comfyanonymous fed315a76a To be really simple CheckpointLoaderSimple should pick the right type. 2023-03-03 11:07:10 -05:00
comfyanonymous 94bb0375b0 New CheckpointLoaderSimple to load checkpoints without a config. 2023-03-03 03:37:35 -05:00
comfyanonymous c8ce599a8f Add a button to interrupt processing to the ui. 2023-03-02 15:24:51 -05:00
comfyanonymous 69cc75fbf8 Add a way to interrupt current processing in the backend. 2023-03-02 14:42:03 -05:00
comfyanonymous d826a0971c Outpainting actually works now. 2023-02-27 12:02:23 -05:00
pythongosssss a9c57849b7
Merge branch 'comfyanonymous:master' into socketrework 2023-02-25 12:00:22 +00:00
comfyanonymous 4e6b83a80a Add a T2IAdapterLoader node to load T2I-Adapter models.
They are loaded as CONTROL_NET objects because they are similar.
2023-02-25 01:24:56 -05:00
comfyanonymous 87b00b37f6 Added an experimental VAEDecodeTiled.
This decodes the image with the VAE in tiles which should be faster and
use less vram.

It's in the _for_testing section so I might change/remove it or even
add the functionality to the regular VAEDecode node depending on how
well it performs which means don't depend too much on it.
2023-02-24 02:10:10 -05:00
pythongosssss 9bd7bfa648
Added workflow history
Moved socket output updates to all node executions
Made image rendering on nodes more generic
2023-02-23 20:12:57 +00:00
pythongosssss 2816eb236d
Merge branch 'comfyanonymous:master' into socketrework 2023-02-23 20:07:30 +00:00
comfyanonymous 62df8dd62a Add a node to load diff controlnets. 2023-02-22 23:22:03 -05:00
comfyanonymous 3ae61a2bca Add a node to invert the colours of images.
Might be useful for controlnets.
2023-02-22 21:57:56 -05:00
pythongosssss a52aa9f4b5
Moved api out to server
Reworked sockets to use socketio
Added progress to nodes
Added highlight to active node
Added preview to saveimage node
2023-02-21 19:29:49 +00:00
comfyanonymous d80af7ca30 ControlNetApply now stacks.
It can be used to apply multiple control nets at the same time.
2023-02-21 01:18:53 -05:00
comfyanonymous 8683ea4248 Merge branch 'master' into m957ymj75urz-dynamic-prompting 2023-02-20 23:49:55 -05:00
comfyanonymous a3d0b56c61 Fix for relative imports in custom nodes. 2023-02-19 12:00:05 -05:00
m957ymj75urz e2e5c4c5b0 Add basic dynamic prompting with seeding on CLIPTextEncode node 2023-02-17 22:37:03 +01:00
comfyanonymous 71354c7c57 Sort images on LoadImageMask node. 2023-02-17 13:17:09 -05:00
comfyanonymous 1688f5024d Fix a few issues with the custom_nodes PR.
There only needs to be one example in the folder.
2023-02-17 11:19:49 -05:00
Fannovel16 fa66ece26b
Merge branch 'comfyanonymous:master' into master 2023-02-17 18:02:52 +07:00
Hacker 17082006 1c5fe809c2 . 2023-02-17 17:59:16 +07:00
comfyanonymous 638f924546 Sort the list of input images. 2023-02-16 21:01:46 -05:00
comfyanonymous 6135a21ee8 Add a way to control controlnet strength. 2023-02-16 18:08:01 -05:00
comfyanonymous 4efa67fa12 Add ControlNet support. 2023-02-16 10:38:08 -05:00
comfyanonymous bc69fb5245 Use inpaint models the proper way by using VAEEncodeForInpaint. 2023-02-15 20:44:51 -05:00
comfyanonymous e87a8669b6 Add a LoadImageMask node to load one colour channel in an image as a mask. 2023-02-15 17:39:42 -05:00
comfyanonymous d75003001a Add a SetLatentNoiseMask node.
LATENT is now a dict that can contain properties.
2023-02-15 16:58:55 -05:00
Hacker 17082006 e1a047971b Edit comment 2023-02-15 21:50:18 +07:00
Hacker 17082006 7da0147d8a Done custom_node import error fixing 2023-02-15 21:48:10 +07:00
Hacker 17082006 b67b6920d1 Fix bug 2023-02-15 21:15:54 +07:00
Hacker 17082006 493671574e Adding some suggests from the author 2023-02-14 22:20:30 +07:00
Hacker 17082006 721f8510af Change the words a bit 2023-02-13 18:24:54 +07:00
Hacker 17082006 f3c6d7adf2 . 2023-02-13 18:19:42 +07:00
Hacker 17082006 5ce4b9eca3 Add custom node feature 2023-02-13 18:17:40 +07:00
comfyanonymous 05ad64d22c Add a feather option to the latent composite node. 2023-02-12 13:01:52 -05:00
BazettFraga 642516a3a6 create output dir if none is present 2023-02-09 12:49:31 -05:00
comfyanonymous 1d9ec62cfb Use absolute output directory path. 2023-02-09 09:59:43 -05:00
BazettFraga e58887dfa7 forgot windows does double backslashes for paths due to its use as escape char. 2023-02-09 01:30:06 +01:00
BazettFraga 81082045c2 add recursive_search, swap relevant os.listdirs 2023-02-09 01:22:33 +01:00
comfyanonymous 3e22815a9a Fix k_diffusion not getting imported from the folder. 2023-02-08 16:29:22 -05:00
comfyanonymous a84cd0d1ad Don't unload/reload model from CPU uselessly. 2023-02-08 03:40:43 -05:00
comfyanonymous 1de5aa6a59 Add a CLIPLoader node to load standalone clip weights.
Put them in models/clip
2023-02-05 15:20:18 -05:00
comfyanonymous 4225d1cb9f Add a basic ImageScale node.
It's pretty much the same as the LatentUpscale node for now but for images
in pixel space.
2023-02-04 16:01:01 -05:00
comfyanonymous bff0e11941 Add a LatentCrop node. 2023-02-04 15:21:46 -05:00
comfyanonymous 149a4de3f2 Fix potential issue if exception happens when patching model. 2023-02-03 03:55:50 -05:00
comfyanonymous ef90e9c376 Add a LoraLoader node to apply loras to models and clip.
The models are modified in place before being used and unpatched after.
I think this is better than monkeypatching since it might make it easier
to use faster non pytorch unet inference in the future.
2023-02-03 02:46:24 -05:00
comfyanonymous fef41d0a72 Add LatentComposite node.
This can be used to "paste" one latent image on top of the other.
2023-01-31 03:35:03 -05:00