krita-ai-diffusion

Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required.

GPL-3.0 License

Stars
4.8K

Bot releases are hidden (Show)

krita-ai-diffusion - Version 1.17.2 Latest Release

Published by Acly 5 months ago

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.)
krita-ai-diffusion - Version 1.17.1

Published by Acly 6 months ago

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
krita-ai-diffusion - Version 1.17.0

Published by Acly 6 months ago

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
krita-ai-diffusion - Version 1.16.1

Published by Acly 7 months ago

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
krita-ai-diffusion - Version 1.16.0

Published by Acly 7 months ago

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
krita-ai-diffusion - Version 1.15.0

Published by Acly 8 months ago

Download krita_ai_diffusion-1.15.0.zip

Discard Images from History

release-1 15 0-discard-image

For those images we'd prefer to have never happened. You can multi-select with Ctrl/Shift!

New location for User Data

User files such as settings, custom styles and logs are no longer inside the plugin installation directory. This has some advantages:

  • Easier to do a clean update/reinstall of the plugin without losing your settings
  • Allows system-wide plugin installation with per-user settings

The settings are now located in a subfolder of Krita's user data. Typical paths:

  • Windows: C:\User\<your-name>\AppData\Roaming\krita\ai_diffusion
  • Linux: ~/.local/share/krita/ai_diffusion
  • MacOS: ~/Library/Application Support/krita/ai_diffusion

Depending on your system the location may be different. You can find it via the "View Logs" link in the settings.

Experimental Features

Lightning

SDXL Lightning is a way to speed up generation of images with SDXL, similar to LCM and Turbo. Instructions and Discussion

Animation Workspace

This version contains a first draf for working with animations. Currently it's just a UI for batch processing, but may become a place to integrate animation checkpoints in the future. Overview and Discussion

Other Changes

  • Read style folders recursively #346
  • Potential workaround for hang when using "Fill" on some CPUs #401
  • Fixed issues with styles when there is no server connection
  • Improved error message for some common server startup failures
krita-ai-diffusion - Version 1.14.1

Published by Acly 8 months ago

Download krita_ai_diffusion-1.14.1.zip

Changes

  • Improved speed at which preview results are displayed when working with complex documents #391
  • Replaced latent upscale during 2-pass generation (was only used for small factors, now uses image upscaling) #407
  • Fixed server process not being terminated when Krita is closed in some cases (eg. crash) #196 #360 #390
  • Fixed backup folders being copied instead of moved during server upgrade
  • Fixed some spin boxes not working properly (eg. line count settings) #393
  • Fixed inconsistencies in server UI, it should now report state (started, stopped, connected...) correctly
  • Hotkey to start generation now also works for Live mode #414
  • Set initial default grow/feather to 5% for new installs
krita-ai-diffusion - Version 1.14.0

Published by Acly 8 months ago

Download krita_ai_diffusion-1.14.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, find the new requirements at the bottom.

Selection Fill & Expand for Stable Diffusion XL

While SD XL has been supported for a long time, its capabilities to seamlessly fill selections were very limited. SD 1.5 almost always had superior results. This release adds the inpaint model developed by Fooocus to dramatically improve results. All SD XL checkpoints, including custom downloads, automatically profit from the change.

The new model will be downloaded as part of the "Stable Diffusion XL" workload, make sure to select it in the installer if you want to make use of it!

New Inpaint Modes

This release introduces more nuanced actions for filling and expanding areas of the image.

release-1 14 0-inpaint-menu

This nudges generation into a certain direction depending on what you want to do. Works especially well for SD XL, but also improves consitency for SD 1.5. Some examples are below, you can read the full documentation here.

Selection Result
Fill fill-mask fill-result
Expand release-1 14 0-inpaint-expand-mask release-1 14 0-inpaint-expand-image
Add Content release-1 14 0-inpaint-add-mask release-1 14 0-inpaint-add-image
Remove Content release-1 14 0-inpaint-remove-mask release-1 14 0-inpaint-remove-image
Replace Background release-1 14 0-inpaint-replace-mask release-1 14 0-inpaint-replace-image

Discussions and Wiki

Feel free to ask questions, discuss ideas, and share workflows, in the Discussions.

Documentation can now be found in the Wiki. It's a work in progress, contributions are appreciated! (I believe not everybody can edit yet, make a post if you have some content.)

Other Changes

  • Added option to enqueue new generations in front so they will run first #380 (by @daniel-richter)
  • Fixed crash after using flatten image on a preview layer #381
  • Fixed error when using HAT upscale models at certain resolutions #378
  • Fixed LoRA not being applied when in a subfolder and connecting to Linux server from Windows #307 #375
  • Fixed control layer generate button being visible for "Blur" mode (it does not need generation) #369
  • Linux: Prioritize Python 3.11/3.10 over other installed versions (not all dependencies support 3.12 yet) #374
  • Load checkpoint first in upscale workflow to enable caching #377
  • Fixed error during installation because of encoding issues #370
  • Added file extensions to document annotations (makes extracting them from .kra files easier)

New requirements for custom ComfyUI

As usual you can use the download script to fetch models, and the full list is here.

krita-ai-diffusion - Version 1.13.1

Published by Acly 9 months ago

Download krita_ai_diffusion-1.13.1.zip

Changes

  • Fixed no checkpoints found after installation #358
    • Replaced civitai.com downloads which started to require a login
  • Removed old location for IP-Adapter models which no longer works #352
    • Only affects installations originally done by a relatively old version of the plugin
    • See #352 on how to migrate them manually, otherwise the models will be re-downloaded to the new location
  • Improved downscaling of control layer images, especially Canny edge #333
krita-ai-diffusion - Version 1.13.0

Published by Acly 9 months ago

Download krita_ai_diffusion-1.13.0.zip

[!IMPORTANT]
This release includes an upgrade for ComfyUI and custom nodes.

  • 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!

Face Reference

You can now provide a reference image of a face and generate images with close likeness.

release-1 13 0-face-ui

Generate entirely new images with flexibility to change style, lighting, etc:

release-1 13 0-face-generate

Hint: Use a portrait as reference which includes hair and shoulders. Size of the reference image doesn't have to match your canvas, it's okay to leave transparent areas.

It also works for changing faces in existing images:

release-1 13 0-face-inpaint

Installation:

  • Managed server: Choose the IP-Adapter Face option from Control Extension packages. Available for both SD 1.5 and SD XL.
  • Custom ComfyUI: See IP-Adapter-FaceID for models and follow the FaceID section of ComfyUI_IPAdapter_plus. I'm testing with FaceID Plus v2 models, but others may work. Installation of insightface is required.

Hand Refiner

Stable Diffusion often struggles with generating hands. Manually sketching hand posture can often be the most reliable solution.

release-1 13 0-hands-ui

This release adds the Hand control layer as an alternative. It automatically detects hands in the image or selected area and
tries to generate a plausible depth map. This can then be used to guide generation.

release-1 13 0-hands

Hints and limitations:

  • Works for photos and realistic shading. Fails to detect hands in flat-shaded cartoon artwork.
  • You can use selections to detect specific hands!
  • Refining hands requires sufficient resolution to work with.
  • High strength leads to plastic look and color shifts, try around 50%.
  • Hands can still be frustrating...

Installation:

  • Managed server: Choose ControlNet Hand Refiner from Control Extensions packages.
  • Custom ComfyUI: See HandRefiner for model and latest comfyui_controlnet_aux for preprocessor.

Live Animation Painting (experimental)

There is a new record button in the Live tab which imports results as animation. Maybe it's useful?

https://user-images.githubusercontent.com/6485914/298176809-49348ecc-977b-4639-a964-2ca60ee69a6b.mp4

High resolution version on YouTube

Other Changes

  • Added option to save the last ComfyUI prompt for debug and experimentation purposes (Interface > Dump Workflow)
  • Reduced default max pixel count for "high" performance profile
  • Fixed wrong clip-skip setting applied to SDXL checkpoints (Styles > Checkpoint configuration (advanced) > Clip Skip) #323
    • Existing custom styles are not automatically modified, you may want to revise them
  • Line art control layer is no longer excluded from generation image input
    • The lines themselves will become part of your image - if you don't want this hide the layer
  • Fixed wrong image size when height is not a multiple of 8 but width is #306
  • Fixed some UI update issues (initial upscale model, canvas change)
  • Reorganized model search paths and put them all in one place #304
  • Disabled IP-Adapter for AMD/DirectML (it appears to be broken) #335
  • Tweaked thumbnail spacing in relation to UI font size #278
krita-ai-diffusion - Version 1.12.0

Published by Acly 10 months ago

Download krita_ai_diffusion-1.12.0.zip

[!IMPORTANT]
This release introduces new upscale models (Omni-SR):

  • If you are using the managed server, the installer will download the new models
  • If you are using a custom ComfyUI installation, download them here and place them in models/upscale_models

Persistence

release-1 12 0-persistence

The following information will now be stored in .kra documents:

  • Current workspace, prompt, strength, etc.
  • Current control layer setup
  • History of generated results

How much of the history is stored can be configured in performance settings. Keep in mind that increasing the limit also makes saving and opening documents slower! The history is compressed, so the default values are actually enough for a lot of images.

Queue Popup Menu

release-1 12 0-queue-menu

The queue button menu has been extended:

  • Batches is like hitting the "Generate" button multiple times (but slightly faster)
  • Seed options have been moved here (previously were in settings)
  • Cancel buttons to manage the job queue can still be found here

Preview Context Menu

release-1 12 0-context-menu

Previews thumbnails now have a context menu button. Alternatively you can always open the menu with right-click. Here you can:

  • Copy generation parameters, such as prompt, strength and seed
    • This will directly place them in the UI and overwrite the previous setup.
  • Quickly save the generated result to disk
    • It will be stored as WEBP in the same location as your document.

Resolution Performance Options

release-1 12 0-resolution-control

Hardware limitations are still a big problem, especially when working on a high-resolution canvas. This release provides some more options to avoid running into out-of-memory situations:

  • Resolution Multiplier will scale down the resolution which images are generated at relative to the canvas resolution.
    • For example, setting it to 0.5 will generate images at half the resolution
    • To fit into your image, results are automatically upscaled with a fast AI upscaler
  • Maximum Pixel Count allows you to set a resolution limit.
    • It works similar to the multiplier, but only kicks in when you cross a certain threshold
    • This is enabled by default now! The limit depends on your GPU.

Checkpoint Resolution Override

Stable Diffusion checkpoints have a "preferred" resolution, and the plugin will automatically take it into account. For most checkpoints this is detected automatically and nothing has to be changed!

In some cases a checkpoint may be trained with a different resolution than its base model suggests - for cases where this cannot be detected you can now set it manually. See the example below for the recommended way to setup SDXL Turbo.

release-1 12 0-preferred-resolution

Other Changes

  • Disabled area conditioning when a control layer is active - this could lead to bad inpaint results when using text prompt & control layers
  • Styles are now sorted alphabetically
  • History: create new section when negative prompt changes
  • History: add strength value and create new section when it changes
  • History: disable item dragging (by @vtvrv)
  • Fixed result thumbnails not scaling with Windows display scaling #278
  • Fixed crash when setting the upscale factor to a non-0.5 increment #264
  • Fixed division by zero when all "Image" control layer (IP-adapter) weights are 0 #271
  • Fixed history UI not being updated when old images are pruned
  • Crop control layer images before sending them to the server
krita-ai-diffusion - Version 1.11.1

Published by Acly 10 months ago

Download krita_ai_diffusion-1.11.1.zip

UI Improvements

The way thumbnails and previews work is motivated by the following ideas:

  1. Being able to preview results directly in the canvas to be able to zoom, pan, and judge how they fit
  2. Toggling and cycling through multiple results quickly to compare them
  3. Easily enqueue additional images when none of the results are quite good enough

The preview looks exactly like the result would after accepting it, which is great to judge how it fits in -- but has the unfortunate side effect that it's really easy to forget it's only a preview and still has to be applied! The respective button was also easily missed at the bottom of the UI, and not intuitive for new users to find.

release-1 11 0-ui

By re-designing the button and making it more prominent right next to the thumbnail I hope to at least mitigate those issues.

There are a few more small tweaks:

  • The "workspace" switch now has a more prominent drop-down arrow
  • The "queue" indicator now includes the current job and it's more obvious that you can click it
  • Results that were applied now receive a tiny indicator

Other Changes

  • Grouped checkpoint-specific settings (VAE, Clip skip) under "Checkpoint configuration (advanced)"
  • Initial support for V-prediction / Zero Terminal SNR models #211
    • Has to be enabled manually in advanced checkpoint configuration
    • Checkpoint model authors usually indicate when this is required
  • Added samplers Euler, Euler A #117 (by @sejoung)
  • Added option to randomize the seed in Live mode after copying the image #214
    • Can be enabled in Interface settings
  • Allow large number of LoRA files to be displayed by adding scrollbars if needed (by @vtvrv)
  • Fixed layer names not being updated in the control layer UI #217
  • Fixed Checkpoint / LoRA refresh button not working
  • Fixed upscale target resolution mismatch causing broken image
  • Upscale now resizes the image only after generation is finished (allows cancel without modifications)
  • Settings window is now sized according to the active screen (by @vtvrv)
  • Added a progress indicator for the initial image in Live mode #218
  • Installer now uses the .safetensors version of the Clip-Vision model (but the old one still works)
  • Installer and download scripts default to the new IP-Adapter location in the models folder (old location still works)
krita-ai-diffusion - Version 1.10.0

Published by Acly 10 months ago

Download krita_ai_diffusion-1.10.0.zip

This version updates the managed ComfyUI server to the latest versions. To those who manage their own ComfyUI install, please make sure you are up-to-date (including custom nodes) to avoid issues!

Advanced Text Prompts

This release adds convenient shortcuts for editing text prompts:

  • Emphasize (Ctrl+Up) or reduce importance (Ctrl+Down) of words or expressions
    • Applies to a single word at the cursor, or an entire selection
    • Will add a weight: >1 for higher, <1 for lower importance (recommended range: 0.7-1.3)
  • Add LoRA directly by writing <lora:filename>
    • Must match the filename of an existing LoRA file (extension is optional)
    • Also supports custom weights with Ctrl+Up/Down!

release-1 10 0-prompt-edit

Thank you @huchenlei and @Danamir for the extensions.

Improved Preview Layer handling

There are a number of small fixes and changes to iron out how preview layers are handled, and avoid confusion when results are buried somewhere in the layer stack:

  • Canvas actions (painting, selections) will no longer be interrupted when generation finishes #201
    • Except for the very first generation, which will automatically show up as preview in the canvas
    • You can now disable auto-preview in the Interface settings if you don't want to be interrupted at any time
  • Previews are always inserted at the top of the layer stack
  • Selecting a thumbnail will move preview to the top
  • The active layer now remains unchanged when toggling preview results (preview layers never become active)
  • Control images, upscales and applied results are inserted on top and become active layers

Other Changes

  • Can now set the strength of reference "Image" control layers (aka. IP-Adapter) individually
  • Added a download_models.py script to make custom ComfyUI installs easier #113 #165
    • How to use. It lists and downloads all models used by the plugin.
  • Fixed missing "Add pose" button #200
  • Fixed history widget layout for large width #210
  • The installer now explicitly installs wheel and setuptools packages #160 #185 #187
  • Checkpoint base models which are not supported (SD2, SSD-1B, SVD) are now filtered out
  • More lenient handling and improved error reporting for encoding issues #191
  • Improved error message for missing upscale models
  • Fixed assertion when closing a document while Live mode is active
krita-ai-diffusion - Version 1.9.0

Published by Acly 11 months ago

Download krita_ai_diffusion-1.9.0.zip

Live Painting on Selections

You can now use selections to control the target area for live painting. This is useful to get good performance even on a larger canvas, or to avoid affecting parts of the image.

https://github.com/Acly/krita-ai-diffusion/assets/6485914/dc135403-1b16-4a95-a2ab-e28d93ae1849

Note that it is not as good for inpainting as the "traditional" workflow. The full inpainting pipeline is rather heavy, and costs too much performance for live mode.

Improved performance at lower strength

The number of samples now scales with the strength. Lower values require fewer samples, but still yield results that are very similar (and generally just as good) as before. This means such images are now generated much faster. Some examples (SDXL at 1024px, RTX 4070):

Strength Before New (1.9.0) Difference
100% 20 samples (7s) 20 samples (7s) No change
50% 20 samples (7s) 10 samples (3.5s) 🟢 2x faster
30% 20 samples (7s) 6 samples (2.3s) 🟢 3x faster

Note that the separate "Upscaling steps" settings have been removed, as they automatically scale now. Thanks @Danamir for this improvement!

Other Changes

  • Added Clip Skip to style settings #75. Some checkpoints recommend setting this to 2 for better results. Thanks @Fezinaru
  • LoRA selection now reflects folder structure #148. This allows organizing and finding LoRA in large collections. Thanks @Danamir
  • Added sampler UniPC BH2 #117. It can yield good results at fewer steps than other samplers.
  • Added sampler DPM++ SDE. The SDXL Turbo LoRAs and merges work best with this sampler. See #155 for more information.
  • Support latest version of ComfyUI_IPAdapter_plus #158 by @Danamir
  • Support latest version of comfyui_controlnet_aux #165
  • Fixed issues where the control layer UI was not consistent
  • Fixed issues where text prompt couldn't be entered properly #85
  • Adding a new control layer now uses the last used control mode by default #114
  • Made preview toggle and selected thumbnail consistent #114
  • Fixed newly added layers now showing up in control layer selection #10
  • Fixed various issues when switching between workspaces or documents
  • Experimental support for explicit masks and context
krita-ai-diffusion - Version 1.8.2

Published by Acly 11 months ago

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)
krita-ai-diffusion - Version 1.8.1

Published by Acly 11 months ago

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)
krita-ai-diffusion - Version 1.8.0

Published by Acly 11 months ago

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 :)

release-1 8 0-stencil-ui
release-1 8 0-stencil

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.

release-1 8 0-control-end

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
krita-ai-diffusion - Version 1.7.1

Published by Acly 11 months ago

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)
krita-ai-diffusion - Version 1.7.0

Published by Acly 11 months ago

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.

release-1 7 0-upgrade

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.

release-1 7 0-live-tab
release-1 7 0-live

>> Video Demo <<

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
krita-ai-diffusion - Version 1.6.0

Published by Acly 11 months ago

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.

workload-installation

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.

release-1 6 0-styles

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