NAI 负面提示词处理器
Blocks for your negative prompt
- prompt
- 负面提示词
- 摘要
The plain negative prompt node just holds text. NAI 负面提示词处理器 (Negative Prompt Processor) is the one that does things to the text before it goes out - randomization, Prompt Chunks, emphasis, and the V5-specific trick where quoted phrases get auto-wrapped into official teXt: blocks. If you've ever wanted a negative prompt that picks from a pool of words per run, or wondered what the NovelAI teXt: syntax is actually for, this is the node.
You feed it a base NAI_NEGATIVE_PROMPT, a JSON block of chunks, a seed, and a render string, and it hands back a processed NAI_NEGATIVE_PROMPT plus a 摘要 summary describing what it did. There's a matching positive processor that behaves identically; the two are separate only because the pack types prompts by polarity so you can't cross-wire them.
What the inputs do
- prompt - the base
NAI_NEGATIVE_PROMPT. This is your fixed text; the processor layers the chunks and randomization on top. - chunks_json - a multiline JSON string (default
{}), the workhorse field. This is where you define named chunks of text and randomization pools - groups of alternatives that the processor picks from, seeded by theseedinput. Same seed, same pick, which is what makes a randomized negative reproducible across runs and resumable if the request dies. - seed - 0 to 4294967295. Drives any randomization in the chunks. Change it to roll different picks.
- render_text - a text field that controls how the final prompt is assembled (which chunks are active, how they're joined). Default empty = use everything.
The V5 detail worth knowing: for any quoted text in the prompt, the processor auto-generates an official teXt: block, and it deliberately skips blocks you've already written by hand - so no double-wrapping. teXt: is NovelAI's mechanism for text-rendering-in-image, and having it work automatically inside a ComfyUI node is genuinely convenient.
Outputs
负面提示词 (the processed NAI_NEGATIVE_PROMPT) goes into any sampler's negative socket. 摘要 is a string describing the processing that happened - handy to pipe into a text display to confirm your random chunks actually resolved the way you wanted before the request goes out (and before it costs Anlas).
Install and the honest caveat
Search ComfyUI-NovelAI-GENYTOOLS in ComfyUI Manager, or git clone https://github.com/XTOGENY/ComfyUI-NovelAI-GENYTOOLS.git into custom_nodes, pip install -r its requirements, and set your Persistent API Token in ComfyUI settings.
The caveat is the one every negative-prompt tool carries these days: a negative only pushes on the model if the model's CFG actually has an unconditional path to steer against. NovelAI's models do, so negatives remain meaningful here - but randomization is a lever for exploring, not a magic quality knob. Use the processor when you want a per-run variable negative (different anatomical boogeymen, different "avoid this style" pools) across a batch. For a fixed negative you trust, the plain prompt node plus the join node is fewer moving parts and less to debug.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | NAI_NEGATIVE_PROMPT | — | |
| chunks_json | STRING | {} | — |
| seed | INT | 00–4294967295 | — |
| render_text | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| 负面提示词 | NAI_NEGATIVE_PROMPT | — |
| 摘要 | STRING | — |