ComfyUI to NovelAI Prompt
Turn (tag:1.3) weights back into NovelAI's brace syntax
- STRING
Most people move prompts in the other direction - grab something off NovelAI, bring it into ComfyUI, keep refining it there. But sometimes you want the return trip: you've dialed in a prompt in ComfyUI, complete with (tag:1.3)-style weights, and you want to take that exact thing back to NovelAI's own site - to use its upscaler, run it on mobile, whatever the reason. Paste ComfyUI weight syntax into NAI's prompt box and it means nothing there; NAI wants curly braces and square brackets. ComfyToNovelAIPrompt does that conversion.
It's the mirror image of the pack's other converter, NovelAIToComfyPrompt, run backwards: instead of turning NAI's stacking braces into (tag:weight), it turns (tag:weight) back into stacking braces. (tag:1.05) becomes {tag}, (tag:1.10) becomes {{tag}}, and the same pattern runs the other way for weakening - (tag:0.95) to [tag], (tag:0.90) to [[tag]], with additional brace nesting for weights further from 1.0. It also keeps the same special-casing its sibling uses for character (series) groupings and artist: tags, so round-tripping a prompt through both nodes doesn't slowly corrupt those parts on the way there and back.
The input and output
One required field, prompt - a multiline string, the ComfyUI-weighted prompt you want translated. One output, an unnamed STRING. The thing to keep in mind is where that output actually goes: unlike its sibling, whose output plugs straight into a CLIPTextEncode, this one's destination is usually outside ComfyUI entirely - you copy the resulting text and paste it into NovelAI's own prompt box. It's a formatting step for handing a prompt to somewhere else, not a link in a ComfyUI sampling chain.
How to install it
Through ComfyUI Manager: search "ComfyUI NAI Prompt Converter", install. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/raspie10032/ComfyUI_RS_NAI_Local_Prompt_converter
then restart ComfyUI. It ships alongside NovelAIToComfyPrompt and NAIPromptExtractor in the same pack - one install gets you all three. No models, no dependencies, no API key; it's local string processing, full stop, which is also why the pack is named the way it is (the author's other project, ComfyUI_RS_NAI_API_Request, is the one that actually calls NovelAI's paid API - this pack never does).
Common issues & troubleshooting
The weight didn't come back the way you expect. ComfyUI weights are continuous floats - people commonly work in something like the 0.5–1.5 range around 1.0 - while NAI's brace system is quantized into roughly 0.05-per-level steps. A carefully tuned (tag:1.23) doesn't have a clean brace equivalent, so expect the node to snap to the nearest tier rather than reproduce the exact number. Treat the round trip as "close," not "identical," especially for prompts you hand-tuned with fine-grained weights.
A tag that reads great on your local model does nothing on NovelAI. This is the same trap as the reverse conversion, just flipped: the node only rewrites syntax, it has no model awareness. If a tag or phrase works well on Illustrious or NoobAI specifically, there's no guarantee NovelAI's own model responds to it the same way - that's a training-data difference, not something this node touches.
You're not sure which converter you need. If you're bringing a prompt into ComfyUI, this is the wrong node - use NovelAIToComfyPrompt instead. This one is specifically for the outbound trip, ComfyUI syntax going back to NAI's.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |