ComfyUI Node

📝 Prompter

A prompt helper whose LLM never runs at queue time

By FiL-Design-Ai·Created 2 months ago·Updated 2 days ago· 3
📝 Prompter
  • config
  • prompt
prompt

Here's the pitch for FiL Prompter in one sentence: it's a text node whose prompt you can ask an LLM to improve while you're editing, but that makes zero LLM calls when you hit queue. The three assist buttons beside the text field - rephrase, densify, expand - call out live, edit the text in the panel, and hand it back to you. You keep the version you like; then the node behaves like any other text box and passes that text through untouched forever.

That split is the whole design, and it's worth spelling out because it inverts the usual "LLM node" deal. Most prompt-enhancer nodes call the model in the graph, on every generation - which means API spend, rate limits, and a couple of seconds of latency per run, whether you wanted the rewrite or not. Prompter instead treats the LLM as an editing assistant, not part of the render path. Wire config to it and the buttons work; leave config unwired and it still functions as a perfectly good multiline text node that feeds your CLIP Text Encode. The run itself can never call the provider, because the run never does anything but pass a string along.

The inputs that matter

There are two, and one of them is optional.

  • prompt - the text the assist buttons edit. Type it in, or wire a STRING link; a link overrides the widget. This is also the output, so what you see is what gets encoded.
  • config (optional) - from the 🔌 Provider Loader. It powers the three buttons only. No config, no buttons - but the node still works as a plain prompt holder.

Output: prompt, a STRING you wire into your pipeline's CLIP Text Encode (or into the FiL pack's own text consumers). That's genuinely all there is to it.

The buttons, and what they're for

The rewrite work is done server-side through the pack's assistant route, using the provider you picked in Provider Loader - so it inherits that node's model choice and temperature. The three moves map to the three things you actually do to a rough prompt:

  • Rephrase - clean up grammar and flow without changing meaning. For when your idea is right but it reads like a hastily typed note.
  • Densify - pack in concrete, physical detail: material, texture, light behavior, spatial depth. This is the pack's DiT-density ethos applied to your line - a boon on LLM-encoder models where vague prose stays vague, and where (emphasis:1.4) style weight syntax is meaningless anyway.
  • Expand - grow a short idea into a fuller scene, so you can prune what you don't want.

Treat them as suggestions, not final answers: each run is one model pass, so iterate until the text in the box is what you'd have written yourself, then queue with zero per-run cost and zero surprise API charges.

Installing FiL_Design_ImageMind

The pack needs ComfyUI 0.3.60+ (V3 node API); on older builds the nodes won't even appear. Easiest: ComfyUI Manager → search FiL_Design_ImageMind → install → restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/FiL-Design-Ai/FiL_Design_ImageMind.git
pip install -r FiL_Design_ImageMind/requirements.txt

Windows portable installs: run install_requirements.bat in the pack folder (it targets python_embeded). The dependency list is short - requests, aiohttp, PyYAML, Pillow, numpy, pydantic - and nothing downloads model weights. Restart and look under the 🎨 FiL Design menu.

Gotchas worth knowing

  • Buttons silently do nothing with no config. There's no error - the button area just isn't powered. Wire a Provider Loader and pick a valid model (refresh the model list first).
  • Cloud keys only if you use cloud providers. The buttons work keyless over local Ollama / LM Studio; cloud models want a key in the FiL Providers sidebar tab (🔑), and the Probe button there verifies it.
  • The pass-through is exact. Whatever ends up in the field (or on the wired link) is what the sampler's encoder reads. No hidden cleaning, no surprise rewrites at queue time - which is the point.

It's a small, unglamorous node in a bigger pack, and that's fine: as an editing aid it removes the blank-page friction of LLM prompting while keeping the cost model honest - the model only works when you're working.

Category🎨 FiL Design/🧠 LLM

Inputs (2)

NameTypeDefaultDescription
promptSTRINGThe prompt the assist buttons edit. Type it in or connect a STRING link — a link overrides the widget.
configoptFIL_PROVIDER_CONFIGConfig from Provider Loader — powers the assist buttons.

Outputs (1)

NameTypeDescription
promptSTRINGThe prompt as written — wire it into your generation pipeline.