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を使用することで生成時間が約2倍になるという問題に対する不完全な解決策です。

  • 今のところ、ConceptNet拡張は使用しないでください。意図した通りに動作していません。

  • 「Gross」のような単語は複数の意味を持ち、正しい意味を推論することはできません(「嫌悪感を抱く」という意味と、税金に関する「総額」という意味など)。これにより予期しない返却語が発生する可能性があります。

  • ネガティブに「茶色の馬」といった概念が含まれている場合、うまく動作しないことがあります。これはすべてのケースで機能するわけではありません。

インストール

  1. ComfyUI ManagerのGitオプションを使用してインストールするか、このリポジトリをComfyUIのcustom_nodesディレクトリにクローンしてください:
git clone https://github.com/yourusername/ComfyUI-FluxPseudoNegativePrompt.git
  1. 必要な依存関係をインストールしてください:
pip install nltk textblob requests
  1. 必要なNLTKデータをダウンロードしてください:(使用時に自動的に実行されます)
import nltk
nltk.download('averaged_perceptron_tagger')
nltk.download('punkt')
nltk.download('wordnet')

使用方法

  1. ComfyUIインターフェースで、「prompt_processing」カテゴリ内の「Flux Pseudo Negative」ノードを探してください。

  2. ノードをワークフローに接続してください:

    • ネガティブプロンプトを入力

    • 補強したいポジティブプロンプトを入力

    • 強度パラメータ(0.0〜1.0)を調整

    • 処理複雑度を選択

    • (オプション)カスタム反意語を「単語:反意語」の形式(1行1つ)で入力

    • (オプション)ConceptNet統合を有効化

    • (オプション)LLM統合(完全変換またはフォールバック)を有効化

    • (オプション)LLM統合用のカスタムシステムプロンプトを入力

  3. ノードは以下を出力します:

    • 変換されたネガティブ概念を反映した修正済みポジティブプロンプト

    • (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: 主なFluxPseudoNegativeNodeクラスを含む

  • flux_utils.py: PhraseHandlerクラスとstrength_mapを含む

カスタマイズ

flux_utils.pyファイルを編集することで、フレーズマッピングと強度マップをカスタマイズできます。また、テキストボックスまたは1行1語のテキストファイルからカスタム反意語辞書を読み込むこともできます。さらに、3rdパーティのLLMノードにネガティブプロンプトを統合するためのカスタムシステムプロンプトを指定することも可能です(このノードにはすでに3つのテスト済み/検証済みプロンプトが同梱されています)。

注意

このノードは、高度なNLP機能やモデルを使用する場合、かなりの計算リソースを必要とします。パフォーマンスは、システムの性能と入力プロンプトの複雑さによって異なります。

このモデルで生成された画像

画像が見つかりません。