Commit Graph

284 Commits

Author SHA1 Message Date
comfyanonymous 57d7f4464f Add SDTurboScheduler node. 2023-11-28 13:35:32 -05:00
comfyanonymous f30b992b18 .sigma and .timestep now return tensors on the same device as the input. 2023-11-27 16:41:33 -05:00
comfyanonymous 488de0b4df ModelSamplingDiscreteLCM -> ModelSamplingDiscreteDistilled 2023-11-27 16:32:03 -05:00
comfyanonymous e020ab61f9 Fix output APNG not working with ffmpeg. 2023-11-24 18:24:19 -05:00
comfyanonymous 8ad5d494d5 Fix APNG not working in ffmpeg. 2023-11-24 18:14:17 -05:00
comfyanonymous 916e9c998c Use same default fps as webp node. 2023-11-24 11:19:23 -05:00
comfyanonymous eff24ea6aa Add a node to save animated PNG files. These work in ffpmeg unlike webp. 2023-11-24 11:12:10 -05:00
comfyanonymous 02ffbb2de3 Fix typo. 2023-11-23 23:20:07 -05:00
comfyanonymous 42dfae6331 Nodes to properly use the SDV img2vid checkpoint.
The img2vid model is conditioned on clip vision output only which means
there's no CLIP model which is why I added a ImageOnlyCheckpointLoader to
load it. Note that the unClipCheckpointLoader can also load it because it
also has a CLIP_VISION output.

SDV_img2vid_Conditioning is the node used to pass the right conditioning
to the img2vid model.

VideoLinearCFGGuidance applies a linearly decreasing CFG scale to each
video frame from the cfg set in the sampler node to min_cfg.

SDV_img2vid_Conditioning can be found in conditioning->video_models
ImageOnlyCheckpointLoader can be found in loaders->video_models
VideoLinearCFGGuidance can be found in sampling->video_models
2023-11-23 19:48:49 -05:00
comfyanonymous 871cc20e13 Support SVD img2vid model. 2023-11-23 19:41:33 -05:00
comfyanonymous 022033a0e7 Fix SaveAnimatedWEBP not working when metadata is disabled. 2023-11-23 15:39:35 -05:00
comfyanonymous a657f96c5c Add a node to save animated webp. 2023-11-23 14:28:41 -05:00
comfyanonymous c3ae99a749 Allow controlling downscale and upscale methods in PatchModelAddDownscale. 2023-11-22 03:23:16 -05:00
comfyanonymous 31c5ea7b2c Add LatentInterpolate to interpolate between latents. 2023-11-20 03:55:51 -05:00
comfyanonymous dba4f3b4fc Add a RepeatImageBatch node. 2023-11-19 06:09:01 -05:00
comfyanonymous d9d8702d8d percent_to_sigma now returns a float instead of a tensor. 2023-11-18 23:20:29 -05:00
comfyanonymous 8a451234b3 Add ImageCrop node. 2023-11-18 04:44:17 -05:00
comfyanonymous 7e3fe3ad28 Make deep shrink behave like it should. 2023-11-16 15:26:28 -05:00
comfyanonymous bd07ad1861 Add PatchModelAddDownscale (Kohya Deep Shrink) node.
By adding a downscale to the unet in the first timesteps this node lets
you generate images at higher resolutions with less consistency issues.
2023-11-16 13:25:46 -05:00
comfyanonymous dcec1047e6 Invert the start and end percentages in the code.
This doesn't affect how percentages behave in the frontend but breaks
things if you relied on them in the backend.

percent_to_sigma goes from 0 to 1.0 instead of 1.0 to 0 for less confusion.

Make percent 0 return an extremely large sigma and percent 1.0 return a
zero one to fix imprecision.
2023-11-16 04:23:44 -05:00
comfyanonymous 420beeeb05 Clean up and refactor sampler code.
This should make it much easier to write custom nodes with kdiffusion type
samplers.
2023-11-14 00:39:34 -05:00
comfyanonymous 8509bd58b4 Reorganize custom_sampling nodes. 2023-11-13 21:45:23 -05:00
comfyanonymous 61112c81b9 Add a node to flip the sigmas for unsampling. 2023-11-13 21:45:08 -05:00
comfyanonymous ca2812bae0 Fix RescaleCFG for batch size > 1. 2023-11-10 22:05:25 -05:00
comfyanonymous 58d5d71a93 Working RescaleCFG node.
This was broken because of recent changes so I fixed it and moved it from
the experiments repo.
2023-11-10 20:52:10 -05:00
comfyanonymous 002aefa382 Support lcm models.
Use the "lcm" sampler to sample them, you also have to use the
ModelSamplingDiscrete node to set them as lcm models to use them properly.
2023-11-09 18:30:22 -05:00
comfyanonymous ca71e542d2 Lower cfg step to 0.1 in sampler nodes. 2023-11-09 17:35:17 -05:00
comfyanonymous 844dbf97a7 Add: advanced->model->ModelSamplingDiscrete node.
This allows changing the sampling parameters of the model (eps or vpred)
or set the model to use zsnr.
2023-11-07 03:28:53 -05:00
matt3o 4acfc11a80 add difference blend mode 2023-11-05 19:00:23 +01:00
comfyanonymous ee74ef5c9e Increase maximum batch size in LatentRebatch. 2023-11-02 13:07:41 -04:00
tsone 23c5d17837 Added Bayer dithering to Quantize node. 2023-10-31 22:22:40 +01:00
comfyanonymous 1443caf373 HyperTile node, can be found in: _for_testing->HyperTile 2023-10-21 05:16:38 -04:00
comfyanonymous c2bb34d865 Implement updated FreeU as _for_testing->FreeU_V2 node 2023-10-18 02:06:49 -04:00
comfyanonymous f8caa24bcc Support hypernetwork with mish activation function and layer norm. 2023-10-17 12:08:03 -04:00
Jairo Correa b5fa3d28d7 Fix MaskComposite 2023-10-13 13:40:53 -03:00
Jairo Correa 87097a11c3 Fix FeatherMask 2023-10-13 12:26:54 -03:00
comfyanonymous 20d3852aa1 Pull some small changes from the other repo. 2023-10-11 20:38:48 -04:00
comfyanonymous 877553843f Add a CLIPSave node to save CLIP model weights. 2023-10-10 01:24:49 -04:00
comfyanonymous 7bb9f6b7e8 Add a VAESave node. 2023-10-09 01:42:15 -04:00
comfyanonymous c16f5744e3 Fix SplitImageWithAlpha and JoinImageWithAlpha. 2023-10-08 15:52:10 -04:00
comfyanonymous 69a824e9a4 Move _for_testing/custom_sampling nodes to sampling/custom_sampling. 2023-10-08 03:20:35 -04:00
comfyanonymous 0e763e880f JoinImageWithAlpha now works with any mask shape. 2023-10-04 15:54:34 -04:00
comfyanonymous 9212bea87c Change a few things in #1578. 2023-10-04 15:43:41 -04:00
MoonRide303 214ca7197e Corrected joining images with alpha (for RGBA input), and checking scaling conditions 2023-10-04 19:04:52 +02:00
MoonRide303 585fb0475b Adding default alpha when splitting RGB images 2023-10-04 19:04:52 +02:00
MoonRide303 ece69bf28c Change channel type to MASK (reduced redundancy, increased usability) 2023-10-04 19:04:52 +02:00
MoonRide303 d06cd2805d Added support for Porter-Duff image compositing 2023-10-04 19:04:48 +02:00
comfyanonymous 2ef459b1d4 Add VPScheduler node 2023-10-01 03:48:07 -04:00
comfyanonymous 8ab49dc0a4 DPMPP_SDE node. 2023-09-30 01:51:22 -04:00
comfyanonymous 213976f8c3 Add ExponentialScheduler and PolyexponentialScheduler nodes. 2023-09-29 09:05:30 -04:00
Jukka Seppänen 1c8ae9dbb2
Allow GrowMask node to work with batches (for AnimateDiff) (#1623)
* Allow mask batches

This allows LatentCompositeMasked -node to work with AnimateDiff. I tried to keep old functionality too, unsure if it's correct, but both single mask and batch of masks seems to work with this change.

* Update nodes_mask.py
2023-09-28 22:01:19 -04:00
comfyanonymous 66756de100 Add SamplerDPMPP_2M_SDE node. 2023-09-28 21:56:23 -04:00
comfyanonymous 26b7372805 Fix SplitSigmas. 2023-09-28 01:11:22 -04:00
comfyanonymous 76e0f8fc8f Add function to split sigmas. 2023-09-28 00:40:09 -04:00
comfyanonymous 2bf051fda8 Add a basic node to generate sigmas from scheduler. 2023-09-28 00:30:45 -04:00
comfyanonymous d234ca558a Add missing samplers to KSamplerSelect. 2023-09-28 00:17:03 -04:00
comfyanonymous 1d7dfc07d5 Make add_noise in SamplerCustom a boolean. 2023-09-27 22:42:23 -04:00
comfyanonymous 1adcc4c3a2 Add a SamplerCustom Node.
This node takes a list of sigmas and a sampler object as input.

This lets people easily implement custom schedulers and samplers as nodes.

More nodes will be added to it in the future.
2023-09-27 22:21:18 -04:00
comfyanonymous 1d36dfb9fe GrowMask now works with mask batches. 2023-09-26 02:53:57 -04:00
comfyanonymous d76d71de3f GrowMask can now be used with negative numbers to erode it. 2023-09-26 02:45:31 -04:00
comfyanonymous d2cec6cdbf Make mask functions work with batches of masks and images. 2023-09-25 16:19:37 -04:00
comfyanonymous 046b4fe0ee Support batches of masks in mask composite nodes. 2023-09-25 16:02:21 -04:00
comfyanonymous f00471cdc8 Do FreeU fft on CPU if the device doesn't support fft functions. 2023-09-24 18:09:44 -04:00
comfyanonymous 05e661e5ef FreeU now works with the refiner. 2023-09-23 12:19:08 -04:00
comfyanonymous fd93c759e2 Implement FreeU: Free Lunch in Diffusion U-Net node.
_for_testing->FreeU
2023-09-23 00:56:09 -04:00
comfyanonymous 29ccf9f471 Fix typo. 2023-09-22 01:33:46 -04:00
comfyanonymous 422d16c027 Add some nodes to add, subtract and multiply latents. 2023-09-21 22:23:01 -04:00
MoonRide303 2b6b178173 Added support for lanczos scaling 2023-09-19 10:40:38 +02:00
comfyanonymous 0665749b1a Move ModelSubtract and ModelAdd to advanced/model_merging 2023-09-17 02:10:06 -04:00
comfyanonymous 30de95e4b4 Add some nodes to subtract and add model weights. 2023-09-13 01:10:31 -04:00
comfyanonymous 8be46438be Support DiffBIR SwinIR models. 2023-09-07 03:31:43 -04:00
comfyanonymous 766c7b3815 Update upscale model code to latest Chainner model code.
Don't add SRFormer because the code license is incompatible with the GPL.

Remove MAT because it's unused and the license is incompatible with GPL.
2023-09-02 22:27:40 -04:00
comfyanonymous d70b0bc43c Use the GPU for the canny preprocessor when available. 2023-08-29 17:58:40 -04:00
comfyanonymous 81d9200e18 Add node to convert a specific colour in an image to a mask. 2023-08-29 17:55:42 -04:00
comfyanonymous fc99fa56a9 Add node to scale image to a total amount of pixels keeping aspect. 2023-08-18 02:32:39 -04:00
Corey 18e86a4010 add a node to allow growing of masks through dilation 2023-08-16 10:57:14 -04:00
comfyanonymous 6dc02c7bac Add a "resize_source" option to Image and Latent CompositeMasked. 2023-08-15 17:51:52 -04:00
comfyanonymous 94fceb8700 Make Blur node use the image device for processing. 2023-08-14 21:08:45 -04:00
comfyanonymous 8c730dc4a7 Add an ImageCompositeMasked node. 2023-08-12 01:02:36 -04:00
comfyanonymous 1141029a4a Add --disable-metadata argument to disable saving metadata in files. 2023-07-28 12:31:41 -04:00
comfyanonymous 5e3ac1928a Implement modelspec metadata in CheckpointSave for SDXL and refiner. 2023-07-25 22:02:34 -04:00
comfyanonymous a51f33ee49 Use bigger tiles when upscaling with model and fallback on OOM. 2023-07-24 19:47:32 -04:00
comfyanonymous 91ed2815d5 Add a node to merge CLIP models. 2023-07-14 02:41:18 -04:00
comfyanonymous bdba394290 Add a canny preprocessor node. 2023-07-13 13:26:48 -04:00
comfyanonymous a9a4ba7574 Fix merging not working when model2 of model merge node was a merge. 2023-07-08 22:31:10 -04:00
comfyanonymous 2c9d98f3e6 CLIPTextEncodeSDXL now works when prompts are of very different sizes. 2023-07-06 23:23:54 -04:00
comfyanonymous c02f3baeaf Now the model merge blocks node will use the longest match. 2023-07-04 00:51:17 -04:00
comfyanonymous d94ddd8548 Add text encode nodes to control the extra parameters in SDXL. 2023-07-03 19:11:36 -04:00
comfyanonymous 9f2986318f Move model merging nodes to advanced and add to readme. 2023-06-30 15:21:55 -04:00
comfyanonymous 9b93b920be Add CheckpointSave node to save checkpoints.
The created checkpoints contain workflow metadata that can be loaded by
dragging them on top of the UI or loading them with the "Load" button.

Checkpoints will be saved in fp16 or fp32 depending on the format ComfyUI
is using for inference on your hardware. To force fp32 use: --force-fp32

Anything that patches the model weights like merging or loras will be
saved.

The output directory is currently set to: output/checkpoints but that might
change in the future.
2023-06-26 12:22:27 -04:00
comfyanonymous 05676942b7 Add some more transformer hooks and move tomesd to comfy_extras.
Tomesd now uses q instead of x to decide which tokens to merge because
it seems to give better results.
2023-06-24 03:30:22 -04:00
comfyanonymous 51581dbfa9 Fix last commits causing an issue with the text encoder lora. 2023-06-20 19:44:39 -04:00
comfyanonymous bf3f271775 Add some nodes for basic model merging. 2023-06-20 19:17:03 -04:00
comfyanonymous 8883cb0f67 Add a way to set patches that modify the attn2 output.
Change the transformer patches function format to be more future proof.
2023-06-18 22:58:22 -04:00
comfyanonymous f3ac938b4a Round the mask values for bitwise operations. 2023-05-28 00:42:53 -04:00
space-nuko 00646b0813 Bitwise operations for masks 2023-05-27 21:48:49 -05:00
comfyanonymous 7310290f17 Pull in latest upscale model code from chainner. 2023-05-23 22:26:50 -04:00
comfyanonymous 71666f248f Fix padding in Blur. 2023-05-20 10:08:47 -04:00
BlenderNeko 36af98d755 improve sharpen and blur nodes 2023-05-20 15:23:28 +02:00
comfyanonymous 587f89fe5a Enable safe loading for upscale models. 2023-05-14 15:10:40 -04:00
BlenderNeko 1201d2eae5
Make nodes map over input lists (#579)
* allow nodes to map over lists

* make work with IS_CHANGED and VALIDATE_INPUTS

* give list outputs distinct socket shape

* add rebatch node

* add batch index logic

* add repeat latent batch

* deal with noise mask edge cases in latentfrombatch
2023-05-13 11:15:45 -04:00
comfyanonymous 51583164ef Make MaskToImage support masks with a batch size. 2023-05-10 10:03:30 -04:00
comfyanonymous 1a31020081 Support softsign hypernetwork. 2023-05-05 00:16:57 -04:00
comfyanonymous fcf513e0b6 Refactor. 2023-05-03 17:48:35 -04:00
pythongosssss 5eeecf3fd5 remove unused import 2023-05-03 18:21:23 +01:00
pythongosssss 8912623ea9 use comfy progress bar 2023-05-03 18:19:22 +01:00
pythongosssss fdf57325f4 Merge remote-tracking branch 'origin/master' into tiled-progress 2023-05-03 17:33:42 +01:00
pythongosssss 06ad35b493 added progress to encode + upscale 2023-05-02 19:18:07 +01:00
comfyanonymous 07194297fd Python 3.7 support. 2023-04-25 14:02:17 -04:00
comfyanonymous 463bde66a1 Add hypernetwork example link to readme.
Move hypernetwork loader node to loaders.
2023-04-24 03:08:51 -04:00
comfyanonymous 4e345b31f6 Support all known hypernetworks. 2023-04-24 02:36:06 -04:00
comfyanonymous 5282f56434 Implement Linear hypernetworks.
Add a HypernetworkLoader node to use hypernetworks.
2023-04-23 12:35:25 -04:00
comfyanonymous 73c3e11e83 Fix model_management import so it doesn't get executed twice. 2023-04-15 19:04:33 -04:00
comfyanonymous 476d543fe8 Fix for older python.
from: https://github.com/comfyanonymous/ComfyUI/discussions/476
2023-04-15 10:56:15 -04:00
comfyanonymous d98a4de9eb LatentCompositeMasked: negative x, y don't work. 2023-04-14 00:49:19 -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 35a2c790b6
Update comfy_extras/nodes_mask.py
Co-authored-by: missionfloyd <missionfloyd@users.noreply.github.com>
2023-04-14 00:12:15 -04:00
missionfloyd 9371924e65 Move mask conversion to separate file 2023-04-13 03:11:17 -06: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
comfyanonymous 871a76b77b Rename and reorganize post processing nodes. 2023-04-04 22:54:33 -04:00
comfyanonymous af291e6f69 Convert line endings to unix. 2023-04-04 13:56:13 -04:00
EllangoK 56196ab0f7 use common_upcale in blend 2023-04-04 10:57:34 -04:00
EllangoK fa2febc062 blend supports any size, dither -> quantize 2023-04-03 09:52:04 -04:00
EllangoK 4c7a9dbcb6 adds Blend, Blur, Dither, Sharpen nodes 2023-04-02 18:44:27 -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
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 494cfe5444 Prevent model_management from being loaded twice. 2023-03-15 15:18:18 -04:00
comfyanonymous c8f1acc4eb Put image upscaling nodes in image/upscaling category. 2023-03-11 18:10:36 -05:00
comfyanonymous 9db2e97b47 Tiled upscaling with the upscale models. 2023-03-11 14:04:13 -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 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