asagi4 / comfyui-prompt-control

ComfyUI nodes for prompt editing and LoRA control

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Does Prompt control work with SDXL?

Takeover713 opened this issue · comments

Hello, i was wondering if prompt control work with SDXL if it doesnt its fine im just wondering if i have to set it up differently.
i was trying to use prompt control to be able to use the lora loading using the prompt.
it works great for SD 1.5 models i love it its amazing. i do not get any errors and it seems to load the loras fine.
but i get an error message when trying to use the same set up with SDXL.
ill put screen shot of the error im getting and how i have the nodes hooked up. thank you.

Screenshot 2023-12-13 023337
Screenshot 2023-12-13 022530

It partially works, but I don't run SDXL that often, so it might have a bug.

Can you test with a simpler workflow? The problem might be an interaction with the other nodes in your workflow, so first test if the simplest possible SDXL workflow functions and then try adding nodes to see where it breaks.

workflow (2)
Well, it breaks on a the default workflow - same setup worked with 1.5.

I think some recent changes broke things. Not sure if it's in this package or changes in ComfyUI.

Certainly worked with SDXL a couple of weeks ago.

yea breaks on basic workflow with SDXL. works fine with 1.5. <3

Something has changed with SDXL CLIP enconding that's incompatible in some way.

Unfortunately, I don't really have any ideas as to why things aren't working; the "pooled" output from the SDXL CLIP seems to somehow result in shape errors, but to be completely honest I don't know what that even is.

The shape mismatch in question is

flat.shape=torch.Size([1, 1536]) clip_pooled.shape=torch.Size([1, 77, 2048])

but I don't know where those sizes come from; 1 is probably the batch size and 77 is the text encoder chunk size, but 1536 and 2048 don't seem to match any input parameter anywhere.

Derp, the reason was that I applied (optional) noise to the pooled with the following code: pooled = apply_noise(cond, ...) instead of apply_noise(pooled, ...)

Should be fixed now.

Thank you for your amazing work on this custom node. I greatly appreciate it.