Interpause/auto-sd-krita

UPDATE: New Extension-based version: https://github.com/Interpause/auto-sd-paint-ext

Closed this issue · 11 comments

Overview

UPDATE: it's done: https://github.com/Interpause/auto-sd-paint-ext

NOTE: You will have to reset the Backend URL to default as the URL changed!

See: AUTOMATIC1111#3040

The upstream official API for AUTOMATIC1111 is still far from complete, but is functional enough. If AUTOMATIC1111#4005 gets merged, it also means I can implement missing functionality as an extension first, before it eventually gets integrated into the official API.

Current Plan

  • Rewrite auto-sd-krita from being a commit hijack to an extension using the AUTO's extensions API.
  • Reach feature parity with existing plugin, the main "pain points" being:
    • Model switching & applying other config options
    • sddebz's highres fix & applying upscaling before result is returned like current behaviour
    • Script API

Timescale

I am currently quite busy, so this might only happen 2 weeks from now.

So you are planning to replace current server with official remote-api integration?
if I understand it correctly
(I do need remote uploading/downloading of images, and making some workaround for current your modification, but look like this feature will come latter to this plugin with server API change)

Yes, but right now, the official API is far from complete.

In the short run, I am still going to modify the current API to send the images instead of file paths so that remote backend works. I don't think I will move to the official API till it is sufficiently developed so that I am able to keep all the features while transitioning to it.

BTW, progress on modifying the current API (not migrating to the official API) is over here: https://github.com/Interpause/auto-sd-krita/tree/api-refactor

BTW, progress on modifying the current API (not migrating to the official API) is over here:

Look like there still read/write directly to file, so idk when it gonna work with remote API instead files.
I adding simple-straight-forward get/post image by Post/Get requests(before reading obviously), just to make it work in my current environment.

BTW, progress on modifying the current API (not migrating to the official API) is over here:

Look like there still read/write directly to file, so idk when it gonna work with remote API instead files. I adding simple-straight-forward get/post image by Post/Get requests(before reading obviously), just to make it work in my current environment.

The original API isn't mine, I am refactoring stuff before actually doing it. (aka procrastinating)

#28 Yup its done.

ow wow!
thank you for effort, you save my time!
il check it latter

I made this simple Colab script:

https://github.com/danilw/Krita-StableDiffusion-WebUI-Colab/

Script was updated, try to redownload and try again if old version not work.

Allows to use this StableDiffusion Krita plugin with Google Colab.

Everything works.

Sometime Krita freeze during upload/download images and only Krita restart fix it. And you have to "refresh" image in Krita UI (hide/show new uploaded image), but it works.

If it helps, I'm planning to implement the model switching parts (and a few other things like it) myself on autolmatic's version. I'm going to need them for some auto-generation stuff i'm trying to do where i'll want to switch models around.

My plan is a GET request that returns all the known models currently, and then a PUT to it that selects the model to use in future operations (I'd love this to be a parameter in the txt2img and img2img requests but I believe that the whole system isn't really designed with that in mind.)

Are there any specific features/additions to that that you would want to help your work?

Just a heads-up. My PR was closed but you can extend the API using AUTOMATIC1111#3982

If it helps, I'm planning to implement the model switching parts (and a few other things like it) myself on autolmatic's version. I'm going to need them for some auto-generation stuff i'm trying to do where i'll want to switch models around.

My plan is a GET request that returns all the known models currently, and then a PUT to it that selects the model to use in future operations (I'd love this to be a parameter in the txt2img and img2img requests but I believe that the whole system isn't really designed with that in mind.)

Are there any specific features/additions to that that you would want to help your work?

Besides models:

  • hypernetwork selection
  • img2img upscaler selection
  • any other settings that require a reload

In a sense, if the entirety of shared.py could be exposed as a POST/PUT endpoint while handling all the misc tasks required after changing some settings, it would be great.

Its done: https://github.com/Interpause/auto-sd-paint-ext

I will create an install video and new demo soon
(maybe after I add outpainting)