StableDiffusionInpaintPipeline 'NoneType' is not iterable

from diffusers import StableDiffusionInpaintPipeline
import torch
from PIL import Image

# Configurazione dispositivo
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

# Configurazione modello
model_path = "D:/ai/stable-diffusion-xl/stable-diffusion-xl-1.0-inpainting-0.1"

pipe = StableDiffusionInpaintPipeline.from_pretrained(
    model_path,
    torch_dtype=torch.float16,
    use_safetensors=True,
    variant="fp16",
    safety_checker=None
).to(device)

# Crea un'immagine vuota e una maschera per il test
init_image = Image.new("RGB", (768, 768), (255, 255, 255))  # Immagine bianca
mask = Image.new("L", (768, 768), 255)  # Maschera tutta bianca (genera tutto)

# Parametri
prompt = "donna realistica che guarda la luna riflessa in uno stagno, scena notturna, atmosfera onirica"
negative_prompt = "bassa qualità, sfocato, artefatti, distorsioni"

# Test generazione senza embedding personalizzati
image = pipe(
    prompt=prompt,
    negative_prompt=negative_prompt,
    image=init_image,
    mask_image=mask,
    height=768,
    width=768,
    num_inference_steps=30,
    guidance_scale=7.5,
    generator=torch.Generator(device=device).manual_seed(42)
).images[0]
image.save("test.png")

# Libera memoria
torch.cuda.empty_cache()
Traceback (most recent call last):
  File "D:\ai\stable-diffusion-xl\outpaint\test.py", line 118, in <module>
    image = pipe(
  File "c:\program files\python310\lib\site-packages\torch\utils\_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
  File "c:\program files\python310\lib\site-packages\diffusers\pipelines\stable_diffusion\pipeline_stable_diffusion_inpaint.py", line 1384, in __call__
    noise_pred = self.unet(
  File "c:\program files\python310\lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "c:\program files\python310\lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl
    return forward_call(*args, **kwargs)
  File "c:\program files\python310\lib\site-packages\diffusers\models\unets\unet_2d_condition.py", line 1145, in forward
    aug_emb = self.get_aug_embed(
  File "c:\program files\python310\lib\site-packages\diffusers\models\unets\unet_2d_condition.py", line 966, in get_aug_embed
    if "text_embeds" not in added_cond_kwargs:
TypeError: argument of type 'NoneType' is not iterable
1 Like

It seems to be a more complicated issue than expected.

And / or maybe you need SDXL instead of SD.

#from diffusers import StableDiffusionInpaintPipeline
from diffusers import StableDiffusionXLInpaintPipeline

#pipe = StableDiffusionInpaintPipeline.from_pretrained(
pipe = StableDiffusionXLInpaintPipeline.from_pretrained(

model_path = "D:/ai/stable-diffusion-xl/stable-diffusion-xl-1.0-inpainting-0.1" # <= SDXL

#pipe = StableDiffusionInpaintPipeline.from_pretrained(
pipe = StableDiffusionXLInpaintPipeline.from_pretrained(