𝙆 Strong Prompt
A Fooocus-style style picker bolted onto CLIP encoding
- clip
- positive
- negative
- positive_text
- negative_text
This is KayTool's biggest node by a wide margin, and it solves a real annoyance: retyping the same style boilerplate into your prompt every time you want "cinematic" or "analog film." Strong Prompt replaces two CLIPTextEncode nodes plus a manual concatenation chain with one node that takes your own positive/negative text, optionally layers on up to six preset styles, and hands back both the encoded conditioning and the final assembled prompt as a string. It's the one place in KayTool where the author is clearly using his own pack for real generation work, not just workflow housekeeping - and the style-picker idea itself isn't new. Fooocus made exactly this pattern mainstream, trading a full prompt box for a short style name standing in for a longer, tuned fragment. Strong Prompt brings that into a ComfyUI graph instead of a fixed UI.
How it works
You write your base positive and negative prompt as usual. On top of that, Strong Prompt can pull in preset "styles" - short-named prompt fragments - from a JSON file the pack ships and lets you edit yourself; the choice list even includes a literal "edit list" entry pointing at that file, alongside real presets like Enhance, Photographic, Analog Film, Cinematic, Fantasy Art, Line Art, Surrealism, 3D Model, and Neonpunk (32 options per slot, so there's a lot more than the headline few). There are two independent ways to pull styles in: pick them from six numbered dropdowns, or type comma-separated style IDs into a text field once you already know the codes for your go-to combos. Whichever styles you select get appended into your prompt before it's sent to CLIP, and the node hands back the assembled text alongside the encoded conditioning.
The inputs and outputs that matter
What you'll actually touch as a beginner:
positive/negative- your own base prompt text, same as anyCLIPTextEncode.clip- the CLIP model to encode with. Wire it from your checkpoint loader exactly like you would for a normal text encoder; there's nothing special about which model family it expects.Strong_Prompt_1through_6- six style-preset dropdowns, each defaulting to none. Skip any you don't want.IDs- an alternative to the dropdowns: type comma-separated style numbers (e.g.001,002,003) if you already know which presets you want.Strong_Prompt_Switch/IDs_Switch(both default on) - independently kill either the dropdown-style path or the ID path without disconnecting anything.Negative_Out(default on) - turn off negative-prompt output entirely. Worth knowing that a growing class of newer models (flow-matching, guidance-distilled ones) don't act on negative prompts by default at all, so being able to just not emit one is more than a cosmetic toggle for some workflows.
Outputs: positive and negative (CONDITIONING) wire straight into your KSampler like normal. positive_text and negative_text (STRING) are the fully assembled prompt text before it went into CLIP - genuinely useful wired into a display node or a save step's metadata, so you can see exactly what your styles turned your prompt into.
How to install it
Via ComfyUI Manager: search KayTool, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/kk8bit/KayTool
then restart ComfyUI. No model downloads for this node specifically - the style presets live in a JSON file inside the pack's own resources folder. This is exactly what the README's install note about keeping resource files in place is really about: everything KayTool needs lives inside ComfyUI/custom_nodes/kaytool, so don't move or rename that folder after installing, or the style list can end up looking empty.
Common issues & troubleshooting
Style dropdowns are empty or stuck on "none." Almost always a broken path to the resources folder - the KayTool directory got renamed, moved, or installed somewhere ComfyUI Manager didn't expect. Reinstalling cleanly through the Manager usually fixes it faster than hunting for the misplaced JSON yourself.
Negative output isn't coming through. Check Negative_Out is actually on before assuming something's broken - it's an easy toggle to forget you flipped, especially since flipping it off is exactly the right move on some newer model families where negative prompts don't do anything anyway.
Nothing generates, or CLIP errors out. This node needs a real clip input same as any text encoder - wire it from the same loader you'd use for a plain CLIPTextEncode in the same workflow. There's nothing model-family-specific about the node itself; if encoding fails, the problem is almost certainly upstream in how the checkpoint or CLIP loader is wired, not in Strong Prompt.
One honest note on the pack as a whole: KayTool is a solo developer's personal utility grab-bag, built for his own convenience first per the README, not a community-standard install the way rgthree is. That's not a reliability knock, but you're debugging a smaller, less-trafficked codebase than the big-name packs - check your own graph wiring first before assuming it's a pack bug.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | STRING | The positive prompt text. (正向提示词文本。) | |
| negative | STRING | The negative prompt text. (负向提示词文本。) | |
| clip | CLIP | The CLIP model used for encoding the prompts. (用于编码提示词的CLIP模型。) | |
| Negative_Out | BOOLEAN | true | Toggle to enable/disable the output of negative prompt. (切换以启用或禁用负向提示词输出。) |
| Strong_Prompt_1 | COMBO | Select a preset style for position 1. (选择位置 1 的预设样式。) | |
| Strong_Prompt_2 | COMBO | Select a preset style for position 2. (选择位置 2 的预设样式。) | |
| Strong_Prompt_3 | COMBO | Select a preset style for position 3. (选择位置 3 的预设样式。) | |
| Strong_Prompt_4 | COMBO | Select a preset style for position 4. (选择位置 4 的预设样式。) | |
| Strong_Prompt_5 | COMBO | Select a preset style for position 5. (选择位置 5 的预设样式。) | |
| Strong_Prompt_6 | COMBO | Select a preset style for position 6. (选择位置 6 的预设样式。) | |
| Strong_Prompt_Switch | BOOLEAN | true | Toggle to enable/disable the use of presets. (切换以启用或禁用预设的使用) |
| IDs | STRING | Enter style IDs separated by commas (001,002,003). (输入预设序号或由逗号分隔的序号(例如:001,002,003) | |
| IDs_Switch | BOOLEAN | true | Toggle to enable/disable the use of style IDs. (切换以启用或禁用样式ID的使用) |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | A conditioning containing the embedded positive prompt used to guide the diffusion model. (包含嵌入式正向提示词的条件化对象,用于引导扩散模型) |
| negative | CONDITIONING | A conditioning containing the embedded negative prompt used to guide the diffusion model. (包含嵌入式负向提示词的条件化对象,用于引导扩散模型) |
| positive_text | STRING | The final synthesized positive prompt text before converting into conditioning. (转换为条件化对象之前的最终合成正向提示词文本) |
| negative_text | STRING | The final synthesized negative prompt text before converting into conditioning. (转换为条件化对象之前的最终合成负向提示词文本) |