MCPcopy Index your code
hub / github.com/Interpause/auto-sd-paint-ext

github.com/Interpause/auto-sd-paint-ext @0.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.1.0 ↗ · + Follow
226 symbols 890 edges 36 files 70 documented · 31% updated 2y ago0.1.0 · 2023-03-25★ 48633 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

auto-sd-paint-ext

Formerly known as auto-sd-krita.

Extension for AUTOMATIC1111's webUI with Krita Plugin (other drawing studios soon?)

demo image

Why use this?

  • Optimized workflow (txt2img, img2img, inpaint, upscale) & UI design.
  • Only drawing studio plugin that exposes the Script API.

Notice

Refer to https://github.com/ClashSAN/sd-webui-extension-records for current working extension & webUI commits and how to switch commits. This is useful when upstream webUI changes break the extension.

Currently stuck on two things with regards to further development:

See https://github.com/Interpause/auto-sd-paint-ext/issues/41 for planned developments.

Quick Jump

Community Videos

Thanks @rexelbartolome for making these videos:

FAQ

Q: How does the base_size, max_size system work?

A:

It is an alternative to AUTO's highres fix that works for all modes, not just txt2img.

The selection will be resized such that the shorter dimension is base_size. However, if the aforementioned resize causes the longer dimension to exceed max_size, the shorter dimension will be resized to less than base_size. Setting base_size and max_size higher can be used to generate higher resolution images (along with their issues), essentially disabling the system, though it might make sense for img2img mode.

This is actually smarter than the builtin highres fix + firstphase width/height system. Thank the original plugin writer, @sddebz, for writing this.


Q: Outpainting tab?

A: While the outpainting tab is still WIP, the outpainting scripts (under img2img tab) works perfectly fine! Alternatively, if you want more control over outpainting, you can:

  1. Expand the canvas
  2. Scribble in the newly added blank area
  3. img2img on the blank area + some of the image

Q: Is the model loaded into memory twice?

A: No, it shares the same backend. Both the Krita plugin and webUI can be used concurrently.


Q: How can you commit to updating regularly?

A: It is easy for me.


Q: Will it work with other Krita plugin backends?

A: Unfortunately no, all plugins so far have different APIs. The official API is coming soon though...

UI Changelog

See CHANGELOG.md for the full changelog.

2023-01-25

  • Add ability to disable base size/max size system; Image generated will be same size as selection.

2023-01-20

  • Removed "Use selection as mask" option; Using the selection to mask generated images is now default behaviour.
  • Added "Add transparency mask" option; Choose to mask generated images by adding transparency mask, or directly flatten/crop image.
  • Top paintlayer will now be set as active layer when generation is complete.
  • New docker that shows a live preview of image generation (if enabled in WebUI).

2022-12-28

  • Added "Alt Dock Behaviour" under "SD Plugin Config".
  • Modifies default Krita dock behaviour!
    • Dragging title bar of docker now drags all stacked/tabbed dockers out instead of just one docker.
    • Dragging the tab now drags the specific docker out instead of only re-arranging the tab.
  • Enables floating stacked/tabbed dockers.
  • Enables subdividing dock areas further.
  • See: https://doc.qt.io/qt-6/qmainwindow.html#DockOption-enum
  • All generations are added to group layer per batch with generation info.
  • For batches of generations, all but the last image generated is hidden by default.

2022-12-20

  • UI Overhaul: A few miscellaneous changes with some big ones:
  • All tabs are now their own dockers to allow more flexibility in arranging.
    • "Restore Defaults" will make all dockers re-appear and arrange themselves.
  • Progress & number of pending requests now shown.
  • All dropdowns now support searching, useful if your model checkpoint list is really long.

Credits

  • @sddebz for writing the original backend API and Krita plugin while keeping the Gradio webUI functionality intact.

License

MIT for the Krita Plugin backend server & frontend plugin. Code has been nearly completely rewritten compared to original plugin by now.

Core symbols most depended-on inside this repo

setVisible
called by 23
frontends/krita/krita_diff/widgets/tips.py
set
called by 19
frontends/krita/krita_diff/config.py
update
called by 16
frontends/krita/krita_diff/widgets/checkbox.py
create_docker
called by 7
frontends/krita/krita_diff/docker.py
post
called by 6
frontends/krita/krita_diff/client.py
fix_prompt
called by 6
frontends/krita/krita_diff/utils.py
update_selection
called by 5
frontends/krita/krita_diff/script.py
action_update_config
called by 5
frontends/krita/krita_diff/script.py

Shape

Method 128
Class 48
Function 46
Route 4

Languages

Python100%

Modules by API surface

frontends/krita/krita_diff/script.py28 symbols
frontends/krita/krita_diff/client.py20 symbols
backend/utils.py16 symbols
frontends/krita/krita_diff/utils.py13 symbols
frontends/krita/krita_diff/pages/extension.py11 symbols
backend/app.py11 symbols
backend/config.py10 symbols
scripts/main.py9 symbols
frontends/krita/krita_diff/widgets/checkbox.py9 symbols
backend/structs.py9 symbols
frontends/krita/krita_diff/widgets/combo_box.py8 symbols
frontends/krita/krita_diff/docker.py7 symbols

For agents

$ claude mcp add auto-sd-paint-ext \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page