๐ Kisekae Style
Quality tags that match the checkpoint you're actually running
- char
- char
masterpiece, best quality is the most-copied phrase in this hobby and it does nothing on half the models people run it on. It's alive on anime SDXL finetunes, it's inert on anything with an LLM text encoder, and the negative prompt next to it is worse than inert above CFG 1. So a node whose whole job is the style preamble had better know which family it's talking to.
๐ Kisekae Style holds four fields: quality, artist, style_series, art_style. It's the node that decides what the top line of your prompt looks like.
How it works
Standard section node mechanics: a KISEKAE_CHAR comes in, this node's preset pick can replace the whole style section, then per-field overrides apply, with _text beating the dropdown and _append adding instead of replacing.
Its real content is the shipped quality values, which are deliberately family-specific rather than one generic phrase:
masterpiece, best quality, amazing quality,best quality, high quality- the Illustrious / NoobAI / Pony end of the world.masterpiece, best quality, score_7- NoobAI's quality-tag convention.newest, absurdres, highresandvery aesthetic- the Anima-flavoured ones, which are tags rather than a quality incantation.
Picking the one that matches your checkpoint is the whole game. On Anima the masterpiece line is spending tokens on vocabulary the Qwen3 encoder was never trained to weight; on Illustrious, very aesthetic is close to meaningless. There's no harm in having both available - just don't leave the mismatch in place because it was the default.
The inputs that matter
quality is the one to set. art_style is the second: 20 options including anime coloring, cel shading, flat color, watercolor (medium), oil painting (medium), sketch, lineart, monochrome, retro artstyle. It's the cheapest way to make the same character look like a different artist's drawing.
artist and style_series ship with essentially no dropdown values - same situation as identity's who. There is no sane default list of artist tags to bundle, so you type them in artist_text, or better, put them in a style preset so they're reusable. Artist tags are also the field most likely to explode your composition if you paste five of them; one is usually enough.
Because {style} appears in the default template ahead of {pose}, everything from this node lands in the prompt's style line rather than being scattered. If you want it somewhere else, that's a template edit, not a node edit - see Tansu's Templates page.
Output: one char.
Install
ComfyUI Manager โ search kisekae (Registry: comfyui-kisekae), or:
cd ComfyUI/custom_nodes
git clone https://github.com/Kagejitsu/comfyui-kisekae
Restart. No Python dependencies, no models to download for the nodes. Everything appears under the kisekae category with the ๐ prefix.
Common issues
The quality tag isn't helping. Check the family first. Run masterpiece values on SDXL anime checkpoints, very aesthetic-style tags on Anima, and if you're on a distilled model at CFG 1, stop expecting a quality phrase to do anything at all.
artist dropdown is empty. By design. Type into artist_text, or add values via Tansu's Dropdowns page and press R.
The style is in the prompt twice. You probably have a style preset loaded with Load Preset and a Style node setting the same fields - dedupe will collapse exact repeats in the render, but the cleaner fix is one source of truth. Kisekae Debug JSON's sources view tells you who set what.
I want the style block at the very top. The default anima-mixed template already puts {style.quality} first, but {style} (the whole section) sits lower down. Edit the layout in Tansu's Templates page and save it as your version; the Prompt node picks it up by name.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | (none) | Replace the whole style section with this preset's style |
| quality | COMBO | (keep) | (keep) passes the incoming value through; (clear) empties it |
| quality_text | STRING | Typed text wins over the dropdown. (tag:1.2) weights work. | |
| quality_append | BOOLEAN | false | append: add to the incoming value; replace: overwrite it |
| artist | COMBO | (keep) | (keep) passes the incoming value through; (clear) empties it |
| artist_text | STRING | Typed text wins over the dropdown. (tag:1.2) weights work. | |
| artist_append | BOOLEAN | false | append: add to the incoming value; replace: overwrite it |
| style_series | COMBO | (keep) | (keep) passes the incoming value through; (clear) empties it |
| style_series_text | STRING | Typed text wins over the dropdown. (tag:1.2) weights work. | |
| style_series_append | BOOLEAN | false | append: add to the incoming value; replace: overwrite it |
| art_style | COMBO | (keep) | (keep) passes the incoming value through; (clear) empties it |
| art_style_text | STRING | Typed text wins over the dropdown. (tag:1.2) weights work. | |
| art_style_append | BOOLEAN | false | append: add to the incoming value; replace: overwrite it |
| extra | COMBO | (keep) | (keep) passes the incoming value through; (clear) empties it |
| extra_text | STRING | Typed text wins over the dropdown. (tag:1.2) weights work. | |
| extra_append | BOOLEAN | false | append: add to the incoming value; replace: overwrite it |
| charopt | KISEKAE_CHAR | Character from the previous node; empty starts a new one |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| char | KISEKAE_CHAR | โ |