Nodes/DeepSeek ComfyUI Illustrious Prompt Plugin/DeepSeek Illustrious Prompt - v1.8
ComfyUI Node

DeepSeek Illustrious Prompt - v1.8

A DeepSeek prompt writer for Illustrious

By 1456745460·Created 3 months ago·Updated about a month ago· 2
DeepSeek Illustrious Prompt - v1.8
  • llm_config
  • positive_prompt
  • positive_prompt_chinese
  • negative_prompt
  • raw_response
model_namedeepseek-v4-flash
custom_model
system_prompt
quality_style_lora_promptmasterpiece, best quality, high quality, absurdres,(toosaka asagi:0.3),(ask_(askzy):0.5),painterly rendering,(matte skin:1.1),(matte style:1.1),Clear lines,manai,Jeddtl02,s1_dram,nsfw
base_positive_prompt
base_negative_promptworst quality, low quality, lowres, photorealistic, raw photo, 3d, cgi, plastic render, oil painting, impasto, thick brush strokes, rough brushwork, watercolor, sketch, lineart, hard cel shading, harsh outlines, oversaturated, strong contrast, crushed blacks, harsh lighting, sharp specular highlights, wet skin, oily skin, sweaty skin, plastic skin, excessive skin pores, hyper-detailed skin, heavy film grain, noisy image, gritty texture, excessive bloom, glowing skin, blurry, foggy, cluttered background, bad anatomy, bad hands, extra fingers, deformed legs, fused legs, bed, glasses
description
style_presetstoryboard-director
json_retry_count3
temperature0.20
max_tokens8192
enable_thinkingtrue
reasoning_efforthigh
base_urlhttps://api.deepseek.com/v1

The one-sentence pitch

You type "校园午后,一个白发少女坐在窗边,午后阳光穿过窗户" into a box, this node calls the DeepSeek API, and a second later it hands you a cleaned, deduplicated Illustrious-compatible tag list (1girl, white hair, school uniform, sitting, sunlight through window, …) plus a Chinese translation you can sanity-check. It's the classic LLM-in-the-graph prompt enhancer, aimed squarely at the Illustrious / Danbooru anime family.

Two things to know up front so nothing surprises you. First, this is a cloud node, not a local one. There's no model file to download, no VRAM cost - it's an HTTP client carrying your DeepSeek API key, and every run costs a little money per call. Second, the name is honest: it's built for Chinese in, English tags out, because the author's framing and the shipped system prompt are written for exactly that. If you're an English speaker you can still use it; you're just not the primary audience.

How it works

The node builds a request to DeepSeek's Chat Completions endpoint with your description plus a system prompt that tells the model to act as a "storyboard director" and answer in one strict JSON shape: {"positive_prompt": "...", "positive_prompt_chinese": "..."}. It forces response_format={"type": "json_object"}, streams the reply, and on top of that the author leans on DeepSeek's thinking mode (enable_thinking, with a reasoning_effort of high/medium/low) so the model does its "director's checklist" in the reasoning channel and only the clean tags land in the content.

Then the glue. The negative prompt is never AI-generated - it comes straight from the node's base_negative_prompt widget, which ships with a long SDXL-style blacklist (worst quality, low quality, bad hands…). That's the right call: on Illustrious, which is still SDXL-lineage with the old CLIP encoder, negative prompts and (tag:1.2) weight syntax genuinely still work - unlike the LLM-encoded 2026 models where both are inert. And the final positive is assembled by hand: quality_style_lora_prompt + base_positive_prompt + the AI's content tags, joined, deduped, and run through an attention-weight cleaner that flattens ((tag))tag and strips the thinking output.

The inputs you'll actually touch

Most of the widget soup you can leave alone, but these matter:

  • description - required, and it errors if empty. This is where your scene goes.
  • style_preset - a dropdown populated from your config file, defaulting to storyboard-director. Switch it and the frontend auto-fills the matching system_prompt.
  • quality_style_lora_prompt - prepended to the final prompt, defaulting to quality words plus a handful of artist/LoRA trigger strings. This is deliberately the model's only source of quality words; the system prompt forbids the AI from inventing any.
  • model_name - deepseek-v4-flash by default, deepseek-v4-pro, or custom if you point at your own.
  • temperature (0.2 default), max_tokens, enable_thinking / reasoning_effort - the knobs that control cost and verbosity.

It outputs four strings: positive_prompt (what you encode), positive_prompt_chinese (the translation, for eyeballing only), negative_prompt, and raw_response (including the reasoning, for debugging). If you have the ComfyUI-LLMs-Toolkit pack, you can skip the config file entirely and feed its llm_config into the optional input - the plugin accepts that as higher priority than its own config.

Install and the key

cd ComfyUI/custom_nodes
git clone https://github.com/1456745460/deepseek-comfyui-Illustrious-prompt-plugin

Then restart ComfyUI (or use ComfyUI Manager and search "DeepSeek Illustrious"). Unusually for a custom node there's no pip install step and no requirements.txt - the pack uses Python's stdlib urllib for the API calls. The one thing you must do is put a real key in:

# custom_nodes/deepseek-comfyui-Illustrious-prompt-plugin/config/deepseek_config.ini
[deepseek]
api_key = sk-your-real-key-here

Where people get burned

The node sets IS_CHANGED to always re-run, so every queue execution calls the API again even if you changed nothing. Preview a workflow ten times and you've paid for ten generations of tags. Second, max_tokens defaults to a high 8192 partly because thinking mode eats output tokens - the node auto-boosts it on truncated replies and writes the real value back to the widget, so don't be alarmed when it moves. Third, the model name must actually exist on the DeepSeek API you're hitting; if you're using a proxy or a different account, that's what custom_model and base_url are for.

One honest caveat: it's a small pack by a single author sending your text and an uncensored system prompt to a third-party API - the shipped storyboard-director preset is explicitly written for NSFW tag production and tells the model to ignore content restrictions, which is exactly why the anime/NSFW crowd installs it. That also means: don't put anything in description you wouldn't hand to DeepSeek, and since a network-carrying node is the shape of thing this ecosystem has been burned by once, it's worth a skim of the source before you trust it with a real key.

CategoryDeepSeek/Illustrious

Inputs (15)

NameTypeDefaultDescription
model_nameCOMBOdeepseek-v4-flash3 options: deepseek-v4-flash, deepseek-v4-pro, custom
custom_modelSTRING
system_promptSTRING
quality_style_lora_promptSTRINGmasterpiece, best quality, high quality, absurdres,(toosaka asagi:0.3),(ask_(askzy):0.5),painterly rendering,(matte skin:1.1),(matte style:1.1),Clear lines,manai,Jeddtl02,s1_dram,nsfw
base_positive_promptSTRING
base_negative_promptSTRINGworst quality, low quality, lowres, photorealistic, raw photo, 3d, cgi, plastic render, oil painting, impasto, thick brush strokes, rough brushwork, watercolor, sketch, lineart, hard cel shading, harsh outlines, oversaturated, strong contrast, crushed blacks, harsh lighting, sharp specular highlights, wet skin, oily skin, sweaty skin, plastic skin, excessive skin pores, hyper-detailed skin, heavy film grain, noisy image, gritty texture, excessive bloom, glowing skin, blurry, foggy, cluttered background, bad anatomy, bad hands, extra fingers, deformed legs, fused legs, bed, glasses
descriptionSTRING
style_presetCOMBOstoryboard-director1 options: storyboard-director
json_retry_countINT30–10
temperatureFLOAT0.200–1.5
max_tokensINT8192128–8192
enable_thinkingBOOLEANtrue开启 DeepSeek 思考模式(thinking),对应 extra_body.thinking.type=enabled
reasoning_effortCOMBOhigh思考强度 reasoning_effort(仅 enable_thinking 开启时生效)
base_urloptSTRINGhttps://api.deepseek.com/v1
llm_configoptLLM_CONFIG

Outputs (4)

NameTypeDescription
positive_promptSTRING
positive_prompt_chineseSTRING
negative_promptSTRING
raw_responseSTRING