ComfyUI Extension: Negative-attention-for-ComfyUI-

Authored by Extraltodeus

Created

Updated

8 stars

Takes the difference in between the positive and negative conditioning at the attention. NOTE: Will not work with Flux

README

Negative-attention-for-ComfyUI-

Takes the difference in between the positive and negative conditioning at the cross attention.

This is an experiment.

Only tested with SDXL and SD 1.X.

Will not work with Flux (see bottom note).

This allows to:

  • Get a negative influence without generating a negative prediction
  • Let the unconditional prediction be unconditional
  • Or doubling down by having the same done for the negative prediction (overblown results are to be expected unless using an anti-burn or low CFG scale)

In order to do this for now the negative conditioning is sneaked to the attention by being concatenated to the positive by using a special node.

image

They are then split at the half before the cross attention.

Like any model patcher, it is to be plugged right after the model loader:

image

An example workflow is provided.

Example:

No modification:

00022UI_00001_

Difference in positive and negative conditionings:

example workflow png

Difference in positive conditioning, negative conditioning empty:

00023UI_00001_

No modification using empty negative conditioning:

00025UI_00001_

Note

I haven't managed to make this work with anything but SDXL / SD1.5

I did spend two hours looking for how to patch the equivalent of the cross attention for Flux but did not find how (like the keywords for the patch or something).

Any help appreciated!