Releases: Acly/krita-ai-diffusion
Version 1.8.2
Download krita_ai_diffusion-1.8.2.zip
Changes
- Refuse to run a server install or upgrade in folders which are not empty, unless they contain an installation previously done by the plugin
- The built-in installer is not meant to be used on existing custom Comfy installations and could permanently damage them
- Compatibility with the latest version of ComfyUI_IPAdapter_plus #138, #146 (by @Danamir)
- Fixed connection to server that was started by the plugin with
--listen
argument #129 (by @miabrahams)
Version 1.8.1
Download krita_ai_diffusion-1.8.1.zip
Changes
- Fixed broken inpaint/outpaint results at higher resolutions #121
- Allow file layers (and some others) to be used as control layers #122
- Disable user site directory for embedded Python to avoid torch version conflicts #116
- Fixed scenario where the server both requires an upgrade and a new model
- Exclude LCM Lora from the Lora list (it is added automatically when the sampler is used)
Version 1.8.0
Download krita_ai_diffusion-1.8.0.zip
Stencil Control layer
Also known as QRCode Monster this control layer allows you to imprint QR codes creatively into images. Its release was quickly followed by a wave of images which used it to not only hide QR codes, but all sorts of patterns and subtle (or not so subtle) messages in images. It can produce interesting results :)
Thank you @jellydreams for the implementation.
Control fine tuning
There is now preliminary support to configure at which point in the sampling process the influence of a control layer should end. Previously it was active for the whole duration - now it can be set to stop early. In some cases this improves quality in a way that the existing strength parameter cannot. For more information and a comparison, see the PR.
For now this option is hidden by default, it must be activated in the plugin settings "Interface" tab first. The goal is to eventually merge this into one parameter that adjusts influence while retaining optimal quality.
Thank you @Danamir for the implementation.
Support for Apple macOS
Since by now various people have successfully used the plugin on macOS, I shall declare it supported :)
If you are having trouble check out this issue.
Thanks to @yantoz, users with Apple silicon can now select the MPS (Metal Performance Shader) option to install and launch the ComfyUI server from within the plugin with hardware support.
Installation and Setup
Since last version, a great (and sometimes overwhelming) number of new users have tried out the plugin. This resulted in a lot of issues with installation or onboarding existing Comfy installs. I'm not entirely surprised - there is a huge combination of OS, hardware and system setups out there, and way too much that can go wrong. Still, I hope there are also those for which it "just worked" and made everything more accessible. As for the rest, I rely on your feedback and support to improve robustness.
Improvements:
- Install detection and actual install process are now more consistent #80
- Report an error directly when trying to install to a folder that already exists
- Fixed not being able to install missing nodes
- Fixed issues with too long paths on windows #87
- Prioritize python3 over python executable (Linux)
- Fixed plugin vs server version mixup #65
Other Changes
- Show negative prompt box in Live mode (if enabled in settings) #98
- Fixed negative prompt not updated when switching documents
- Improved sampler settings UI layout
- Added link to log files also for external connection
- Show version number at the bottom of the settings dialog
Version 1.7.1
Download krita_ai_diffusion-1.7.1.zip
Changes
- LCM Lora will now be found when downloaded via ComfyUI Manager
- Support safetensors version of the clip vision model (models/clip_vision/SD1.5/model.safetensors)
- Fixed preview toggle (single click) and apply (double click) in the results thumbnail viewer
- Fixed issue with text disappearing in 1-line prompt box
- Improved model detection for external ComfyUI installs and added diagnostics in log file (more info)
Version 1.7.0
Download krita_ai_diffusion-1.7.0.zip
Server Upgrades
The features of this release require new server versions and extensions. If you used an old version of the plugin, you will have the opportunity to upgrade the server automatically after installing the latest plugin version. (The plugin itself is still updated by extracing & overwriting.)
If you maintain your own ComfyUI installation make sure to update to the latest version! See here for model downloads.
The upgrade will remove & reinstall the server code. Models will be migrated and do not have to be re-downloaded.
AI Live Painting with interactive feedback
This release implements the LCM sampler, which requires very few steps and is therefore much faster - albeit at a loss of quality. If you happen to own a high-end GPU (RTX 4070+) this allows for generating images in less than a second. You can select the sampler in the style settings, but more excitingly, there is also a new workspace/tab which gives you a "live" update while you paint.
The AI generated version on the right automatically reflects any changes you make in the canvas. This mode is compatible with all styles, uses LCM sampler by default, and also supports control layers! I'm not sure how useful it is yet, but it's a lot of fun :)
Other Changes
- Use fixed versions for all server packages instead of latest, to avoid issues when they are updated and become incompatible
- Fixed changing style in Upscale workspace having no effect
- Log supported SD versions for better diagnostics
- CFG scale now supports decimals (0.1 steps)
- Separate sampler settings for default (quality) image generation, and live (fast) image generation
- Optimized PNG conversion to avoid (long) UI hang when using large resolutions
Version 1.6.0
Download krita_ai_diffusion-1.6.0.zip
Improved SD XL support
Stable Diffusion XL has been quietly supported for a while, but because it still lacks good inpaint/outpaint capabilities it wasn't integrated as tightly. This release provides installation support, filtering, and better documentation for SD XL. You can read more about SD 1.5 vs SD XL here.
Server installation packages were condensed, and now offer two "workloads": SD 1.5 and SD XL. You need at least one! Recommended checkpoints and control models have also been added for XL.
Style selection now includes default styles for XL, and filters them depending on the installed workloads and checkpoints. That is, you won't see styles if you can't run them.
The settings still show all styles, and show warnings if the respective workload hasn't been installed.
Other Changes
- Fixed creating/deleting styles triggering an assertion
- Automatically hide generation preview when upscaling results are available
- Fixed download errors being silently ignored
- Allow using client with only SD XL installed (or only SD 1.5)
- Fixed issue when inpainting (Kernel size can't be greater than actual input size, #36)
- Fixed validation error when using tiny selection area
- Show SD base model version icons next to checkpoints and styles
- Changed python package installation to call python instead of pip script (#37)
- Fixed bad request / validation error due to changes in 3rd party custom node (#39, #41)
- Added default styles for SD XL
Version 1.5.0
Download krita_ai_diffusion-1.5.0.zip
If you are updating from a previous release: additional custom nodes and models are required. They can be downloaded automatically via the built-in installer.
Upscaling
Now there is a dedicated UI to upscale images. You can switch with the new button in the top-left:
It allows to upscale the current projection (merged visible layers) by up to factor 4x.
- Upscale model can be chosen explicitly
- There are 3 recommended models: Default, Quality, Sharp
- Custom models are also supported (found in
ComfyUI/models/upscale_models
)
- The "Refine" option will run diffusion on the upscaled image to improve quality
- 30% strength will stick very closely to the low resolution image
- 40-50% strength will allow freedom for additional details
- Generation runs on tiles, so high resolutions (4k, 8k, more...) are possible without requiring more GPU memory
Upscaling makes use of a new control mode "Blur" (aka. ControlNet Tile). It takes blurry image as input (eg. from bilinear resize) and sharpens and adds detail. You can use it in the image generation UI to selectively upscale/refine areas of the image.
Inpaint Improvements
Trying to add new objects to an existing image in an area has felt unintuitive in some cases. The reason is that a lot of context from the existing image is needed to make sure new content "fits in". But this leads to the text prompt having less impact, and sometimes it felt like it's ignored.
- Method 1: Select area, enter text, 100% strength
- Method 2: Select area, enter text, paint a very crude version of the new object, 80% strength
Method 2 has always been quite reliable and predictable! But it's not as intuitive, so in this version Method 1 is improved.
Let's look at an example. We have some nature photo, and it's clearly lacking a bear.
Original | Mask | Prefill for Method 2 |
---|---|---|
Method 1, OLD behavior - only 1 out of 4 images has a bear :(
Method 2 (unchanged) - note that the prefill also gives some control over shape
Method 1, NEW behavior - bears are now very common indeed :)
Other Changes
- Added option to specify negative text prompt in the generation UI (must be activated in interface settings)
- Added option to change number of text lines for the prompt editor (interface settings)
- Made server installation more robust after crash/abort
- Added IP-adapter support for SDXL, requires
ip-adapter_sdxl_vit-h.pth
inComfyUI/custom_nodes/ComfyUI_IPAdapter_plus/models
- Support
{prompt}
placeholder in style prompts (also updated default styles to use this) - Improved outpainting scenario by excluding image border areas from the IP-adapter reference
- Increased websocket ping timeout for large image transfers when using a remote (internet) server
Version 1.4.0
Download krita_ai_diffusion-1.4.0.zip
Pose Vector Editor
Vector layers can now be used for controlling pose. This makes it easier to do adjustments or create a pose from scratch.
Use this button to automatically generate vector pose from the current image.
Use this button to add a new pose to the selected vector layer.
Editing pose joints will automatically update connections. Moving, scaling and rotating is supported. Keep in mind that Krita's vector layers are very general and allow a lot of additional operations which may not play nice with this feature though.
PoseEditor.webm
Changes
- Added pose editing via vector layers
- Selection area padding is now configurable in diffusion settings.
This controls how much context outside of the selection mask the AI is able to see - Match only the filename when searching for ControlNet models. This allows to organize them in arbitrary subfolders
- Made checkpoint classification more robust (SD 1.5 vs SDXL) - requires custom node update
- Filter out inpaint and refiner checkpoints. Inpaint models currently don't work properly, but also shouldn't be needed
- Automatically exclude control layers from image input when using less than 100% strength
Version 1.3.0
Download krita_ai_diffusion-1.3.0.zip
Reference Images
You can now add arbitrary images from layers as input for generation. It will generate something similar to what's in the image. This works as a replacement or in addition to text prompts.
Here I ask for a cat, and also provide an image of some pegonias. So the results all show a cat and pegonias (or some red flowers at least!).
Multiple images can be added. They don't have to match in size, but should preferrably be square(ish).
Changes
- Added IP-adapter as explicit control mode
- Batch multiple control images
- Fixed platform check for MacOS (there are probably other issues though)
- Fixed installation after PyTorch 2.1.0 release
- Increased value range for LoRA (sometimes used as a "slider" value from -400% to +400%)
- Fixed connection to ComfyUI server behind ngrok