Draw Things Negative Prompt
The tiny node that keeps text, watermarks, and bad anatomy out of your draws
- NEGATIVE
One multiline box, one string output, zero subtlety: DrawThingsNegative is the "stuff I don't want in the picture" node for the Draw Things pack. It pairs with DrawThingsPositive - that one carries what you want, this one carries what you don't - and both just feed plain text into the sampler, which forwards it to the Draw Things server. The server does the encoding, not ComfyUI.
It's the least glamorous node in the pack and honestly the one you'll touch the most while fiddling. The default text is already sensible: text, watermark. That single line kills a shocking amount of gibberish text and artifact watermarks that SD-family models love to sprinkle in, and it's the first thing beginners should try before blaming the checkpoint.
One note you'll see in every article about this pack: the repo is deprecated and unmaintained, and the README points to the official draw-things-comfyui extension instead. The node still works fine.
How it works
The node returns your text as a STRING, and the sampler stuffs it into the negativePrompt field of the gRPC request. Draw Things' text encoder turns it into the unconditional/negative conditioning that classifier-free guidance steers away from. That's the whole mechanism - there's no filtering, no list of banned words, just a prompt string the engine treats as "the opposite direction."
The input and output
- negative - multiline string, default
text, watermark. Keep it short and concrete. "Blurry, ugly, deformed, bad anatomy" is a classic, but long negative walls dilute the effect - a few sharp, high-priority negatives beat twenty vague ones. - NEGATIVE output (
STRING) → sampler'snegativeinput.
That's the entire wiring: NEGATIVE to negative.
Installing it
ComfyUI Manager, search ComfyUI-DrawThings-gRPC, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Jokimbe/ComfyUI-DrawThings-gRPC
Restart ComfyUI. Server side must be set up too: Draw Things app with API Server enabled, gRPC protocol, TLS on, Model Browser on, Response Compression off (or gRPCServerCLI with --no-response-compression --model-browser).
Troubleshooting
The big one: your negative prompt appears to do nothing. The usual reason is CFG. Negative prompts work by giving the unconditional pass something to push away from - and on guidance-distilled models (Flux-era checkpoints and friends), the real default CFG is 1, where there is no unconditional pass and the negative field is effectively inert. This is a documented community finding, not a bug in this node. On classic SD 1.5/SDXL checkpoints with CFG 4–7, the negative does real work. So if your negatives feel dead, check what kind of model you're sampling with and what CFG it wants, before you start blaming the text box.
Also worth knowing: DrawThingsPrompt - the pack's other prompt node - can be wired to the sampler's negative input too, which is how you'd drop a negative embedding into the mix. But for day-to-day "keep the watermark out," this plain node is the one you want.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| negative | STRING | text, watermark | The conditioning describing the attributes you want to exclude from the image. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| NEGATIVE | STRING | — |