ComfyUI Node
NeuralBooru
A ComfyUI node in NeuralBooru with 20 inputs and 3 outputs.
NeuralBooru
- prompt
- dropped_tags
- tags
◄user_promptdescribe your scene here►
◄system_promptYou convert a scene description into Danbooru tags for an anime image model. Output ONLY lowercase tags separated by commas. No sentences, no explanations, no numbering, no category words. Write attributes in real Danbooru tag style: 'blue eyes' not 'eye color blue', 'black hair' not 'hair color black'. Use spaces, not underscores. Use 1girl, 1boy, 2girls, etc. for people. Do NOT add quality tags like masterpiece, best quality, absurdres, score_9 - those are added separately.
Example input: a cheerful blonde girl in a red dress on a beach at sunset
Example output: 1girl, blonde hair, long hair, smile, red dress, beach, sunset, ocean, sky, cloud, standing
Example input: a lone samurai in the rain at night
Example output: 1boy, solo, samurai, japanese clothes, katana, rain, night, wet, serious, outdoors
Now output tags only for the next description. /no_think►
◄prompt_templatemasterpiece, best quality, amazing quality, 4k, very aesthetic, high resolution, ultra-detailed, absurdres, newest, scenery, {prompt}, BREAK, depth of field, volumetric lighting►
◄modelqwen/qwen3-1.7b►
◄enable_thinkingfalse►
◄temperature0.40►
◄max_tokens500►
◄seed0►
◄lm_studio_urlhttp://localhost:1234►
◄validate_tagstrue►
◄strict_tagstrue►
◄fuzzy_cutoff0.00►
◄min_post_count0►
◄max_tags0►
◄timeout120►
◄api_key►
◄exclude_categories►
◄on_errorraise►
◄template_presetcustom►
◄sort_tagstrue►
CategoryNeuralBooru
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| user_prompt | STRING | describe your scene here | Plain-English scene description to convert into tags. |
| system_prompt | STRING | You convert a scene description into Danbooru tags for an anime image model. Output ONLY lowercase tags separated by commas. No sentences, no explanations, no numbering, no category words. Write attributes in real Danbooru tag style: 'blue eyes' not 'eye color blue', 'black hair' not 'hair color black'. Use spaces, not underscores. Use 1girl, 1boy, 2girls, etc. for people. Do NOT add quality tags like masterpiece, best quality, absurdres, score_9 - those are added separately. Example input: a cheerful blonde girl in a red dress on a beach at sunset Example output: 1girl, blonde hair, long hair, smile, red dress, beach, sunset, ocean, sky, cloud, standing Example input: a lone samurai in the rain at night Example output: 1boy, solo, samurai, japanese clothes, katana, rain, night, wet, serious, outdoors Now output tags only for the next description. /no_think | Instructions for the LLM. Edit to change tagging behavior. |
| prompt_template | STRING | masterpiece, best quality, amazing quality, 4k, very aesthetic, high resolution, ultra-detailed, absurdres, newest, scenery, {prompt}, BREAK, depth of field, volumetric lighting | Final prompt wrapper; {prompt} is replaced with the validated tags. If {prompt} is missing, tags are appended. |
| model | STRING | qwen/qwen3-1.7b | Model id as the server reports it (see /v1/models). |
| enable_thinking | BOOLEAN | false | Allow reasoning-mode models to think before answering. Slower; output is cleaned either way. |
| temperature | FLOAT | 0.400–2 | — |
| max_tokens | INT | 50050–2000 | — |
| seed | INT | 00–4294967295 | Change to re-roll the LLM call; also sent to the API. |
| lm_studio_url | STRING | http://localhost:1234 | Base URL of any OpenAI-compatible server: LM Studio (:1234), Ollama (:11434), llama.cpp, vLLM. |
| validate_tags | BOOLEAN | true | Check every tag against the real Danbooru vocabulary. |
| strict_tags | BOOLEAN | true | Drop candidates that match no real tag. Off keeps them raw. |
| fuzzy_cutoff | FLOAT | 0.000–1 | Remap near-miss tags by similarity (0.8+ recommended). 0 disables fuzzy matching. |
| min_post_count | INT | 00–1000000 | Drop tags with fewer Danbooru posts than this. 0 keeps all. |
| max_tags | INT | 00–200 | Keep at most this many tags. 0 means no limit. |
| timeoutopt | INT | 12010–600 | Seconds to wait for the LLM response. |
| api_keyopt | STRING | Optional Bearer token for servers that require auth (vLLM, remote endpoints). Leave empty for LM Studio/Ollama. | |
| exclude_categoriesopt | STRING | Tag categories to drop, comma-separated: artist, character, copyright, meta, general. | |
| on_erroropt | COMBO | raise | raise: fail the workflow with a visible error. use_input_text: put your raw description in the template. |
| template_presetopt | COMBO | custom | Quality-tag wrapper for common model families. custom uses the prompt_template field above. |
| sort_tagsopt | BOOLEAN | true | Reorder tags Danbooru-style: people counts, character, copyright, artist, general, meta. Booru-trained models respond to this order. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | Validated tags wrapped in the prompt template, for your CLIP encoder. |
| dropped_tags | STRING | Candidates that failed validation, comma-separated. |
| tags | STRING | The validated tags alone, without the template. |