Nodes/ComfyUI_JosiaNodes/Josia风格选择
ComfyUI Node

Josia风格选择

397 Krea 2 Styles in a Dropdown, No LoRA Required

By Josia-doit·Created 5 months ago·Updated a day ago· 15
Josia风格选择
  • clip
  • 条件
prompt
theme请选择主题…
formatStyle: {style}. Subject: {prompt}
selected_styles[]
multi_selectfalse

JosiaStyleSelect is a CLIP Text Encode node that already knows what "Frutiger Aero" means. You pick a theme, click styles out of a thumbnail grid, type your own prompt, and it hands the sampler a single CONDITIONING. It is not a model, not a LoRA loader, and it downloads nothing.

Why bother in 2026? Because base models got good at style on their own. The top reply on the Krea 2 style-wildcards thread - 1.7k upvotes, July 2026 - puts it bluntly: "Krea LoRAs are mostly unnecessary. It has such a huge amount of built in knowledge to combine with great prompt adherence." That thread is where the popular wildcard pack came from, and this node bundles a cleaned-up version of it: 397 styles with thumbnails, bilingual names, and a long descriptive prompt paragraph each.

How it actually works

The theme dropdown is a directory scan: the node lists every folder under its own Style/ that contains a styles.json. Right now that's just krea2, and its 22MB of preview images ship with the clone.

On queue, the backend reads the style names your frontend wrote into the hidden selected_styles field, looks each one up, and glues their prompt blocks together with spaces. Then it fills your format template, collapses whitespace, and strips leftover Subject: / Style: labels and dangling commas - which is why an empty user prompt doesn't yield "Style: …, Subject:". Finally it calls clip.tokenize() plus clip.encode_from_tokens_scheduled(), the same pair native CLIPTextEncode uses in current ComfyUI. So it keeps working on Flux/Qwen/Krea 2-era LLM encoders, not just SDXL CLIP.

With no theme or style selected it's a genuine drop-in: the final prompt is your prompt, unchanged.

The inputs that matter

Six inputs; four matter:

  • clip - required. Wire the CLIP socket from your loader here.
  • prompt - your prompt, multiline, so it takes a text node upstream.
  • theme - leave it on "请选择主题…" and the node behaves as a plain encoder.
  • format - how the style block and your text get welded together. Four options: Style: {style}. Subject: {prompt} (default), {prompt} alone, Style: {name}. Subject: {prompt}, and {name}, {prompt}. {style} is the full paragraph, {name} the style's name, {section} its category.
  • selected_styles and multi_select - hidden string widgets the node's JavaScript writes. You don't type in them.

One output: 条件 (CONDITIONING), wired to the positive input of your sampler. There's no negative output, so keep an ordinary CLIP Text Encode for that - and on Krea 2 or any Flux-family model at CFG 1 the negative does nothing anyway.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/Josia-doit/ComfyUI_JosiaNodes
# restart ComfyUI

No pip step: requirements.txt is comments only, and the pack runs on ComfyUI's bundled torch/Pillow. After restarting, look for this in the console:

[JosiaNodes] ✅ JosiaNodes 加载成功,注册节点数:15

The nodes register under the category ⚡️JosiaNodes, so search "Josia" in the node search box.

You can also look for it in ComfyUI Manager, but the pack's README is candid that it treats GitHub as the main channel and won't promise to pass the registry's automated scan - it was flagged at one point over a system folder-picker call it has since removed. If Manager shows it missing or flagged, just clone it.

Where people get burned

The full style block is a wall of text. Style prompts here average about 77 words - over CLIP's 77-token window, so on SDXL or any CLIP-based model the tail is silently truncated. Use the {name}, {prompt} format there instead of the default. Even on Krea 2, where the encoder takes thousands of tokens, style drift sets in past 75–100 effective tokens, so three full style paragraphs is closer to style soup than to three styles. The grid caps multi-select at 3 accordingly.

Everything is in Chinese. Labels, tooltips, category and the theme placeholder ("请选择主题…") are all Chinese - the author, Josia (吉客AI), publishes for a Bilibili audience. 用户提示词 is the prompt box, 提示词格式 the format dropdown.

Your favourites live inside the pack folder. Starring a style persists to Style/_user_config.json, inside the pack directory. Re-clone and it's gone - copy it out if you've ranked a lot of styles.

Adding your own theme needs a restart. Drop Style/<yourtheme>/styles.json (plus a thumbs/ folder for previews) alongside krea2 and restart ComfyUI. Entries need name, prompt, section and thumb; a sibling prompt_cn.json mapping names to Chinese text is optional, and only feeds the hover pop-up. Folders without a styles.json never appear in the dropdown - the usual reason a new theme "doesn't show up".

Don't move files out of web/js. The style grid, the favourites list and the hidden selected_styles/multi_select fields are all driven by that frontend code. Lose it and you get raw JSON strings in the node instead of a picker.

Category⚡️JosiaNodes

Inputs (6)

NameTypeDefaultDescription
clipCLIP接入 CLIP 模型(本节点等同文本编码器,用于生成正向条件)
promptSTRING在这里输入你自己的提示词。上方选中的风格会按下方「提示词格式」与这段文字拼合,一起送入 CLIP 编码。
themeCOMBO请选择主题…选择风格库主题(对应插件 Style/ 目录下的文件夹)。选择后才会加载该主题的风格预览图。
formatCOMBOStyle: {style}. Subject: {prompt}决定「风格提示词 / 风格名 / 分类名」与「你的提示词」如何拼合。节点下方下拉里用中文标注每种规则的写法。
selected_stylesSTRING[]
multi_selectSTRINGfalse

Outputs (1)

NameTypeDescription
条件CONDITIONING