NAI 正面提示词
The NovelAI prompt box, minus the guesswork
- 正面提示词
This is the box you type your prompt into when you're generating through NovelAI inside ComfyUI. It looks almost too simple to be worth an article, but it's the node the whole ComfyUI-NovelAI-GENYTOOLS pack spins around, and a couple of its design choices save you from very boring mistakes.
What it actually is
NAIPositivePromptV2 is a single multiline text field (it defaults to 1girl, masterpiece) and it hands that text out as a typed NAI_POSITIVE_PROMPT port. That's it. It doesn't call the API, it doesn't spend Anlas, it doesn't even touch an image. It's a holder node - the NovelAI equivalent of ComfyUI's built-in CLIP Text Encode, minus the CLIP model.
The typed port is the part that matters. Negative prompts in this pack use a different type, NAI_NEGATIVE_PROMPT, so you physically can't plug your negative prompt into the positive input of the sampler and find out two hundred Anlas later. The sampler (NAITextToImageSamplerV2) checks both polarities, and the type system does the enforcement for you on the canvas. Given how many hours the community has collectively burned on flipped prompts in other packs, this is a thoughtful little bit of plumbing.
How to use it
NovelAI is a booru-tag model, so write to its vocabulary: comma-separated Danbooru-style tags like 1girl, long hair, blue eyes, outdoors, masterpiece. The quality tags actually do something here - masterpiece, best quality are real training vocabulary on the anime SDXL lineage, not inert noise. Keep the most important tags near the front; earlier tokens get stronger attention. The text is passed through to the NovelAI API as-is, so whatever emphasis syntax the current model supports (the {tag} style weights) survives untouched.
Wire the output into the positive input on the sampler, then feed the sampler a NAI_PIPE from the model loader plus a core/advanced settings node. If you're building a bigger workflow, you can also run this output through the join or processor nodes before it reaches the sampler - they all accept the same typed port.
Installing it
You install the pack, not the node. ComfyUI Manager is the easy route: search "ComfyUI-NovelAI-GENYTOOLS". Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/XTOGENY/ComfyUI-NovelAI-GENYTOOLS.git
pip install -r ComfyUI-NovelAI-GENYTOOLS/requirements.txt
Restart ComfyUI after that. Dependencies are light - requests, Pillow, numpy, msgpack - and there are no model files to download, because generation happens on NovelAI's servers, not your GPU.
One setup step you can't skip: this is an unofficial community pack that calls the real NovelAI API, so you need a Persistent API Token from your NovelAI account settings. Paste it into ComfyUI's settings under NovelAI 2.0: Persistent API Token. It's kept in backend memory and local user settings - the pack is careful never to write it into node fields, workflow JSON, or saved image metadata.
Gotchas
- The node itself is free. Everything downstream of it that actually generates costs Anlas, so don't panic when this one doesn't touch your balance.
- The UI is Chinese by default (the author is Chinese and labeled everything in Chinese) - the display name here is "NAI 正面提示词". Same node, and the ports are what matter anyway.
- If you see
text:blocks or!macro!syntax in other people's workflows, that's the processor node doing its thing - you don't need them to use this node, but they're the next step up when you want randomization.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | 1girl, masterpiece | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| 正面提示词 | NAI_POSITIVE_PROMPT | — |