Skip to content

Releases: Acly/krita-ai-diffusion

Version 1.20.1

12 Jul 15:51
Compare
Choose a tag to compare

Download krita_ai_diffusion-1.20.1.zip

Changes

  • Fixed hang/crash when replacing layer content in Live mode #922
  • Fixed crash when previewing generation results after using "Flatten Layers" operation #836
  • Fixed issues with Fill Layer and applying Live results not working in some cases #928
  • Fixed Ctrl+Backspace shortcut (remove previous word) not working in text prompt editor #798 (by @dyscorv)
  • Added some alternative search paths for xinsir control models #935
  • Clean up interrupted and unfinished jobs from job queue after server disconnect #814
  • Fixed opening generated images from ComfyUI where prompt text comes from nodes #920

Version 1.20.0

07 Jul 18:08
Compare
Choose a tag to compare

Download krita_ai_diffusion-1.20.0.zip

UI Improvements

  • Improved performance during Live painting with Regions #883
  • The strength slider and % value now snaps to full sampling steps (by @FeepingCreature)
    • Previously was a fixed interval, where sometimes changes seemingly had no effect
    • Now snaps to the previous/next value that would produce a change in the image
    • Optionally displays the full step count (see Settings ⮞ Interface ⮞ Show Steps)
  • When creating a new document, the most recently used parameters are used as defaults #902
    • Affects things like seleted Style, Inpaint settings, and batch count
  • When opening images generated by Auto1111 or basic ComfyUI workflows, the prompt is now read from the image
  • Added context menu for discarding all generated images (clear history) #728
  • Documented {prompt} placeholder in Style settings #901

New Models

Note: These are alternative choices to the previous models, which continue to work. There is no need to replace them.

New Schedulers

There are various new options for schedulers when creating custom sampler presets (thanks @Danamir!):

  • align_your_steps
  • gits (this is now used by the built-in "Fast" preset)
  • polyexponential

Important

If you are using a custom ComfyUI installation, make sure to update it along with custom nodes.

Bugfixes

  • Fixed error in some situations where there is no active layer #862
  • Fixed division by zero error when applying results to an empty region layer #862
  • Guard against processing python events from within the event loop #914
  • Fixed missing push animation for Generate button #746

Version 1.19.0

23 Jun 15:21
Compare
Choose a tag to compare

Download krita_ai_diffusion-1.19.0.zip

Model Updates

There have been a lot of new and improved models for SDXL lately. This update changes quite a few of the plugin's defaults, with some optional choices also added to the list.

SDXL ControlNet models

release-1 19 0-cn-models

Mode 1st priority 2nd priority 3rd priority
Scribble 🌟 XinsirScribble 🌟👍 MistoLine SAI-Sketch
Line Art 🌟 XinsirScribble 🌟👍 MistoLine SAI-Sketch
Soft Edge 🌟👍 MistoLine 🌟 Xinsir-Scribble
Canny Edge 🌟 XinsirCannyV2 👍 SAI-Canny 🌟 MistoLine
Pose 🌟👍 XinsirOpenPose ThibaudOpenPose
Segmentation 🌟 abovzv-ade20k
Stencil 🌟 QR Code Monster

🌟means it's a new model, 👍means it's the default download option for the integrated installer.
If you have multiple models installed the priority defines the order in which they are selected.

Sometimes the first choice isn't the default, usually because they're really close in terms of quality, but the other model is smaller (requires less space and loads faster). You may also notice that most of the line modes are covered by the same models, it works pretty well regardless!

ControlNet preprocessor models

Those are the models that turn your current image into lines, a depth map, a pose skeleton, etc. They apply to both SD1.5 and SDXL! There are three changes here:

  • Soft Edge now uses AnyLine model. It will be downloaded automatically.
  • Depth now uses version 2 of DepthAnything. It will be downloaded automatically.
  • Canny Edge was changed to be more sensitive. No model/download required.

Realtime/Live models

Those are LoRA used to generate images significantly faster with lower step count. There is usually a trade-off in quality.

In this update Hyper-SD replaces LCM as the default choice for Live mode. This means the model is required to use the plugin. It will be downloaded when you update. Compared to LCM they are much more faithful to the model's usual output and retain most of the quality.

The LCM models are no longer required, but can still be used as before. For your custom Styles you can switch to Hyper easily by selecting the "Realtime - Hyper" sampler preset. One of the advantages is that you can tweak the CFG value now to get more defined results.

release-1 19 0-hyper

Custom ComfyUI installs

This section is for those who manage their own ComfyUI server. As usual, please make sure ComfyUI and custom nodes are up-to-date!

You will have to download the Hyper-SD 8-step CFG LoRA and put it into ComfyUI/models/loras:

For the new control models, please follow the links above. To use the Xinsir models rename them into any filename which contains xinsircanny, xinsiropenpose, xinsirscribble (case-insensitive). If you already downloaded them from civitai those filenames will match.

Stable Diffusion 3

There is basic support for the Stable Diffusion 3 (SD3) base model, so you can give it a try! "Basic" means that things like control layers and regions are not supported, and you need to download models manually from HF SD3 Medium. The required files are:

Please use the (somewhat temporary) SD3 sampler preset!

release-1 19 0-sd3

Other Changes

  • Added ZavyChromaXL to recommended checkpoints and made it the default for "Digital Artwork (XL)" style
  • Fixed SSL issues when using a https connection on Mac #840 by @DrewWalkup
  • Fixed control layers disappearing when unrelated layers are removed #823
  • Fixed "/ComfyUI" being appended when selecting existing server installs #859
  • Fixed the "Show negative prompt" toggle not having any immediate effect #857
  • Fixed error being reported when creating Control Layers with active Filter Mask layers #846
  • Fixed LoRA not appearing in prompt history (again) #855
  • Paint layers are now converted into groups correctly also when applying multiple results from the same batch
  • Properly track linking/unlinking regions - previously regions could end up linked to the wrong layer in saved .kra files
  • Fixed crash in rare situation where the image is a tiny bit large than the preferred checkpoint resolution
  • Fixed some issues with apply when replacing layer content

Version 1.18.1

15 Jun 09:23
Compare
Choose a tag to compare

Download krita_ai_diffusion-1.18.1.zip

Region UI tweaks

Button to toggle focused inpaint mode for the active Layer/Region

release-1 18 1-region-only

This toggle is only available when using regions. It has two effects:

  • Generation will only use the text prompt and control layers of the currently active region.
  • The active layer's alpha/transparency is used as mask. (But a selection will override this.)

Live mode: Button to apply result in a new Layer

release-1 18 1-apply

Without regions, this is a simple way to apply a Live result as a new layer instead of replacing contents, same as previous versions.

With regions, the new button will apply the result to the active layer only. This is in contrast to the regular apply, which usually changes things in a small area around the active layer, and "splats" results to all affected regions. If you want the splatting, but as new layers, simply put your region layers in a group.

Other Changes

  • Fixed upscale tile layout computation for non-square aspect ratios #791
  • Fixed control layers for regions not showing up in Live mode #788
  • Fixed (non-region) control layers not being stored/loaded from .kra files #788
  • Increased strength threshold where an Inpaint model is used for refinement to 80% (was 50%)
  • Changed region tracking in Live mode to be more similar to how it works in Generation workspace
  • Disabled auto-hide of control layers in Live mode
  • Fixed mask layers (Filter Mask, Transform Mask, Colorize Mask) causing errors #788
  • Fixed LoRA folder filter not working in mixed Windows/Linux setup #793
  • Improved Undo behavior when applying results by replacing content (can now be undone, but requires 2 actions)
  • Fixed active layer changing to a different region when applying results to more than one region
  • Workaround for error due to document without active layer #805
  • Trim generated layer names for exessively long prompts #804

Version 1.18.0

10 Jun 22:26
Compare
Choose a tag to compare

Download krita_ai_diffusion-1.18.0.zip

Regions

release-1 18 0-regions

This release allows you collect text prompts, reference images and control layers in Regions, which are linked to paint layers or groups.

  • Restrict prompts to areas which are indicated by layer's content (alpha mask)
    • Seperate subjects in your image without their descriptions getting mixed up
  • Use regions you define as masks for inpaint
    • Jump between subjects in your image without having to adjust text prompts each time
  • Selections will automatically find the regions they cover when using Fill or Refine
  • Live painting focuses on the region which is linked to the active layer
    • Keep parts of the image you're not working on fixed
    • Work with higher canvas resolutions than before
  • Tiled upscale now effectively works with prompts by selecting matching regions for each tile
  • Control layers and reference images work with regions!
  • Manage complexity with region hierarchies (nested groups)

Thanks to @Danamir for getting this started!

Please watch the video to get started and let us know how it goes. Further tutorial and documentation coming when time permits.

Important

If you are using a custom ComfyUI installation, make sure to update. Latest version of comfyui-tooling-nodes are required.

Changes

  • ⚠ Applying results in Live mode now replaces active layer content by default
    • Adding a layer per region becomes messy really fast
    • Create a group for your layer if you want "non-destructive" apply
    • Maybe this will be an option in the future
  • Canvas now resizes right away when upscale is triggered (required for correct behavior in some cases)
  • Renamed "Blur" control layer to "Unblur" (it takes blurry input and tries to sharpen/add detail)
  • Added download option for SDXL version of Unblur control layer
  • Added option to select if Unblur is used for tiled upscale (with two strength presets)
  • Added seed to generated layer name #727

Cloud

  • Full support for regions
  • Purchase options also available now for those interested

Version 1.17.2

14 May 22:03
Compare
Choose a tag to compare

Download krita_ai_diffusion-1.17.2.zip

Changes

  • Use Lanczos for scaling images instead of bilinear filtering. This improves image sharpness #679
  • Increased the range for alpha blending to get slightly smoother transitions when working with selections
  • Minimum step count is now configurable for sampler presets #662 #697 #483
    • Default is 4 (unchanged)
    • Read here for an explanation how total steps, strength and minimum steps are related
  • Tweaked performance presets for high-end GPUs to a more realistic range
  • Fixed LoRA auto-completion not triggering at the beginning of a new line #700
  • Fixed custom context from selection mask for fill and refine region #669
  • Fixed PNG fallback for remote image buffers on Linux systems without WEBP support #702
  • Fixed plugin not loading when there is an issue with settings.json file #665

Cloud

  • Tweaked token cost to better match computation time
  • Show token cost when hovering over Generate button
  • Enabled performance settings (batch size, maximum resolution, etc.)

Version 1.17.1

27 Apr 12:23
Compare
Choose a tag to compare

Download krita_ai_diffusion-1.17.1.zip

Sampler preset changes

There was quite a bit of confusion about the changes to samplers in the last release, and a few bugs too. This release will hopefully improve the situation!

The preset name now contains both:

  • a descriptive part (default, fast, realtime, ...) which indicates what it might be good for and how it differs from other choices, especially for users who are not familiar with Stable Diffusion
  • the technical implementation name of the sampler (Euler A, DPM++ 2M, DPM++ SDE, ...) which you may see mentioned when downloading custom checkpoints

There are two new entries:

  • Alternative - Euler Ancestral with normal scheduler and step count
  • Lightning Merge - Euler Ancestral with uniform scheduler and low CFG/steps

Related changes:

  • "Special" Lora (LCM, Lightning, FaceID) are no longer filtered out, but a warning will be displayed if they are added manually #640
    • These are added automatically when needed, eg. when choosing a sampler or control layer that requires them
  • Improved error messages for samplers which require a Lora
  • Don't auto-convert previous sampler settings to a preset that requires a Lora
  • Fixed sampler preset choice not being persisted in some cases #649
  • Custom preset link will now open the folder if the preset file cannot be opened
  • Added link to format documentation in the custom preset JSON

Please check out the documentation on the Wiki for more information about Samplers and how to customize them!

Other changes

  • Revert to previous detection model for poses to avoid issues on some installations #630
  • Fixed add pose skeleton button not being disabled when the selected layer is not a vector layer #658

Version 1.17.0

19 Apr 08:32
Compare
Choose a tag to compare

Download krita_ai_diffusion-1.17.0.zip

Style Transfer

There are two new Control layer modes: Style and Composition.

release-1 17 0-style-ui

They work similar to the "Reference" mode: the selected image acts as a sort of inspiration, and doesn't have to match resolution or aspect ratio of your canvas. The difference is that Style will extract mostly art style and colors, while Composition focuses on the structural layout.

Composition Style Result
release-1 17 0-composition release-1 17 0-style release-1 17 0-style-result
release-1 17 0-composition release-1 17 0-style2 release-1 17 0-style2-result

Works best with SDXL. Probably need a different approach for SD1.5.

Important

If you are using a custom ComfyUI installation, make sure to update. Latest version of ComfyUI_IPAdapter_plus is required.

LoRA Search and Auto-Completion

Redesigned the LoRA selection into a searchable drop-down.
release-1 17 0-lora-settings

There is also an option to filter via folders (applies to all added LoRA).
release-1 17 0-lora-folders

And adding LoRA in the text prompt will auto-complete now.
release-1 17 0-lora-prompt

Control Presets

This release adds Presets for some Control layer and Sampler settings. The idea is to have a lean, easy to use UI where users can switch between a few recommended configuration options. Presets can be customized for those who want full control (but it may require editing a text file).

release-1 17 0-control

Control layer strength is now adjusted with a single slider, from low influence to very strong effect. This will influence the weight as well as the start and end of the interval in which ControlNet or IP-Adapter are applied.

release-1 17 0-control-expanded

If you want you can also modify those individually. The presets are stored in presets/control.json, it is recommended to copy it to the user data folder before editing.

Sampler Presets

Samplers can now be fully configured by choosing from a few pre-defined options.

release-1 17 0-samplers

As before, the number of steps and guidance strength can be tweaked in the UI. New: you can edit the presets or add your own, and choose from any sampler / scheduler which ComfyUI supports.

release-1 17 0-samplers-expanded

Other Changes

  • Added option to enable Self-Attention Guidance (advanced checkpoint settings) (by @FeepingCreature)
    • This may improve image quality at the cost of some performance
  • Fixed LoRA in the text prompt not being stored to history #586
  • Fixed error when restoring settings to default values
  • Fixed crash when toggling Live Record without generating an image #579
  • Fixed error when result images matched the thumbnail size #605
  • Correctly update the selected style when the filter changes #564
  • Removed [Live] prefix from generated layer name and added the seed value #613
  • Use PNG as the format for saving result images from the history #582 #627
  • Allow multi-selection when saving images from result history #626
  • Added fallback for WEBP images on Linux without the required Qt5 package #582
  • Improve robustness of rename during installation on Windows #515
  • Make errors during process job attach non-fatal on Windows #616
  • Improved folder selection for server installation #620

Version 1.16.1

31 Mar 09:15
Compare
Choose a tag to compare

Download krita_ai_diffusion-1.16.1.zip

Bugfixes

  • Fixed change of connection URL in the UI not having any effect #533
  • Fixed inpaint mode chosen at 100% strength affecting masks even in refine mode (0-99% strength) #535
  • Stop live mode polling after the document is closed (previously lead to errors and inconsistent state after opening a new document) #538
  • Fixed LoRA not working when added in the text prompt #540
  • Fixed selection not working properly in live mode #539
  • Re-enabled IP-Adapter with DirectML backend (seems to be working again) #552
  • Improved error reporting for missing checkpoints and other models #553 #550 #541 #537

Cloud

  • Added SDXL
  • Fixed "Remove object" not working

Version 1.16.0

27 Mar 19:57
Compare
Choose a tag to compare

Download krita_ai_diffusion-1.16.0.zip

Important

This release includes an upgrade for ComfyUI and introduces new models.

  • If you are using the managed server, the installer will do an upgrade.
  • If you are using a custom ComfyUI installation, please update to latest versions!

Per-pixel Strength Masks

This release slightly changes how selections masks are interpreted.
Previously they would be either 1 (selected) or 0 (not selected), with smooth transitions at the edges for blending.
Now you can create masks with any values in between to customize how much the image changes per pixel.

Original Mask Result
release-1 16 0-diff-original release-1 16 0-diff-mask release-1 16 0-diff-spooky

"spooky dense forest"

For example, if you paint a selection mask 50% white in a certain region, and set strength to 80%, the actual strength in that region will be half of 80% = 40%. This is also known as "Differential Diffusion" or "Soft Inpainting". You can allow more drastic changes in some regions and only small adjustments in others - with smooth transitions - in one generation.

Original Mask Result
release-1 16 0-diff2-original release-1 16 0-diff2-mask release-1 16 0-diff2-acid

"toxic waste, acid lake"

Hint: enable global selection masks in Krita to easily edit selection masks.

Streamlined Cloud GPU

I've been working on a streamlined online service for those who don't want to install or lack the hardware. It is not complete, but can be tested already. Please look for more information and leave your feedback in this discussion!

Note: Local offline will always be the option with the greatest flexibility. But it's not available to everyone, and sometimes convenient can be nice?

Sponsors

This project is happily eating all of my time, and it feels like it is only getting hungrier! 😵

So I've had to think about sustainability. Cloud GPU is part of that, but it's an experiment and won't appeal to everyone. If you like the project, please consider donating via GitHub ♥. Much appreciated!

Other Changes

  • Live mode: check for changes on client side and only send a request to ComfyUI when there are actual changes #414 #509 #512
  • Use depth-anything to generate depth images for depth control layers
  • Use more recent DWPose models to estimate pose for pose control layers
  • Added EasyNegative as negative embedding (not required, but installed by default if SD1.5 is selected for managed installs)
  • Added Flat2D-Animerge checkpoint to installer as optional download
  • Support SDXL Tile ControlNet as Blur control layer and when upscaling #473
    • This is an optional model for now, it will be used if installed
  • Changed sampling to use a minimum of 4 steps even at low strength (related: #483)
    • Was 6 before for LCM, no minimum for other samplers
    • Will never inrease step count beyond what is configured as total steps
    • Tiled upscaling now uses same step scaling as other modes
  • Added option to filter out built-in styles
  • Added link to the folder where settings are stored in the UI
  • Added custom hotkey to toggle previews #426
    • While the preview browser has focus, press space bar to toggle
    • You can also assign a custom hotkey in Krita's hotkey settings which will work without focus (not set by default)
  • Scroll to bottom of history when switching canvas or opening documents
  • Updated to latest IP-Adapter "V2" nodes #524 #531
  • Fixed LoRA path splitting when server runs on Windows and client on Linux/Mac #477
  • Removed --force-fp16 as default option for MPS (macOS only) #474
  • The download_models.py script can now pre-fetch control pre-processor models