Flux Pseudo Negative Prompt. ComfyUI Custom Node with workflow. No hit to gen times!
详情
下载文件
模型描述
FluxPseudoNegative:一个将负面提示转换为正面属性的ComfyUI节点
FluxPseudoNegative 是一个专为 ComfyUI 设计的高级自定义节点,可将负面提示转换为正面提示。它旨在优化图像生成模型的提示工程,尤其适用于那些原生不支持负面提示,或使用负面提示会显著增加生成时间的模型。与其强行修改 CFG,我们只需反转你的负面词汇并找到它们的反义词!
目前有一些有前景的技术可以让负面提示在 Flux 中正常工作,这些技术可能会让本方案完全过时……但既然我已经完成了这项工作,我决定至少完成一个最小可行节点并发布它。
功能
多种反义词查找策略:
自定义短语处理
WordNet
NLTK
Hugging Face Transformers
针对多词概念的全面短语处理
用于强度调整的情感分析
利用词嵌入进行概念扩展
可选的 ConceptNet 集成以扩大反义词范围
多级处理复杂度:基础、高级、专家
可选的 LLM 集成,用于未识别词汇或完整提示转换
用户可自定义反义词与系统提示
注意事项
本方案并非追求完美!它只是一个应对 CFG 导致生成时间翻倍问题的不完美解决方案。
目前我不建议使用 ConceptNet 扩展,因为它未按预期工作。
像 "Gross" 这样的词具有多重含义,无法自动推断正确含义(“令人厌恶”是一个意思,而在税务语境中也可能表示“总额”)。这可能导致意外的返回词。
若负面提示中包含如 "Brown Horse" 这样的概念,可能无法良好处理。同样,本方案并非对所有情况都适用。
安装
- 通过 ComfyUI Manager 的 Git 选项安装,或克隆此仓库至你的 ComfyUI
custom_nodes目录:
git clone https://github.com/yourusername/ComfyUI-FluxPseudoNegativePrompt.git
- 安装所需依赖:
pip install nltk textblob requests
- 下载所需的 NLTK 数据:(使用时会自动完成)
import nltk
nltk.download('averaged_perceptron_tagger')
nltk.download('punkt')
nltk.download('wordnet')
使用方法
在 ComfyUI 界面中,于 "prompt_processing" 类别下找到 "Flux Pseudo Negative" 节点。
将节点连接到你的工作流:
输入你的负面提示
输入一个待增强的正面提示
调整强度参数(0.0 至 1.0)
选择处理复杂度等级
(可选)在文本框中提供自定义反义词,格式为 "词:反义词"(每行一个)
(可选)启用 ConceptNet 集成
(可选)启用 LLM 集成(完整转换或回退模式)
(可选)为 LLM 集成提供自定义系统提示
节点输出:
一个融合了转换后负面概念的修改后正面提示
(若启用 LLM 集成)一个供进一步处理的 LLM 输入字符串
参数
negative_prompt:待转换的负面提示positive_prompt:可选的待增强正面提示strength:反义词影响强度(0.0 至 1.0)complexity:处理复杂度等级(基础、高级、专家)custom_antonyms:可选的自定义反义词映射use_conceptnet:启用 ConceptNet 进行概念扩展use_llm_full:启用基于 LLM 的完整提示转换use_llm_fallback:启用基于 LLM 的未识别词回退机制custom_system_prompt:用于 LLM 集成的自定义系统提示
文件结构
__init__.py:初始化 ComfyUI 节点FluxPseudoNegative.py:包含主类FluxPseudoNegativeNodeflux_utils.py:包含PhraseHandler类和strength_map
自定义
你可以通过修改 flux_utils.py 文件来自定义短语映射和强度映射。你也可以在文本框中或从文本文件(每行一个)加载自定义反义词词典。你还可以指定自定义 LLM 系统提示,以便在第三方 LLM 节点中集成并转换你的负面提示(本节点已内置 3 个已测试/验证的提示)。
注意
本节点需要大量计算资源,尤其在使用高级 NLP 功能和模型时。性能将根据你的系统能力及输入提示的复杂度而有所不同。










