Acly / krita-ai-diffusion

Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required.
GNU General Public License v3.0
5.76k stars 268 forks source link

Problems with version 1.20.0 #920

Closed leodina75 closed 1 week ago

leodina75 commented 1 week ago

I already uninstalled and installed again, I ran it on krita 5.2.2 and 5.2.3, always the same thing, anyone with the same problem?

Captura de tela 2024-07-07 203036

TypeError Python 3.10.7: C:\Program Files\Krita (x64)\bin\krita.exe Sun Jul 7 20:32:41 2024

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\diffusion.py in update_content(self=) 126 self._frame.setCurrentWidget(self._welcome) 127 elif model.workspace is Workspace.generation: 128 self._generation.model = model 129 self._frame.setCurrentWidget(self._generation) 130 elif model.workspace is Workspace.upscaling: self = self._generation = self._generation.model = model =

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\generation.py in model(self=, model=) 599 self.generate_button.clicked.connect(model.generate), 600 ] 601 self.region_prompt.regions = model.regions 602 self.custom_inpaint.model = model 603 self.generate_button.model = model self = self.region_prompt = self.region_prompt.regions = model = model.regions =

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py in regions(self=, regions=) 377 return 378 self._regions = regions 379 self._setup_bindings() 380 381 def _setup_bindings(self): self = self._setup_bindings = >

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py in _setup_bindings(self=) 387 regions.removed.connect(self._show_inactive_regions), 388 ] 389 self._update_active() 390 391 def _update_active(self): self = self._update_active = <bound method RegionPromptWidget._update_active ...i_diffusion.ui.region.RegionPromptWidget object>>

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py in _update_active(self=) 390 391 def _update_active(self): 392 self._setup_region_bindings(self._regions.active_or_root) 393 394 def _setup_region_bindings(self, region: RootRegion | Region | None): self = self._setup_region_bindings = > self._regions = self._regions.active_or_root =

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py in _setup_region_bindings(self=, region=) 394 def _setup_region_bindings(self, region: RootRegion | Region | None): 395 region = region or self._regions 396 self._prompt.region = region 397 self._control.model = region.control 398 self._show_inactive_regions() self = self._prompt = self._prompt.region = region =

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py in region(self=, region=) 187 if region != self._region: 188 self._region = region 189 self._setup_bindings(region) 190 191 def _setup_bindings(self, region: RootRegion | Region | None): self = self._setup_bindings = > region =

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py in _setup_bindings(self=, region=) 195 self._root = region 196 self._bindings = [ 197 bind(region, "positive", self.positive, "text"), 198 bind(region, "negative", self.negative, "text"), 199 ] global bind = region = self = self.positive =

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\properties.py in bind(model=, model_property='positive', widget=, widget_property='text', mode=<Bind.two_way: 2>) 103 104 # set initial value from model 105 widget_setter(getattr(model, model_property)) 106 107 if mode is Bind.one_way: widget_setter = <function _setter..set_py> builtingetattr = model = model_property = 'positive'

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\properties.py in set_py(value=['31', 0]) 152 def _setter(inst, property: str): 153 def set_py(value): 154 setattr(inst, property, value) 155 156 qt_setter_name = f"set{property.capitalize()}" builtinsetattr = inst = property = 'text' value = ['31', 0]

C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\widget.py in text(self=, value=['31', 0]) 529 return 530 if self._line_count > 1: 531 self._multi.setPlainText(value) 532 else: 533 self._single.setText(value) self = self._multi = self._multi.setPlainText = value = ['31', 0] TypeError: setPlainText(self, str): argument 1 has unexpected type 'list' cause = None class = <class 'TypeError'> context = None delattr = <method-wrapper 'delattr' of TypeError object> dict = {} dir = doc = 'Inappropriate argument type.' eq = <method-wrapper 'eq' of TypeError object> format = ge = <method-wrapper 'ge' of TypeError object> getattribute = <method-wrapper 'getattribute' of TypeError object> gt = <method-wrapper 'gt' of TypeError object> hash = <method-wrapper 'hash' of TypeError object> init = <method-wrapper 'init' of TypeError object> init_subclass = <built-in method init_subclass of type object> le = <method-wrapper 'le' of TypeError object> lt = <method-wrapper 'lt' of TypeError object> ne = <method-wrapper 'ne' of TypeError object> new = reduce = reduce_ex = <built-in method reduce_ex of TypeError object> repr = <method-wrapper 'repr' of TypeError object> setattr = <method-wrapper 'setattr' of TypeError object> setstate = sizeof = str = <method-wrapper 'str' of TypeError object> subclasshook = __suppress_context = False traceback__ = args = ("setPlainText(self, str): argument 1 has unexpected type 'list'",) with_traceback =

The above is a description of an error in a Python program. Here is the original traceback:

Traceback (most recent call last): File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\diffusion.py", line 128, in update_content self._generation.model = model File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\generation.py", line 601, in model self.region_prompt.regions = model.regions File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py", line 379, in regions self._setup_bindings() File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py", line 389, in _setup_bindings self._update_active() File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py", line 392, in _update_active self._setup_region_bindings(self._regions.active_or_root) File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py", line 396, in _setup_region_bindings self._prompt.region = region File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py", line 189, in region self._setup_bindings(region) File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\region.py", line 197, in _setup_bindings bind(region, "positive", self.positive, "text"), File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\properties.py", line 105, in bind widget_setter(getattr(model, model_property)) File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\properties.py", line 154, in set_py setattr(inst, property, value) File "C:\Users\55759\AppData\Roaming\krita\pykrita\ai_diffusion\ui\widget.py", line 531, in text self._multi.setPlainText(value) TypeError: setPlainText(self, str): argument 1 has unexpected type 'list'

leodina75 commented 1 week ago

"When opening images generated by Auto1111 or basic ComfyUI workflows, the prompt is now read from the image"

This is happening with images coming in PNG from comfyUI, it must be this prompt reader, my workflows have an average of 25 to 30 nodes.

leodina75 commented 1 week ago

ComfyUI_01983_

gmf1982 commented 1 week ago

Try updating comfyui-inpaint-nodes

Acly commented 1 week ago

This is happening with images coming in PNG from comfyUI, it must be this prompt reader

Yes it has trouble with the prompt string being constructed from nodes. Fixed in https://github.com/Acly/krita-ai-diffusion/commit/088f0bc06ef19308e37a6a0e38ace22a88c0b3cf (it won't load the prompt, but makes the error go away)

leodina75 commented 1 week ago

you can also add the node "Save Image with Generation Metadata" in the ComfyUI workflow, it will generate the necessary metadata.

thanks Acly and gmf1982