ComfyUI-ppm

ComfyUI-ppm
★ 242

提示词负权模型补丁SDXL/FLUX支持采样器扩展
一组由作者修复/扩展的ComfyUI自定义节点,提供提示词负权支持、AttentionCouple修复、更多采样器与兼容性改进。
💡 在SDXL或FLUX工作流中用负权提示词反向描述或替换出错节点以提高兼容性
🍴 16 Forks💻 Python🔄 2026-03-04
📦
网盘下载
复制链接后前往夸克网盘下载
https://pan.quark.cn/s/c1eafc754fbb
📄 README

ComfyUI-ppm

Just a bunch of some random nodes modified/fixed/created by me and/or others. If any node starts throwing errors after an update – try to delete and re-add the node.

You can browse example workflows for FLUX and SDXL NoobAI inside ComfyUI’s “Browse Templates/Custom Nodes/ComfyUi-ppm” menu. I’ll probably add some more examples in future (but I’m kinda lazy, kek).

Nodes

CLIPNegPip

[!TIP]

See “attention_couple+negpip” or “flux_negpip” from ComfyUI’s “Browse Templates” menu.

Allows you to use negative weights in prompts. Negative weights can be used in both CFG models (such as SDXL) and Guidance-Distilled models (such as Flux) to negate a concept or a trait.

Supports:

  • SD1
  • SDXL
  • Anima
  • ~~FLUX~~ Unmaintained
  • Modified implementation of NegPiP by laksjdjf and hako-mikan. It uses ModelPatcher instead of monkey-patching, which should increase compatibility with other nodes.

    You can read more about NegPiP in the original repo. When used together with tag-based models, you should keep all commas inside weight braces (i.e. (worst quality,:-1.3) (sketch,:-1.1) instead of (worst quality:-1.3), (sketch:-1.1),).

    [!NOTE]

    CLIPNegPip is compatible with:

    ComfyUI prompt control by asagi4

    Advanced CLIP Text Encode extension by BlenderNeko

    CLIPNegPip is incompatible with:

    smZ Nodes by shiimizu (ComfyUI prompt control can replace most of its functionality)

    Comfyui_Flux_Style_Adjust by yichengup (and probably some other custom nodes that modify cond tensors)

    AttentionCouplePPM

    [!TIP]

    See “attention_couple+negpip” and “attention_couple_with_global_prompt” from ComfyUI’s “Browse Templates” menu.

    [!NOTE]

    You can also use the version from ComfyUI prompt control (doc) – it has a convenient prompt-based approach that doesn’t require to add new cond/mask nodes for each new region.

    Modified implementation of AttentionCouple by laksjdjf and Haoming02, made to be more compatible with other custom nodes.

    Inputs for new regions are managed automatically: when you attach cond/mask of a region to the node, a new cond_ / mask_ input appears. Link base_cond input to the positive conditioning used in KSampler/SamplerCustom.

    You can use multiple LatentToMaskBB nodes to set bounding boxes for AttentionCouplePPM. The parameters are relative to your initial latent: x=0.5, y=0.0, w=0.5, h=1.0 will produce a mask covering the right half of the image.

    You can adjust mask values to set region strength and use ConditioningSetAreaStrength to increase/decrease conditioning strength.

    Attention Selectors

    Model Attention Selector and CLIP Attention Selector nodes, can be used to swap the optimized attention algorithm, such as pytorch (SDPA), sage (SageAttention), xformers, etc., without restarting ComfyUI.

    DynSamplerSelect

    Modified samplers from Euler-Smea-Dyn-Sampler by Koishi-Star.

    Contains some new samplers: euler_ancestral_dy, dpmpp_2m_dy and dpmpp_3m_dy.

    Tweaking s_dy_pow may reduce blur artifacts (optimal value is 2 for euler_* samplers and -1 for dpmpp_* samplers, use -1 to disable this feature).

    CFG++SamplerSelect

    Samplers adapted to CFG++: Manifold-constrained Classifier Free Guidance for Diffusion Models by Chung et al.. Also contains converted samplers from Euler-Smea-Dyn.

    Should greatly reduce overexposure effect. Use together with SamplerCustom node. Don’t forget to set CFG scale to 1.0-2.0 and PAG/SEG scale (if used) to 0.5-1.0.

    Guidance Limiter

    Implementation of Applying Guidance in a Limited Interval Improves Sample and Distribution Quality in Diffusion Models by Kynkäänniemi et al. as a post CFG function.

    Guidance Limiter is also available as a CFGLimiterGuider guider node for SamplerCustomAdvanced.

    Epsilon Scaling (PPM)

    Modified version of ComfyUI’s Epsilon Scaling node with a hacky (and mathematically incorrect) support for v-pred ZSNR models.

    Tile Preprocessor (PPM)

    Image preprocessor for ControlNet Tile that doesn’t require any third-party libraries (aside from kornia, which is a part of ComfyUI’s requirements).

    Post-CFG nodes

    Post-CFG variants of some nodes – they should have increased compatibility with other CFG-related nodes, making it possible to chain them together:

  • RescaleCFGPost
  • RenormCFGPost
  • DynamicThresholdingSimplePost and DynamicThresholdingFullPost (based on sd-dynamic-thresholding by mcmonkey4eva)
  • Empty Latent Image (Aspect Ratio)

    Generates empty latent with specified aspect ratio and with respect to target resolution.

    CLIPTextEncodeBREAK

    A small lightweight wrapper over ConditioningConcat node. It splits prompts into chunks by BREAK keyword and produces a single concatenated conditioning.

    CLIPTokenCounter

    Counts tokens in your prompt and returns them as a string. You can use Preview Any node to display them.

    Hooks/Hijacks

    Schedulers

    Adds some schedulers to the default list from ComfyUI by replacing comfy.samplers.calculate_sigmas function:

  • ays and ays+ from AlignYourSteps scheduler modified by Extraltodeusays is the default AYS scheduler (SDXL variant) and ays+ is just ays with force_sigma_min=True
  • ays_30 and gits schedulers based on AYS_32 by Koitenshin
  • beta_1_1 – ComfyUI’s beta scheduler with both alpha and beta set to 1.0