Nodes Browser
ComfyDeploy: How ComfyUI Prompt ExtraNetworks works in ComfyUI?
What is ComfyUI Prompt ExtraNetworks?
Instead of LoraLoader or HypernetworkLoader, it receives a prompt and loads and applies LoRA or HN based on the specifications within the prompt. The main purpose of this custom node is to allow changes without reconnecting the LoraLoader node when the prompt is randomly altered, etc.
How to install it in ComfyDeploy?
Head over to the machine page
- Click on the "Create a new machine" button
- Select the
Edit
build steps - Add a new step -> Custom Node
- Search for
ComfyUI Prompt ExtraNetworks
and select it - Close the build step dialig and then click on the "Save" button to rebuild the machine
ComfyUI Prompt ExtraNetworks
これは ComfyUI 用のカスタムノードです。
LoraLoader
や HypernetworkLoader
の代わりにプロンプトを受け取って、プロンプト内の指定によって LoRA や HN を読み込み適用します。
このカスタムノードの主目的は、プロンプトがランダムに変更されるときなどに LoraLoader
ノードを繋ぎ直さずに変更できるようにすることです。
機能
LoRA
以下の文法をプロンプトに含めることでLoRAを読み込みます。
<lora:lora-filename[:model_strength[:clip_strength]][:cache={always|once|none}]>
- lora-filename: LoRAのファイル名。拡張子も含めて指定してください。(LoraLoaderで指定するファイル名と同じ)
- model_strength: モデルへの適用率。省略した場合は
1.0
になります。 - clip_strength: CLIPへの適用率。省略した場合は
model_strength
と同じになります。 - cache: LoRAのロードをキャッシュします。デフォルトは
none
です。- always: 常にキャッシュを行います。
- once: 一度だけキャッシュを行います。
- none: キャッシュを行いません。
LoRA Block Weight
ComfyUI-Inspire-Pack をインストールしている場合、以下のように書くことで LoRA Block Weight を使用することが出来ます。
<lora:lora-filename[:model_strength[:clip_strength]][:lbw=lbw_preset][:cache={always|once|none}]>
- lbw_preset:
SDXL-ALL
などのプリセット名か1,0,0,0,0,0,1,1,1,1,1,1
など直接ウェイト表記- ComfyUI-Inspire-Pack で使用できるプリセット名が使用できます
キャッシュについて
十分速いストレージの場合は劇的な効果は期待できません。
また、OSのファイルシステムキャッシュが効いている場合などほとんど効果が見られない場合もあります。
キャッシュを使用するにしても always
は大体の場合不要で、once
で十分なことが多いはずです。
(once
を指定しても毎回読み込まれる LoRA は毎回更新されてキャッシュされ続けることになるため)
ControlNet / T2I-Adapter (Experimental)
以下の文法をプロンプトに含めることで ControlNet / T2I-Adapter を読み込みます。
<controlnet:controlnet-model:controlnet-image[:strength[:start percent[:end percent]]][:cache={always|once|none}]>
- controlnet-image: このカスタムノードの
controlnet_images
にある画像のファイル名
LoRA / HyperNetwork と違い CLIPTextEncode
のあとの CONDITIONING
で作用するため、1つのノードでプロンプト処理と適用を行うことが出来ません。
そのため、CLIPTextEncode
の前に PromptControlNetPrepare
ノードでプロンプトの処理を行い、その後に PromptControlNetApply
ノードで適用を行います。
HyperNetwork
以下の文法をプロンプトに含めることでHyperNetworkを読み込みます。
<hypernet:hn-filename[:strength]>
- hn-filename: HyperNetworkのファイル名。拡張子も含めて指定してください。(HypernetworkLoaderで指定するファイル名と同じ)
- strength: モデルへの適用率。
この機能はテストされていません。
その他
WebUI Monaco Prompt のスニペットに対応しています。