SuperPrompter
The offline node that turns 'a man walking' into a paragraph
- generated_text
The name makes it sound like a hosted service that needs an API key. It isn't. SuperPrompter is a single ComfyUI text node that runs a small language model entirely on your machine - roborovski/superprompt-v1, a fine-tune of T5 - whose whole job is to take your short prompt and rewrite it as a long, descriptive paragraph. Text in, text out, no network calls once the model is downloaded, no key, no account. The "Unofficial" in the pack name is the honest bit: it's a community port of a model that was a genuine mini-hype moment in early 2024, built on Brian Fitzgerald's prompt-augmentation idea, after people on r/StableDiffusion asked "wait, is there a ComfyUI node for this?" and someone shipped one nine days later.
How it works
Under the hood it's embarrassingly simple, and that's the appeal. The node loads a T5 conditional-generation model in fp16, tacks a fixed instruction onto your text - Expand the following prompt to add more detail: - and lets the model generate. There's no RAG, no prompt-crafting API, no separate server. It runs torch.manual_seed(1) and samples with do_sample=True, so a given input gives you the same verbose rewrite every time. Deterministic and private: the whole trick happens in a few hundred megabytes of T5 weights cached in ~/.models.
The inputs that matter
Four inputs, and you'll fiddle with three of them:
- prompt - the string you want expanded. Give it something with actual content; "man walking" works, "nice pic" is asking a lot of a 220M-parameter model.
- max_new_tokens (default 512, up to 2048) - how long the expansion can get. This is the one that bites: crank it and you get purple prose about the lighting.
- repetition_penalty (default 1.2, 0–2) - how hard the model avoids looping. If output starts repeating itself, nudge it up.
- remove_incomplete_sentences (default on) - meant to trim a dangling half-sentence off the end. Looking at the source, the regex it uses never matches real punctuation, so treat this toggle as roughly cosmetic and just trim the tail yourself if it annoys you.
The output is a single generated_text string, and it wires straight into the text input of a CLIP Text Encode node (or a Flux/SD3 text encoder). That's the entire graph: SuperPrompter → encoder → sampler.
Installing it
Easiest is ComfyUI Manager - search for "SuperPrompter" or the pack title and install. Or the manual way:
cd ComfyUI/custom_nodes
git clone https://github.com/NeuralSamurAI/Comfyui-Superprompt-Unofficial
then restart ComfyUI. The README's own instructions have you hand-copy two files into a superprompter folder - that works, but cloning the repo is cleaner and lets Manager keep it updated. Two real dependencies: torch and transformers. ComfyUI already ships torch, so the genuinely new install is transformers, which is a chunky dependency that can occasionally collide with other nodes' versions (the shared-environment problem this ecosystem never really fixed). First run downloads the model automatically - expect a few hundred MB and a slow first load. You want a CUDA GPU for this; on CPU it technically runs in fp16 but it crawls.
Where it gets weird
Two source-level quirks worth knowing. The node "checks" whether the model is downloaded by asking if every single character of the path string is itself a path - which is never all-true - so it re-saves the model to ~/.models every fresh process. Harmless thanks to HuggingFace's own cache, just sloppy. And since the seed is hardcoded, you can't vary the expansion; it's reproducible by design, not by choice.
The honest verdict in 2026: this is a period piece. The model is tuned for the SDXL era, its output is flowery prose that diffusion models half-ignore, and the niche it filled - local prompt expansion - got swallowed by actual LLM nodes and by models that read natural language well on their own. If you want a private, offline, deterministic way to bulk up a prompt, it's a fun experiment and it works as advertised. Just don't expect it to be your daily driver.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Enter prompt here | — |
| max_new_tokens | INT | 5121–2048 | — |
| repetition_penalty | FLOAT | 1.20–2 | — |
| remove_incomplete_sentences | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| generated_text | STRING | — |