From 63021eda8795d63fbaedfdf7546d4b9341f43bc8 Mon Sep 17 00:00:00 2001 From: lunaaispace-eng Date: Sat, 27 Jun 2026 16:57:42 +0300 Subject: [PATCH] Add Style Prompt Library node package --- .gitignore | 11 + README.md | 234 ++++- __init__.py | 21 + combine_styles_node.py | 53 ++ style_creator.md | 69 ++ style_library_node.py | 254 ++++++ styles/nsfw.json | 62 ++ styles/styles_library.json | 1778 ++++++++++++++++++++++++++++++++++++ web/style_library.js | 158 ++++ 9 files changed, 2639 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 __init__.py create mode 100644 combine_styles_node.py create mode 100644 style_creator.md create mode 100644 style_library_node.py create mode 100644 styles/nsfw.json create mode 100644 styles/styles_library.json create mode 100644 web/style_library.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..35379c4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +__pycache__/ +*.py[cod] +*.pyo +.pytest_cache/ +.ruff_cache/ +.mypy_cache/ +.venv/ +venv/ +env/ +output/ +*.egg-info/ diff --git a/README.md b/README.md index 965c2aa..0bc5051 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,234 @@ # ComfyUI-StylePromptLibrary -A single node that lets you pick an image style from a large, **categorized** library and outputs its descriptive text — ready to wire into any LLM / prompt node. + +ComfyUI-StylePromptLibrary is a ComfyUI custom node pack for selecting reusable image style descriptions from a categorized JSON library. It outputs clean style text that can be connected to an LLM prompt node, a prompt-building workflow, or directly into text conditioning when useful. + +The pack includes a cascading style picker, live search, a read-only preview panel, style strength controls, and a companion node for blending multiple style guides. + +## Nodes + +| Node | Category | Output | Purpose | +| --- | --- | --- | --- | +| `Style Prompt Library` | `Style Prompt Library` | `style_guide` (`STRING`) | Pick one style from the library and output its description. | +| `Combine Styles` | `Style Prompt Library` | `style_guide` (`STRING`) | Combine up to three style strings into one LLM-friendly guide. | + +## Features + +- 306 local style entries across two JSON packs. +- Cascading `Category -> Subcategory -> Style` controls. +- Live search across the full style library. +- Read-only preview of the selected style text. +- Headless/API-safe behavior: the selected `style` value remains the source of truth. +- Style strength control with two modes: + - `instruction` for LLM prompt nodes. + - `emphasis` for CLIP-style `(text:weight)` syntax. +- Master `enabled` switch for quick A/B testing. +- Multi-pack loading: every `*.json` file in `styles/` is loaded and merged. +- No external Python dependencies. + +## Included Files + +```text +ComfyUI-StylePromptLibrary/ +|-- __init__.py +|-- style_library_node.py +|-- combine_styles_node.py +|-- style_creator.md +|-- styles/ +| |-- styles_library.json +| `-- nsfw.json +|-- web/ +| `-- style_library.js +`-- README.md +``` + +## Style Packs + +The node loads every JSON file in `styles/`. + +| Pack | Entries | Notes | +| --- | ---: | --- | +| `styles_library.json` | 296 | Main general-purpose style library. | +| `nsfw.json` | 10 | Optional adult style pack. Remove this file if you do not want adult styles loaded. | + +Total local entries: 306. + +## Style Schema + +Each style entry is keyed by a unique ID and uses a flat object: + +```json +{ + "FilmNoir": { + "name": "Film Noir", + "category": "Photography", + "subcategory": "Cinematic", + "content": "film noir cinematography, high-contrast black and white, hard chiaroscuro lighting, deep crushed blacks, low-key mood, smoky 1940s atmosphere, visible film grain" + } +} +``` + +| Field | Required | Description | +| --- | --- | --- | +| `name` | yes | Human-readable label shown in the dropdown. Keep names unique. | +| `category` | yes | Top-level style group. | +| `subcategory` | yes | Second-level style group. | +| `content` | yes | The style guide text emitted by the node. | + +The loader also supports an alternate packed format with a top-level `categories` object, but the included library uses the flat schema above. + +## Main Categories + +The general library is organized mostly by medium and production style: + +- Photography +- Painting +- Illustration +- Anime & Manga +- 3D & Render +- Drawing & Sketch +- Vector & Flat +- Graphic Design +- Crafts & Materials +- Art Movements +- Sci-Fi & Futurism +- Fashion + +## Installation + +1. Copy this folder into your ComfyUI custom nodes directory: + +```text +ComfyUI/custom_nodes/ComfyUI-StylePromptLibrary +``` + +2. Restart ComfyUI. +3. Hard-refresh the browser page with `Ctrl+F5` so the frontend JavaScript reloads. +4. Add the node from: + +```text +Add Node -> Style Prompt Library -> Style Prompt Library +``` + +There are no extra Python packages to install. + +## Usage + +1. Add `Style Prompt Library`. +2. Pick a `Category`. +3. Pick a `Subcategory`. +4. Pick a `Style`. +5. Connect `style_guide` to your LLM prompt node, prompt builder, or conditioning workflow. + +You can also use `search` to filter styles by name across the entire library. When search text is present, it overrides the category/subcategory filter in the frontend. + +## Style Strength + +The `strength` input lets you control how strongly the selected style should influence the output. + +| Setting | Behavior | +| --- | --- | +| `0.0` | Outputs an empty string. | +| `1.0` | Outputs the style text unchanged. | +| `> 1.0` | Pushes the style more strongly. | + +### `instruction` mode + +Best when feeding an LLM prompt node. The node wraps the style text in a natural-language directive, such as: + +```text +Apply the following style strongly, as the dominant visual treatment: ... +``` + +### `emphasis` mode + +Best only when feeding CLIP-style prompt text directly. The node outputs: + +```text +(style text:1.25) +``` + +## Combining Styles + +Use `Combine Styles` to blend up to three style strings. + +Inputs: + +| Input | Description | +| --- | --- | +| `style_1` | Primary style. Required. | +| `style_2` | Secondary accent style. Optional. | +| `style_3` | Third accent style. Optional. | +| `label_priority` | Adds `PRIMARY STYLE` and `ACCENT STYLES` labels so an LLM knows which style wins conflicts. | + +Recommended pattern: + +```text +Style Prompt Library -> style_1 +Style Prompt Library -> style_2 +Style Prompt Library -> style_3 +Combine Styles -> LLM prompt node +``` + +Best results usually come from combining different dimensions, for example: + +- one medium +- one lighting or rendering treatment +- one fashion, mood, or genre accent + +Combining multiple strong mediums can produce conflicting instructions. + +## Maintaining The Library + +### Add a style manually + +Open a JSON file in `styles/` and add a new entry: + +```json +"MyNewStyle": { + "name": "My New Style", + "category": "Photography", + "subcategory": "Portrait", + "content": "soft natural light portrait, 85mm lens, shallow depth of field, gentle skin tones" +} +``` + +Restart ComfyUI after editing the style packs. + +### Add a new style pack + +Create another `.json` file in `styles/`: + +```text +styles/my_custom_pack.json +``` + +The node will load it automatically on restart. + +### Use the style creator prompt + +`style_creator.md` is a portable prompt you can give to an LLM to generate new style entries in the expected JSON schema. + +## How It Works + +`style_library_node.py` loads all JSON files from `styles/`, builds an internal lookup table, and exposes two local routes to the ComfyUI frontend: + +```text +/style_prompt_library/tree +/style_prompt_library/content +``` + +`web/style_library.js` uses those routes to populate cascading dropdowns, live search, and the preview box. The Python node still works without the JavaScript because the saved `style` value is what determines the output. + +## Troubleshooting + +| Problem | Fix | +| --- | --- | +| Node appears but dropdowns look flat | Hard-refresh the browser with `Ctrl+F5` so `web/style_library.js` reloads. | +| New styles do not appear | Restart ComfyUI after editing JSON files. | +| A style outputs an error | Check that the selected entry has a non-empty `content` field. | +| Duplicate labels look strange | Keep `name` values unique. The loader adds a key suffix when names collide. | +| Adult styles appear unexpectedly | Remove `styles/nsfw.json` and restart ComfyUI. | + +## License + +Apache License 2.0. See [LICENSE](LICENSE). diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..740ee87 --- /dev/null +++ b/__init__.py @@ -0,0 +1,21 @@ +"""Style Prompt Library — categorized style-guide picker for ComfyUI. + +Outputs the full prompt-engineering guide text for a chosen style, ready to +feed into any LLM / prompt node. +""" + +from .style_library_node import ( + NODE_CLASS_MAPPINGS as _LIB_NODES, + NODE_DISPLAY_NAME_MAPPINGS as _LIB_NAMES, +) +from .combine_styles_node import ( + NODE_CLASS_MAPPINGS as _COMBINE_NODES, + NODE_DISPLAY_NAME_MAPPINGS as _COMBINE_NAMES, +) + +NODE_CLASS_MAPPINGS = {**_LIB_NODES, **_COMBINE_NODES} +NODE_DISPLAY_NAME_MAPPINGS = {**_LIB_NAMES, **_COMBINE_NAMES} + +__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"] + +WEB_DIRECTORY = "./web" diff --git a/combine_styles_node.py b/combine_styles_node.py new file mode 100644 index 0000000..ea9022f --- /dev/null +++ b/combine_styles_node.py @@ -0,0 +1,53 @@ +""" +Combine Styles — blend up to 3 style blocks into one STRING for the LLM node. + +The first style is the PRIMARY (base look); styles 2-3 are ACCENTS woven in on top, +deferring to PRIMARY on any conflict. Best results come from combining ACROSS +dimensions (e.g. a subject + a wardrobe + a setting), not within (two mediums clash). + +Pure text join — no model call. Wire 1-3 "Style Prompt Library" nodes into this, +then this node's output into the LLM node's `style` input. +""" + + +class CombineStyles: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "style_1": ("STRING", {"forceInput": True}), + }, + "optional": { + "style_2": ("STRING", {"forceInput": True}), + "style_3": ("STRING", {"forceInput": True}), + "label_priority": ("BOOLEAN", {"default": True, + "tooltip": "Add PRIMARY/ACCENT headers so the LLM knows which style wins a conflict."}), + }, + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("style_guide",) + FUNCTION = "combine" + CATEGORY = "Style Prompt Library" + DESCRIPTION = "Blend up to 3 style blocks; the first is PRIMARY, the rest are accents." + + def combine(self, style_1, style_2="", style_3="", label_priority=True): + styles = [s.strip() for s in (style_1, style_2, style_3) if s and s.strip()] + if not styles: + return ("",) + if len(styles) == 1: + return (styles[0],) + + if not label_priority: + return ("\n\n".join(styles),) + + parts = ["PRIMARY STYLE:", styles[0], "", + "ACCENT STYLES (blend in as secondary treatment; defer to PRIMARY on any conflict):"] + for accent in styles[1:]: + parts.append(accent) + parts.append("") + return ("\n".join(parts).strip(),) + + +NODE_CLASS_MAPPINGS = {"CombineStyles": CombineStyles} +NODE_DISPLAY_NAME_MAPPINGS = {"CombineStyles": "Combine Styles"} diff --git a/style_creator.md b/style_creator.md new file mode 100644 index 0000000..48ff5a3 --- /dev/null +++ b/style_creator.md @@ -0,0 +1,69 @@ +You are a Style Author for an image-prompt style library. The user gives you one or more +style ideas. For each idea, output one JSON entry describing that style. + +Return ONLY a JSON object, one entry per idea, in exactly this shape: + +{ + "KeyName": { + "name": "Readable Name", + "category": "Category", + "subcategory": "Subcategory", + "content": "comma, separated, descriptive, style, phrases" + } +} + +FIELDS +- KeyName: CamelCase, letters/digits only, derived from the name, unique. +- name: the human-readable label (Title Case). No prefixes. +- category: EXACTLY one of the categories below. +- subcategory: EXACTLY one of that category's subcategories below. Never invent new ones. +- content: the actual style text the image model reads — a SINGLE LINE of comma-separated + descriptive phrases (not sentences, no labels, no line breaks). ~25-60 phrases. + +CONTENT RULES +- Describe the STYLE only — the medium, technique, rendering, lighting feel, mood, color, + and signature visual traits that make this style recognizable. +- Write renderable visual phrases, e.g. "oil painting, visible brushstrokes, impasto + texture, warm earthy palette, dramatic chiaroscuro lighting, classical composition". +- A style MAY fix a subject if that is part of the style (e.g. a "Cute Robot 3D" style + names a cute robot). If the style is a pure look, describe no subject — the user supplies it. +- NO instructions ("you are", "render", "output"), NO {prompt} placeholder, NO model or + artist names, NO markdown, NO negative / "avoid" lists, NO quality boilerplate + (8k, masterpiece, highly detailed, best quality). +- Commit to concrete values; no hedging, no "etc.", no "or". + +CATEGORIES (category -> allowed subcategories) +- Photography: Cinematic, Portrait, Fashion & Editorial, Documentary & Street, Landscape & Aerial, Macro & Close-up, Product & Still Life, Fine Art & B&W, Night & Long Exposure, Nature & Wildlife, Experimental & Surreal +- Painting: Oil & Impasto, Acrylic & Gouache, Watercolor, Ink & Eastern, Classical & Fresco, Modern & Abstract, Fantasy & Concept, Digital, Street & Graffiti +- Illustration: Cartoon, Children's Book, Comic & Pop Art, Fantasy & Concept, Sticker, Retro & Modern, Art Deco & Nouveau, Pixel & Game, Classic & Editorial +- Anime & Manga: Anime, Chibi & Kawaii, Mecha, Realistic Anime +- 3D & Render: Character, Stylized & Cute, Abstract, Hard Surface & Mech, Product & Architectural, Low Poly & Isometric, Game Asset, Sci-Fi +- Drawing & Sketch: Pencil & Graphite, Charcoal & Pastel, Ink & Pen, Caricature, Technical & Zentangle +- Vector & Flat: Flat Art, Line Art, Silhouette, Logo & Symbol, Coloring Book +- Graphic Design: Poster & Banner, Logo & Icon, Packaging & Branding, Layout & Print, Web & Digital, Infographic +- Crafts & Materials: Ceramic & Porcelain, Sculpture, Paper, Textile, Glass & Mosaic, Wood & Metal, Leather & Other +- Art Movements: Classical & Baroque, Modern (20th C.), Contemporary, Cultural & Folk, Surreal & Dreamscape +- Sci-Fi & Futurism: Cyberpunk, Retro-Futurism, Bio & Cyber, Eco & Solar, Synthwave & Vaporwave, Space & Cosmic +- Fashion: Casual & Streetwear, Glamour & Swimwear, Subculture & Alternative, Costume & Cosplay, Sci-Fi & Fantasy + +Pick the category by the style's MEDIUM (how it's made). Genre/aesthetic styles that are +not a medium go to Art Movements or Sci-Fi & Futurism. Wardrobe styles go to Fashion. + +EXAMPLES + +{ + "FilmNoir": { + "name": "Film Noir", + "category": "Photography", + "subcategory": "Cinematic", + "content": "film noir cinematography, high-contrast black and white, hard chiaroscuro lighting, deep crushed blacks, venetian-blind shadow patterns, low-key mood, smoky 1940s atmosphere, dramatic silhouettes, visible film grain, 35mm, mysterious and fatalistic tone" + }, + "Chiaroscuro": { + "name": "Chiaroscuro / Old Master", + "category": "Painting", + "subcategory": "Classical & Fresco", + "content": "old master oil painting, chiaroscuro, tenebrism, single hard key light from upper side, steep falloff, rich black shadows, warm highlights, painterly medium-format look, fine canvas texture, oil-paint sheen, solemn baroque mood, muted earthy palette" + } +} + +Return only the JSON object. diff --git a/style_library_node.py b/style_library_node.py new file mode 100644 index 0000000..d619f71 --- /dev/null +++ b/style_library_node.py @@ -0,0 +1,254 @@ +""" +Style Prompt Library — Improved version for the new structured JSON +with explicit subcategories. + +Key improvements: +- Properly uses the "subcategory" field from the new JSON +- Better cascading Category → Subcategory → Style experience +- Loads from styles/ folder (supports multiple packs) +- Single style_guide output (for LLM prompt nodes) +- Minimal changes from original node logic +""" + +import json +import os +import glob +import hashlib + +_HERE = os.path.dirname(os.path.abspath(__file__)) +_STYLES_DIR = os.path.join(_HERE, "styles") + + +def _pack_files(): + """All style-pack JSON files from the styles/ folder.""" + files = sorted(glob.glob(os.path.join(_STYLES_DIR, "*.json"))) + if not files: + legacy = os.path.join(_HERE, "styles_library.json") + if os.path.exists(legacy): + files = [legacy] + return files + + +# --------------------------------------------------------------------------- +# Load library +# --------------------------------------------------------------------------- +_ENTRIES = {} +_LABEL_TO_KEY = {} +_TREE = {} +_CATEGORIES = [] +_ALL_LABELS = [] +_LOAD_ERROR = None + + +def _load_library(): + global _LOAD_ERROR + files = _pack_files() + + if not files: + _LOAD_ERROR = f"No JSON files found in {_STYLES_DIR}" + print(f"[StylePromptLibrary] {_LOAD_ERROR}") + return + + raw = {} + for fp in files: + try: + with open(fp, "r", encoding="utf-8") as f: + pack = json.load(f) + except Exception as e: + print(f"[StylePromptLibrary] Skipped {os.path.basename(fp)}: {e}") + continue + + # Support new improved format with subcategories + if "categories" in pack: + for cat_name, cat_data in pack.get("categories", {}).items(): + for style in cat_data.get("styles", []): + full_name = style.get("full_name") or style.get("name", "") + if not full_name: + continue + + key = full_name + subcategory = style.get("subcategory", "General") + + raw[key] = { + "name": full_name, + "category": cat_name, + "subcategory": subcategory, + "content": style.get("prompt", "") + } + continue + + # Fallback to old flat format + for k, v in pack.items(): + raw[k] = v + + if not raw: + _LOAD_ERROR = "No valid entries found in style packs." + return + + print(f"[StylePromptLibrary] Loaded {len(files)} pack(s)") + + # Build display labels and tree + name_counts = {} + for entry in raw.values(): + name_counts[entry.get("name", "")] = name_counts.get(entry.get("name", ""), 0) + 1 + + tree = {} + for key, entry in raw.items(): + _ENTRIES[key] = entry + label = entry.get("name", key) + if name_counts.get(label, 0) > 1: + label = f"{label} · {key}" + _LABEL_TO_KEY[label] = key + + cat = entry.get("category", "Misc") + sub = entry.get("subcategory", "General") + tree.setdefault(cat, {}).setdefault(sub, []).append(label) + + # Sort + for cat in tree: + for sub in tree[cat]: + tree[cat][sub].sort(key=str.lower) + + _TREE.update({c: dict(sorted(tree[c].items())) for c in sorted(tree)}) + _CATEGORIES.extend(sorted(_TREE.keys())) + _ALL_LABELS.extend(sorted(_LABEL_TO_KEY.keys(), key=str.lower)) + + print(f"[StylePromptLibrary] Loaded {len(_ENTRIES)} styles in {len(_CATEGORIES)} categories.") + + +_load_library() + +# UI options +_CATEGORY_OPTIONS = ["All"] + _CATEGORIES if _CATEGORIES else ["(no styles loaded)"] +_SUBCATEGORY_OPTIONS = ["All"] + sorted({s for subs in _TREE.values() for s in subs}) if _TREE else ["All"] +_STYLE_OPTIONS = _ALL_LABELS if _ALL_LABELS else ["(no styles loaded)"] + + +# Server routes +try: + from server import PromptServer + from aiohttp import web + + @PromptServer.instance.routes.get("/style_prompt_library/tree") + async def _style_tree(request): + return web.json_response({ + "categories": _CATEGORIES, + "tree": _TREE, + "all": _ALL_LABELS, + "error": _LOAD_ERROR, + }) + + @PromptServer.instance.routes.get("/style_prompt_library/content") + async def _style_content(request): + label = request.query.get("label", "") + key = _LABEL_TO_KEY.get(label) or label + content = _ENTRIES.get(key, {}).get("content", "") if key in _ENTRIES else "" + return web.json_response({"content": content}) +except Exception as e: + print(f"[StylePromptLibrary] Could not register routes: {e}") + + +class StylePromptLibrary: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "category": (_CATEGORY_OPTIONS,), + "subcategory": (_SUBCATEGORY_OPTIONS,), + "style": (_STYLE_OPTIONS,), + }, + "optional": { + "search": ("STRING", {"default": "", "multiline": False, + "placeholder": "type to filter styles…"}), + "enabled": ("BOOLEAN", {"default": True, + "label_on": "styles ON", "label_off": "styles OFF", + "tooltip": "Master switch. When OFF, this node outputs an empty " + "string so no style is applied — lets you A/B with one click."}), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 2.0, "step": 0.05, + "tooltip": "Style weight, like a LoRA. 1.0 = normal (text unchanged), " + "0 = no style at all, >1 pushes it harder. See strength_mode " + "for how the weight is applied."}), + "strength_mode": (["instruction", "emphasis"], {"default": "instruction", + "tooltip": "instruction: expresses the weight as a directive for an LLM " + "prompt node (use when this feeds your LLM node). emphasis: wraps " + "as (text:weight) attention syntax for a CLIP Text Encode (use " + "only when feeding CLIP directly)."}), + }, + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("style_guide",) + FUNCTION = "get_style" + CATEGORY = "Style Prompt Library" + + def get_style(self, category, subcategory, style, search="", + enabled=True, strength=1.0, strength_mode="instruction"): + # Master switch — OFF means this node contributes nothing. + if not enabled: + return ("",) + + if _LOAD_ERROR: + return (f"[StylePromptLibrary ERROR] {_LOAD_ERROR}",) + + key = _LABEL_TO_KEY.get(style) + if key is None: + if style in _ENTRIES: + key = style + else: + return (f"[StylePromptLibrary ERROR] Unknown style: {style!r}",) + + content = _ENTRIES.get(key, {}).get("content", "") + if not content: + return (f"[StylePromptLibrary ERROR] Style {key!r} has no content.",) + + return (self._apply_strength(content, float(strength), strength_mode),) + + @staticmethod + def _apply_strength(content, strength, mode): + """Emulate a LoRA-like weight on a text style block. + + There is no tensor here, so 'strength' is expressed one of two ways: + - emphasis: CLIP attention syntax (text:weight) — for a CLIP Text Encode. + - instruction: a worded directive — for an LLM prompt node (default). + """ + # 0 weight → no style contribution, like a LoRA at 0. + if strength <= 0.0: + return "" + # 1.0 is the identity / normal weight — leave the text untouched. + if abs(strength - 1.0) < 1e-3: + return content + + if mode == "emphasis": + # Escape any literal parens so they don't break the weight syntax. + safe = content.replace("(", r"\(").replace(")", r"\)") + return f"({safe}:{strength:.2f})" + + # default "instruction" mode — a directive the LLM honors when it + # weaves style_description into the final prompt. + if strength < 0.5: + phrase = "only subtly, as a faint accent" + elif strength < 0.85: + phrase = "as a light, secondary influence" + elif strength <= 1.15: + phrase = "as a clear, present treatment" + elif strength <= 1.6: + phrase = "strongly, as the dominant visual treatment" + else: + phrase = "as the overriding aesthetic that defines the entire image" + return f"Apply the following style {phrase}: {content}" + + @classmethod + def IS_CHANGED(cls, category, subcategory, style, search="", + enabled=True, strength=1.0, strength_mode="instruction"): + mtimes = [] + for fp in _pack_files(): + try: + mtimes.append(os.path.getmtime(fp)) + except OSError: + pass + sig = f"{style}|{enabled}|{strength}|{strength_mode}|{max(mtimes) if mtimes else 0}" + return hashlib.sha1(sig.encode("utf-8")).hexdigest() + + +NODE_CLASS_MAPPINGS = {"StylePromptLibrary": StylePromptLibrary} +NODE_DISPLAY_NAME_MAPPINGS = {"StylePromptLibrary": "🎨 Style Prompt Library"} \ No newline at end of file diff --git a/styles/nsfw.json b/styles/nsfw.json new file mode 100644 index 0000000..7400fb9 --- /dev/null +++ b/styles/nsfw.json @@ -0,0 +1,62 @@ +{ +"NSFWEroticSoloMasturbation": { +"name": "Erotic Solo Masturbation", +"category": "Photography", +"subcategory": "Cinematic", +"content": "erotic solo masturbation photography, slender nude woman, fingers between legs, soft cinematic lighting, warm skin flush, glistening wetness, detailed skin texture, shallow depth of field, sensual intimate mood, subtle sweat on body, elegant slim curves, soft shadows accentuating form, creamy bokeh background, natural bedroom setting, realistic rendering, gentle side key light, rim lighting on edges, passionate expression, perky breasts, toned stomach" +}, +"NSFWSeductiveSoloNude": { +"name": "Seductive Solo Nude", +"category": "Photography", +"subcategory": "Portrait", +"content": "seductive solo nude portrait, slender woman standing pose, teasing direct gaze, soft natural window light, gentle shadows on slim waist, perky breasts, long toned legs, warm neutral skin tones, shallow depth of field, elegant boudoir photography, confident sensual mood, subtle body sheen, graceful hand position, feminine curves, soft rim lighting, intimate personal space, natural makeup, flowing hair, relaxed alluring stance" +}, +"NSFWMissionaryPassion": { +"name": "Passionate Missionary", +"category": "Photography", +"subcategory": "Cinematic", +"content": "passionate missionary position, slender woman on back, legs wrapped around man, deep penetration, eye contact, soft warm bedroom lighting, glistening sweat on bodies, rumpled white sheets, shallow depth of field, intimate cinematic atmosphere, flushed skin tones, dynamic thrusting pose, elegant body lines, soft shadows, realistic skin texture, sensual emotional mood, warm highlights on curves, natural indoor setting" +}, +"NSFWDoggystyleRaw": { +"name": "Raw Doggystyle", +"category": "Photography", +"subcategory": "Cinematic", +"content": "raw doggystyle photography, slender woman on all fours, man gripping hips, arched back, intense expression, dramatic side lighting, cool moody palette, glistening sweat, shallow depth of field, raw passionate energy, realistic skin texture, dynamic action pose, strong shadows, athletic bodies, natural window light, primal erotic mood, visible tension in muscles" +}, +"NSFWCowgirlRide": { +"name": "Cowgirl Ride", +"category": "Photography", +"subcategory": "Cinematic", +"content": "cowgirl position photography, slender woman riding on top, hands on chest, breasts bouncing, head thrown back, bright natural daylight, soft airy lighting, detailed penetration, glistening wetness, toned thighs flexing, shallow depth of field, sensual movement, elegant feminine form, rumpled sheets, warm skin highlights, dynamic composition, passionate expression" +}, +"NSFWCunnilingusCloseup": { +"name": "Intimate Cunnilingus", +"category": "Photography", +"subcategory": "Macro & Close-up", +"content": "intimate cunnilingus macro, slender woman receiving oral, man between spread legs, tongue on clitoris, detailed wet textures, soft pink tones, flushed inner thighs, soft diffused lighting, extreme shallow depth of field, creamy bokeh, sensual tender mood, realistic skin micro details, moisture visible, elegant intimate composition, warm skin palette, tasteful explicit fine art" +}, +"NSFWEroticFellatio": { +"name": "Erotic Fellatio", +"category": "Photography", +"subcategory": "Cinematic", +"content": "erotic fellatio photography, slender woman performing oral, lips wrapped around shaft, eye contact, hand stroking base, soft low key lighting, dramatic shadows on face, glistening saliva, flushed cheeks, shallow depth of field, realistic anatomy, intimate close-up, cinematic moody atmosphere, detailed wet surfaces, sensual expression, elegant hands, private luxurious setting" +}, +"NSFWStandingWallSex": { +"name": "Standing Wall Sex", +"category": "Photography", +"subcategory": "Cinematic", +"content": "standing wall sex photography, slender woman lifted against wall, legs wrapped around man, passionate kissing, dramatic cinematic lighting, strong contrast, sweat on bodies, flexed muscles, shallow depth of field, dynamic action pose, cool blue and warm skin contrast, intense expressions, realistic body physics, modern interior, sensual powerful mood, high contrast lighting" +}, +"NSFWSensualSpooning": { +"name": "Sensual Spooning", +"category": "Photography", +"subcategory": "Fine Art & B&W", +"content": "sensual spooning fine art, slender woman and man on side, gentle penetration from behind, tender neck kissing, soft black and white photography, delicate tonal gradations, intimate loving mood, soft window light, elegant body lines, shallow depth of field, timeless romantic atmosphere, subtle grain, classic boudoir aesthetic, peaceful slow lovemaking, natural curves, delicate embrace" +}, +"NSFWEroticCoupleOilPainting": { +"name": "Erotic Couple Oil Painting", +"category": "Painting", +"subcategory": "Oil & Impasto", +"content": "erotic couple oil painting, slender nude woman and man in passionate embrace, thick impasto brushstrokes, rich warm earthy palette, dramatic chiaroscuro lighting, visible canvas texture, glistening wet skin, sensual intertwined bodies, heavy paint texture, emotional erotic mood, bold color contrasts, dynamic composition, tactile oil surface, warm golden skin tones, fine art painting aesthetic, elegant yet raw energy" +} +} \ No newline at end of file diff --git a/styles/styles_library.json b/styles/styles_library.json new file mode 100644 index 0000000..70cc4ee --- /dev/null +++ b/styles/styles_library.json @@ -0,0 +1,1778 @@ +{ + "Aerial": { + "name": "Aerial", + "category": "Photography", + "subcategory": "Landscape & Aerial", + "content": "aerial photography, drone photography, sweeping landscapes, unique perspectives, epic scale, capturing from above, revealing hidden beauty, showcasing vastness, immersive experience, precise compositions, expert piloting, dynamic angles, cinematic storytelling, showcasing natural wonders, aerial exploration" + }, + "Architecture": { + "name": "Architecture", + "category": "Photography", + "subcategory": "Documentary & Street", + "content": "architecture photography, striking structures, clean lines, geometric shapes, dramatic angles, play of light and shadow, capturing architectural details, showcasing design elements, evoking mood, professional lighting, precise compositions, emphasizing scale and proportion, creating depth, architectural storytelling, capturing iconic landmarks, immersive experience" + }, + "BlackAndWhite": { + "name": "Black and White", + "category": "Photography", + "subcategory": "Fine Art & B&W", + "content": "black and white photography, timeless elegance, classic aesthetic, dramatic contrasts, emphasizing shapes and textures, evoking nostalgia, focusing on light and shadow, monochromatic storytelling, capturing mood and emotion, artistic expression, minimalist compositions, conveying depth and atmosphere, timeless beauty" + }, + "Cinematic": { + "name": "Cinematic", + "category": "Photography", + "subcategory": "Cinematic", + "content": "Cinematic photography, movie mood, cinematic light, compelling composition, storytelling elements, conveys emotion, mood, and narrative depth, creating visually striking images that feel like still frames from a film" + }, + "Documentary": { + "name": "Documentary", + "category": "Photography", + "subcategory": "Documentary & Street", + "content": "documentary photography, capturing reality, social issues, human experiences, photojournalistic storytelling, candid moments, authentic narratives, raising awareness, documenting history, preserving cultural heritage, immersive storytelling, evoking empathy, powerful imagery, journalistic integrity" + }, + "Experimental": { + "name": "Experimental", + "category": "Photography", + "subcategory": "Experimental & Surreal", + "content": "experimental photography, pushing the boundaries of creativity, unconventional techniques, innovative concepts, artistic exploration, thought-provoking imagery, pushing the boundaries of traditional photography" + }, + "Fashion": { + "name": "Fashion Photography", + "category": "Photography", + "subcategory": "Fashion & Editorial", + "content": "fashion photography, glamorous, stylish attire, captivating pose, dynamic composition, high-fashion aesthetic, professional studio lighting, expert styling, showcasing trend, conveying elegance, conveying attitude, evoking emotion, creating visual impact, editorial storytelling, artistic interpretation, fashion-forward visual" + }, + "FashionEditorial": { + "name": "Fashion Editorial", + "category": "Photography", + "subcategory": "Fashion & Editorial", + "content": "fashion editorial photography, high-fashion imagery, avant-garde aesthetics, editorial storytelling, conveying fashion trends and concepts, artistic interpretation, expert styling, professional lighting, capturing fashion-forward visuals, creating visual impact, evoking emotion, pushing creative boundaries" + }, + "FineArt": { + "name": "Fine Art", + "category": "Photography", + "subcategory": "Fine Art & B&W", + "content": "fine art photography, conceptual expression, evocative imagery, artistic interpretation, emotional resonance, creative composition, professional lighting, exquisite detail, immersive experience, storytelling through imagery, conveying mood, unique perspective, thought-provoking concept, capturing beauty, transcending reality" + }, + "Flower": { + "name": "Flower", + "category": "Photography", + "subcategory": "Macro & Close-up", + "content": "flower photography, capturing nature's beauty, delicate petals, vibrant colors, intricate details, showcasing botanical diversity, evoking emotions, conveying serenity, expert composition, professional lighting, immersive floral portrait, timeless elegance" + }, + "Food": { + "name": "Food", + "category": "Photography", + "subcategory": "Product & Still Life", + "content": "food photography, mouthwatering dishes, vibrant colors, appetizing presentations, enticing compositions, delicious details, showcasing textures, capturing freshness, professional lighting, expert styling, culinary storytelling, enhancing food appeal" + }, + "Landscape": { + "name": "Landscape", + "category": "Photography", + "subcategory": "Landscape & Aerial", + "content": "landscape photography, vast vistas, natural beauty, dynamic compositions, captivating scenery, immersive, serene" + }, + "LongExposure": { + "name": "Long exposure", + "category": "Photography", + "subcategory": "Night & Long Exposure", + "content": "long exposure photography, streaking lights, smooth motion, dreamy landscapes, ethereal atmosphere, light painting, creative expression, time manipulation, surreal effects, captivating visuals, artistic interpretation, immersive experience, unique perspective" + }, + "LowKey": { + "name": "Low key", + "category": "Photography", + "subcategory": "Fine Art & B&W", + "content": "low key photography, dramatic lighting, deep shadows, rich contrast, moody atmosphere, intense emotions, cinematic feel, mysterious ambiance, emphasizing shape and form, creating depth, evoking drama, storytelling through shadows, professional technique" + }, + "Macro": { + "name": "Macro", + "category": "Photography", + "subcategory": "Macro & Close-up", + "content": "macro photography, extreme close-ups, intricate details, unseen worlds, capturing texture, emphasizing details, revealing beauty in small things, professional lighting, precise focusing, artistic expression, immersive experience, expert technique" + }, + "Microscopic": { + "name": "Microscopic", + "category": "Photography", + "subcategory": "Macro & Close-up", + "content": "microscopic photography, magnified, molecular, unseen worlds revealed, scientific exploration, capturing molecular details, professional imaging techniques, precise focusing, revealing hidden beauty, scientific discovery, artistic interpretation, nano scale, revealing the wonders of the unseen" + }, + "Minimalist": { + "name": "Minimalist", + "category": "Photography", + "subcategory": "Fine Art & B&W", + "content": "minimalist photography, simplicity in composition, clean lines, uncluttered visuals, negative space, focusing on essential elements, conveying tranquility, understated beauty, elegant aesthetics, subtle storytelling, capturing the essence of minimalism" + }, + "Mockup": { + "name": "Mockup", + "category": "Photography", + "subcategory": "Product & Still Life", + "content": "mockup photography, professional presentation, blank, empty, creative composition, versatile use, professional lighting, expert styling, high-quality imagery, realistic perspective, accurate representation" + }, + "Night": { + "name": "Night", + "category": "Photography", + "subcategory": "Night & Long Exposure", + "content": "night photography, nocturnal beauty, city lights, starry skies, celestial wonders, moonlit landscapes, urban glow, capturing the essence of darkness, ethereal atmosphere, dramatic shadows, magical ambiance, long exposure techniques, expert use of light sources" + }, + "Pet": { + "name": "Pet", + "category": "Photography", + "subcategory": "Nature & Wildlife", + "content": "pet photography, adorable portrait, playful moment, expressive eyes, showcasing personality, professional lighting, expert composition, capturing joyful interaction, conveying emotion, creative composition, enhancing pet beauty, pet-friendly environment, storytelling through imagery" + }, + "Portrait": { + "name": "Portrait", + "category": "Photography", + "subcategory": "Portrait", + "content": "portrait photography, capturing emotion, personality, flattering lighting, professional, engaging, compelling composition" + }, + "PortraitCinematic": { + "name": "Portrait Cinematic", + "category": "Photography", + "subcategory": "Portrait", + "content": "Cinematic portrait photography, capture subject in a way that resembles a still frame from a movie, cinematic lighting, story, narrative quality, drawing viewers into the scene and evoking a sense of cinematic immersion, capturing emotion, professional, engaging, compelling composition" + }, + "PortraitCloseup": { + "name": "Portrait Closeup", + "category": "Photography", + "subcategory": "Portrait", + "content": "closeup portrait photography, beautiful eyes, capturing emotion, personality, flattering lighting, professional, engaging, compelling composition" + }, + "PortraitFantasy": { + "name": "Portrait Fantasy", + "category": "Photography", + "subcategory": "Portrait", + "content": "fantasy portrait photography, beautiful eyes, ethereal beauty, magical atmosphere, whimsical element, enchanting composition, mystical storytelling, professional lighting, imaginative concept, creative styling, otherworldly aesthetic, fantasy romance, surreal visual, enchanting character, captivating narrative, intricate detail, vibrant color, fantastical landscape" + }, + "Product": { + "name": "Product Photography", + "category": "Photography", + "subcategory": "Product & Still Life", + "content": "product photography, crisp details, clean composition, attention to detail, professional lighting, precise focus, appealing aesthetics, capturing textures, high-quality imagery, commercial appeal, creative presentation" + }, + "Reflection": { + "name": "Reflection", + "category": "Photography", + "subcategory": "Night & Long Exposure", + "content": "reflection photography, mirror-like surfaces, symmetry, visual echoes, capturing dual realities, distorted perspectives, ethereal beauty, introspective imagery, mesmerizing patterns, reflecting mood and emotion, creating visual depth, playing with perception" + }, + "Sport": { + "name": "Sport", + "category": "Photography", + "subcategory": "Documentary & Street", + "content": "sport photography, action-packed moment, dynamic, intense competition, thrilling movement, showcasing skill, conveying energy, adrenaline-fueled visuals, immersive experience, storytelling through action, dramatic composition, showcasing passion, capturing decisive moments, vibrant colors, dynamic composition, powerful imagery, engaging perspective" + }, + "StillLife": { + "name": "Still Life", + "category": "Photography", + "subcategory": "Product & Still Life", + "content": "still life photography, capturing tranquility, timeless beauty, meticulous arrangement, exquisite detail, professional lighting, expert composition, evocative mood, storytelling through objects, artistic interpretation, creative expression, showcasing textures, intricate patterns, enhancing atmosphere, conveying emotions, masterful technique, immersive experience" + }, + "Surreal": { + "name": "Surreal", + "category": "Photography", + "subcategory": "Experimental & Surreal", + "content": "surreal photography, dreamlike imagery, subconscious exploration, bending reality, imaginative narratives, juxtaposing elements, evoking wonder and awe, transcending boundaries, challenging perceptions, fantastical landscapes, otherworldly atmospheres" + }, + "TimeLapse": { + "name": "Time-lapse", + "category": "Photography", + "subcategory": "Night & Long Exposure", + "content": "time-lapse photography, dynamic motion, fluid transition, changing landscape, evolving scene, captivating visual storytelling, accelerated time" + }, + "Underwater": { + "name": "Underwater", + "category": "Photography", + "subcategory": "Nature & Wildlife", + "content": "underwater photography, otherworldly landscape, unique perspective, ethereal lighting, dynamic composition, captivating underwater scene, immersive, serene, expert lighting technique, breathtaking moment captured" + }, + "Vintage": { + "name": "Vintage Photography", + "category": "Photography", + "subcategory": "Fine Art & B&W", + "content": "vintage photography, nostalgic charm, timeless appeal, old-world aesthetics, classic elegance, warm tones, soft focus, aged textures, evoking nostalgia, historical ambiance, storytelling through imagery, vintage atmosphere, timeless compositions, authentic vintage look, professional technique" + }, + "Wildlife": { + "name": "Wildlife", + "category": "Photography", + "subcategory": "Nature & Wildlife", + "content": "wildlife photography, capturing nature's beauty, breathtaking landscapes, immersive experience, storytelling through imagery, showcasing wildlife behavior, sharp details, evocative composition, unique perspective" + }, + "AbstractExpressionism": { + "name": "Abstract Expressionism", + "category": "Painting", + "subcategory": "Modern & Abstract", + "content": "Abstract Expressionism art style, emphasizes spontaneous and gestural brushwork, explores emotions and inner thoughts, non-representational and subjective, influenced by the subconscious and the act of painting itself" + }, + "Acrylic": { + "name": "Acrylic", + "category": "Painting", + "subcategory": "Acrylic & Gouache", + "content": "Acrylic Paint art style, fast-drying paint, versatile, vibrant colors, expressive brushwork, rich textures, dynamic compositions, bold contrasts, layered depth, tactile quality, fluid movement, lively energy, immersive atmosphere, professional-grade finish" + }, + "Aerosol": { + "name": "Aerosol", + "category": "Painting", + "subcategory": "Street & Graffiti", + "content": "Aerosol paint art style, spray painted, vibrant colors, seamless blending, dynamic compositions, bold contrasts, urban aesthetic, professional-grade results" + }, + "ChildrenBookArt": { + "name": "Children Book Art", + "category": "Painting", + "subcategory": "Digital", + "content": "digital painting, whimsical children's book art style, charming and inviting illustration style, soft and rounded shapes, warm and inviting color palette, creates a friendly and serene atmosphere, simplicity and clarity make it accessible and enjoyable for a wide audience, imaginative scene with fantastical elements in a storybook-like setting, encourages viewer's sense of wonder and exploration" + }, + "ChineseInkBrush": { + "name": "Chinese Ink Brush", + "category": "Painting", + "subcategory": "Ink & Eastern", + "content": "Chinese ink brush art style, graceful brushwork, elegant compositions, traditional motifs, professional-grade execution, captures the essence of Chinese culture and aesthetics" + }, + "Digital": { + "name": "Digital", + "category": "Painting", + "subcategory": "Digital", + "content": "Digital painting art style, dynamic composition, professional-grade execution" + }, + "DigitalFantasyGameArt": { + "name": "Digital Fantasy Game Art", + "category": "Painting", + "subcategory": "Digital", + "content": "digital painting art style, fantasy video game concept art style, dynamic and richly detailed composition, vibrant colors, action-packed scene, emphasizes dramatic poses and expressive faces, immersive environments with fantasy backgrounds, designed to draw viewers into fantastical worlds, typical for character and environment designs in video games" + }, + "FantasyArt": { + "name": "Fantasy Art", + "category": "Painting", + "subcategory": "Fantasy & Concept", + "content": "Fantasy painting art style, imaginative, dynamic composition, professional-grade execution, creates immersive world and landscape, painterly, epic, magical" + }, + "FantasyCartoon": { + "name": "Fantasy Cartoon", + "category": "Painting", + "subcategory": "Fantasy & Concept", + "content": "Fantasy cartoon concept art style, cartoon cute digital painting, imaginative, dynamic composition, whimsical expression, adorable, playful character, professional-grade execution, creates immersive world and landscape, brush strokes" + }, + "FantasyDigitalArt": { + "name": "Fantasy Digital Art", + "category": "Painting", + "subcategory": "Digital", + "content": "Fantasy concept art style, digital painting, imaginative, dynamic composition, professional-grade execution, creates immersive world and landscape, brush strokes, epic, magical" + }, + "FantasyGameConceptItem": { + "name": "Fantasy Game Concept Item", + "category": "Painting", + "subcategory": "Fantasy & Concept", + "content": "Fantasy game concept art on solid color background, game item design, detailed and painterly style, focus on fantasy elements, attention to texture and additional elements like, suitable for video games or animation" + }, + "Fresco": { + "name": "Fresco", + "category": "Painting", + "subcategory": "Classical & Fresco", + "content": "Fresco painting art style, ancient painting technique dating back to antiquity, rich colors and textures, timeless aesthetic, historical significance, evokes a sense of tradition and craftsmanship" + }, + "Gouache": { + "name": "Gouache", + "category": "Painting", + "subcategory": "Acrylic & Gouache", + "content": "gouache painting style, gouache opaque colors, matte finish, vibrant hues, dynamic compositions, professional-grade result, adds depth and texture" + }, + "GouacheCartoon": { + "name": "Gouache Cartoon", + "category": "Painting", + "subcategory": "Acrylic & Gouache", + "content": "gouache painting style, gouache vibrant colors, adorable, whimsical expression, playful character, dynamic compositions, professional-grade result, adds depth and texture" + }, + "Graffiti": { + "name": "Graffiti", + "category": "Painting", + "subcategory": "Street & Graffiti", + "content": "Graffiti aerosol painting art style, bold composition, vibrant colors, mural, urban aesthetic, hip hop culture" + }, + "Grimdark": { + "name": "Grimdark", + "category": "Painting", + "subcategory": "Fantasy & Concept", + "content": "Grimdark painting art style, dark and brooding composition, dramatic lighting, captures the sinister and macabre atmosphere" + }, + "Impasto": { + "name": "Impasto", + "category": "Painting", + "subcategory": "Oil & Impasto", + "content": "impasto painting art style, thick and textured brushwork, vibrant colors, tactile quality, expressive strokes, dynamic compositions, bold contrasts, dramatic lighting effects, immersive texture, professional-grade finish, adds depth and dimension, creates visual interest" + }, + "ImpressionismPaintingStyle": { + "name": "Impressionism Painting Style", + "category": "Painting", + "subcategory": "Modern & Abstract", + "content": "Impressionism painting art style, loose brushwork, captures the fleeting effects of light and atmosphere" + }, + "MagicRealism": { + "name": "Magic Realism", + "category": "Painting", + "subcategory": "Modern & Abstract", + "content": "Magic realism painting art style, surreal compositions, vibrant colors, blurs the line between reality and fantasy" + }, + "OilPainting": { + "name": "Oil Painting", + "category": "Painting", + "subcategory": "Oil & Impasto", + "content": "oil painting art style, rich colors, lush textures, expressive brushwork, blendable layers, dynamic compositions, professional-grade finish, versatile medium, timeless elegance, immersive depth, vibrant hues, intricate detailing, adds depth and dimension" + }, + "PaletteKnife": { + "name": "Palette Knife", + "category": "Painting", + "subcategory": "Oil & Impasto", + "content": "palette knife painting art style, bold textures, impasto effects, expressive strokes, vibrant colors, dynamic compositions, professional-grade finish, adds depth and dimension, creates tactile quality, immersive texture, contemporary aesthetic" + }, + "Pointillism": { + "name": "Pointillism", + "category": "Painting", + "subcategory": "Modern & Abstract", + "content": "Pointillism art style, uses dots of color to create images, optical blending creates vibrant and textured surfaces" + }, + "Renaissance": { + "name": "Renaissance", + "category": "Painting", + "subcategory": "Classical & Fresco", + "content": "oil painting art style from Renaissance period, masterful composition, Renaissance mood, renaissance oil painting, brush strokes" + }, + "Retrofuturism": { + "name": "Retrofuturism", + "category": "Sci-Fi & Futurism", + "subcategory": "Retro-Futurism", + "content": "Retrofuturism painting art style, nostalgic composition, combines retro aesthetics with futuristic elements" + }, + "SumiEPainting": { + "name": "Sumi-e Painting", + "category": "Painting", + "subcategory": "Ink & Eastern", + "content": "Sumi-e painting style, traditional Japanese ink wash painting, emphasizes simplicity and elegance, expressive brushwork, captures the essence of the subject with minimal strokes, meditative and reflective" + }, + "Watercolor": { + "name": "Watercolor", + "category": "Painting", + "subcategory": "Watercolor", + "content": "Watercolor painting art style, transparent and delicate layers, luminous and ethereal effects, spontaneous and fluid compositions, subtle gradients and blending, captures light and atmosphere, creates soft and dreamy scenes" + }, + "WatercolorCartoon": { + "name": "Watercolor Cartoon", + "category": "Painting", + "subcategory": "Watercolor", + "content": "Cartoon watercolor painting style, playful cartoon character, dynamic composition, whimsical expression, soft and fluid texture, adds charm and personality, subtle gradients and blending, captures light and atmosphere, creates soft and dreamy scenes, watercolor texture" + }, + "WatercolorOnWhiteBackground": { + "name": "Watercolor on White Background", + "category": "Painting", + "subcategory": "Watercolor", + "content": "Watercolor painting art style, isolated on solid white background, transparent and delicate layers, luminous and ethereal effects, subtle gradients and blending, captures light and atmosphere, creates soft and dreamy scenes" + }, + "ArtDeco": { + "name": "Art Deco", + "category": "Illustration", + "subcategory": "Art Deco & Nouveau", + "content": "Art Deco illustration style, elegant and geometric designs, streamlined and symmetrical compositions, embodies the glamour and sophistication of the Art Deco era, influenced by modernism and machine aesthetics" + }, + "Anime": { + "name": "Anime", + "category": "Anime & Manga", + "subcategory": "Anime", + "content": "anime art style, anime digital art, expressive anime art, dynamic composition, anime style, vibrant, studio anime, highly detailed" + }, + "AnimeChibi": { + "name": "Anime Chibi", + "category": "Anime & Manga", + "subcategory": "Chibi & Kawaii", + "content": "Chibi anime art style, cute and exaggerated characters, large heads and small bodies, expressive facial features, playful and whimsical, popular in manga and anime fandoms" + }, + "AnimeKawaii": { + "name": "Anime Kawaii", + "category": "Anime & Manga", + "subcategory": "Chibi & Kawaii", + "content": "Kawaii anime art style, cute, adorable characters with big eyes and small mouths, pastel colors, playful and endearing" + }, + "AnimeMecha": { + "name": "Anime Mecha", + "category": "Anime & Manga", + "subcategory": "Mecha", + "content": "Mecha anime art style, focuses on giant robots and mechanical suits, intricate mechanical designs, dynamic action scenes, futuristic settings, appeals to fans of science fiction and action genres" + }, + "AnimeRealistic": { + "name": "Anime Realistic", + "category": "Anime & Manga", + "subcategory": "Realistic Anime", + "content": "Realistic anime art style, combines anime aesthetics with lifelike details, detailed character designs, intricate backgrounds, immersive storytelling" + }, + "Cartoon": { + "name": "Cartoon", + "category": "Illustration", + "subcategory": "Cartoon", + "content": "Cartoon illustration style, whimsical and expressive characters, exaggerated features and emotions, versatile and adaptable for various storytelling purposes" + }, + "CartoonCharacterOnWhiteBg": { + "name": "Cartoon Character on White BG", + "category": "Illustration", + "subcategory": "Cartoon", + "content": "cartoon digital painting art style, isolated on solid white background, adorable, big eyes, cute cartoon character" + }, + "ChildrenSBook": { + "name": "Children's book", + "category": "Illustration", + "subcategory": "Children's Book", + "content": "Children's book illustration style, whimsical and charming imagery, bright and playful colors, engaging characters and storytelling, cartoon" + }, + "Fantasy": { + "name": "Fantasy", + "category": "Illustration", + "subcategory": "Fantasy & Concept", + "content": "Fantasy illustration style, transports viewers to imaginative worlds, epic landscape, and heroic adventures, sparks wonder and inspiration" + }, + "FantasyCartoonOnWhiteBg": { + "name": "Fantasy Cartoon on White BG", + "category": "Illustration", + "subcategory": "Cartoon", + "content": "Watercolor cartoon illustration on solid white background, enchanted, adorable, Digital Cartoon Illustration, a simple and charming design" + }, + "Fashion2": { + "name": "Fashion Illustration", + "category": "Illustration", + "subcategory": "Classic & Editorial", + "content": "Fashion illustration style, captures the latest trends and designs in clothing and accessories, elegant and stylized figures, showcases creativity and imagination in the fashion industry" + }, + "GameArt": { + "name": "Game Art", + "category": "Illustration", + "subcategory": "Fantasy & Concept", + "content": "Game art illustration style, game illustration, diverse and immersive visuals, whimsical, dynamic characters and environments, rich color palettes, enhances storytelling and gameplay experience" + }, + "IlluminatedManuscript": { + "name": "Illuminated Manuscript", + "category": "Illustration", + "subcategory": "Classic & Editorial", + "content": "Illuminated manuscript art style illustration, medieval illustration, intricate and detailed illustration, vibrant colors and gold leaf accents, showcases meticulous craftsmanship and dedication" + }, + "PopArt": { + "name": "Pop Art", + "category": "Illustration", + "subcategory": "Comic & Pop Art", + "content": "Pop art illustration style, vibrant and bold colors, uses imagery from popular culture, incorporate elements of mass media and consumerism, celebrates the mundane and everyday objects" + }, + "Retro": { + "name": "Retro", + "category": "Illustration", + "subcategory": "Retro & Modern", + "content": "Retro illustration style, nostalgic and vintage aesthetics, inspired by design elements from past decades, evokes a sense of nostalgia and charm" + }, + "Modern": { + "name": "Modern", + "category": "Illustration", + "subcategory": "Retro & Modern", + "content": "Modern illustration style, contemporary and cutting-edge, embraces new techniques and technologies, reflects current trends and cultural influences" + }, + "Modernism": { + "name": "Modernism", + "category": "Illustration", + "subcategory": "Retro & Modern", + "content": "Modernism illustration style, embraces experimentation and abstraction, breaks away from traditional representation, explores new forms and techniques, reflects the spirit of innovation and progress." + }, + "Sticker": { + "name": "Sticker", + "category": "Illustration", + "subcategory": "Sticker", + "content": "Sticker art style isolated on solid color background" + }, + "StickerCute": { + "name": "Sticker Cute", + "category": "Illustration", + "subcategory": "Sticker", + "content": "Cute adorable cartoon sticker art style isolated on solid color background, charming and endearing characters or designs, appeals to emotions like joy and affection" + }, + "StickerWatercolor": { + "name": "Sticker Watercolor", + "category": "Illustration", + "subcategory": "Sticker", + "content": "Sticker art style isolated on solid color background, watercolor painting art style, transparent and delicate layers, luminous and ethereal effects, spontaneous and fluid compositions, subtle gradients and blending" + }, + "BlueBallpointPen": { + "name": "Blue Ballpoint Pen", + "category": "Drawing & Sketch", + "subcategory": "Ink & Pen", + "content": "dark blue color ballpoint pen drawing art style, expressive dark blue lines, dynamic compositions, professional-grade execution, captures the spontaneity and fluidity of sketching" + }, + "Caricature": { + "name": "Caricature", + "category": "Drawing & Sketch", + "subcategory": "Caricature", + "content": "Caricature art style, exaggerated features, humorous interpretation, dynamic composition, professional-grade execution, adds humor and personality, captures essence in a playful manner" + }, + "CaricatureExtreme": { + "name": "Caricature Extreme", + "category": "Drawing & Sketch", + "subcategory": "Caricature", + "content": "caricature art style, highly exaggerated features, humorous interpretation, bold and dynamic composition, professional-grade execution, adds humor and personality, captures essence in a exaggerated playful manner" + }, + "Charcoal": { + "name": "Charcoal", + "category": "Drawing & Sketch", + "subcategory": "Charcoal & Pastel", + "content": "charcoal drawing style, dramatic contrast, expressive strokes, rich textures, dynamic composition, professional-grade finish, classic aesthetic" + }, + "ColoredPencil": { + "name": "Colored Pencil", + "category": "Drawing & Sketch", + "subcategory": "Pencil & Graphite", + "content": "Colored pencil drawing art style, vibrant colors, delicate shading, professional-grade execution, captures the richness and depth of traditional drawing techniques" + }, + "Graphite": { + "name": "Graphite", + "category": "Drawing & Sketch", + "subcategory": "Pencil & Graphite", + "content": "graphite drawing art style, subtle tones, delicate shading, precise detailing, fine textures, expressive lines, intricate compositions, timeless elegance, professional-grade finish, immersive depth, classic aesthetic" + }, + "Ink": { + "name": "Ink", + "category": "Drawing & Sketch", + "subcategory": "Ink & Pen", + "content": "Ink drawing art style, bold lines, expressive strokes, high contrast, intricate details, dynamic compositions, versatile medium, professional-grade finish, classic aesthetic, adds depth and texture, timeless elegance" + }, + "Pastel": { + "name": "Pastel", + "category": "Drawing & Sketch", + "subcategory": "Charcoal & Pastel", + "content": "pastel drawing art style, pastel colors, delicate shading, dynamic composition, soft and velvety pastel textures, amazing pastel drawing" + }, + "Pen": { + "name": "Pen", + "category": "Drawing & Sketch", + "subcategory": "Ink & Pen", + "content": "pen drawing art style, precise lines, intricate details, high contrast, dynamic compositions, versatile medium, professional-grade finish, timeless elegance, creates bold and expressive strokes" + }, + "Pencil": { + "name": "Pencil", + "category": "Drawing & Sketch", + "subcategory": "Pencil & Graphite", + "content": "Pencil drawing art style, delicate shading, precise lines, professional-grade execution, captures the subtlety and texture of graphite" + }, + "Scratchboard": { + "name": "Scratchboard", + "category": "Drawing & Sketch", + "subcategory": "Ink & Pen", + "content": "Scratchboard drawing art style, intricate details, dramatic contrast, professional-grade execution, captures the tactile quality and depth of etching" + }, + "Technical": { + "name": "Technical", + "category": "Drawing & Sketch", + "subcategory": "Technical & Zentangle", + "content": "Technical drawing art style, precise and detailed, emphasizes accuracy and clarity, communicates complex ideas visually" + }, + "Zentangle": { + "name": "Zentangle", + "category": "Drawing & Sketch", + "subcategory": "Technical & Zentangle", + "content": "Zentangle drawing art style, clean, minimalist, meditative and relaxing, uses repetitive patterns and structured designs to create intricate and abstract artworks, precise lines, professional-grade execution, contrast, black and white" + }, + "Abstract": { + "name": "Abstract", + "category": "3D & Render", + "subcategory": "Abstract", + "content": "abstract 3D render, abstract 3d art, imaginative design, dynamic lighting, immersive presentation, captivating visuals, high-quality rendering techniques, innovative concept, unique aesthetics, creative compositions, visually stunning results, volumetric, 4k" + }, + "AbstractFluidDynamics": { + "name": "Abstract Fluid Dynamics", + "category": "3D & Render", + "subcategory": "Abstract", + "content": "fluid dynamics 3D art style, 3d fluid render, expressive and dynamic, vibrant contrasting colors, lively appearance, mesmerizing flow of shapes, simulation of fluid dynamics, swirling motion, bold colors blending seamlessly, abstract and captivating, fluidity and energy, mesmerizing composition, engaging viewer experience, seamless integration of colors and shapes, volumetric, 4k" + }, + "AbstractSoftForms": { + "name": "Abstract Soft Forms", + "category": "3D & Render", + "subcategory": "Abstract", + "content": "modern abstract 3D art style, focusing on organic shapes and objects, soft colors, captivating composition, tactile qualities, smoothness, softness, contrast between matte and shiny textures, depth and interest, blend of textures, minimalistic yet complex aesthetic, volumetric, 4k" + }, + "Architectural": { + "name": "Architectural", + "category": "3D & Render", + "subcategory": "Product & Architectural", + "content": "professional 3D architectural rendering, realistic visualization, intricate detailing, lifelike textures, dynamic lighting, immersive environment, photorealistic representation, captivating visuals, realistic materials, professional rendering techniques, volumetric, 4k" + }, + "Character": { + "name": "Character", + "category": "3D & Render", + "subcategory": "Character", + "content": "professional 3D character design, dynamic pose, expert character design, engaging storytelling, captivating visuals, imaginative concept, high-quality rendering, volumetric, 4k" + }, + "CharacterCartoon": { + "name": "Character Cartoon", + "category": "3D & Render", + "subcategory": "Character", + "content": "professional 3D cartoon character design, whimsical animation, vibrant personality, exaggerated features, dynamic pose, expert character design, colorful textures, engaging storytelling, versatile animation styles, captivating visuals, imaginative concepts, playful interactions, high-quality rendering, volumetric, 4k" + }, + "CharacterCartoonCute": { + "name": "Character Cartoon Cute", + "category": "3D & Render", + "subcategory": "Character", + "content": "professional 3D design of a cute and adorable cartoon character with big eyes, charming animation, endearing personality, exaggerated features, dynamic pose, captivating expression, expert character design, vibrant and colorful textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k" + }, + "GameAsset": { + "name": "Game Asset", + "category": "3D & Render", + "subcategory": "Game Asset", + "content": "3d game item, high-quality 3D rendering of a game asset, dynamic lighting, captivating visuals, seamless integration, realistic materials, high-quality rendering techniques, versatile application, innovative concepts, optimized for gaming engines, volumetric, 4k" + }, + "HardSurface": { + "name": "Hard Surface", + "category": "3D & Render", + "subcategory": "Hard Surface & Mech", + "content": "professional hard surface 3D design modeling, hard surface expert modeling, hard surface 3d render, precise detailing, captivating visuals, professional-grade design, dynamic appearance, attention-grabbing aesthetics, high-quality rendering techniques, volumetric, 4k" + }, + "Icon": { + "name": "Icon", + "category": "3D & Render", + "subcategory": "Game Asset", + "content": "3D icon design, isolated on solid background, creative icon design, minimalist, depth and dimensionality, dynamic lighting, captivating visuals, high-quality rendering techniques, volumetric, 4k" + }, + "Isometric": { + "name": "Isometric", + "category": "3D & Render", + "subcategory": "Low Poly & Isometric", + "content": "isometric 3D render, isometric 3D design, isometric perspective, precise perspective, clean, dynamic lighting, captivating visuals, immersive presentation, high-quality rendering techniques, volumetric, dramatic lighting, 4k" + }, + "LowPoly": { + "name": "Low Poly", + "category": "3D & Render", + "subcategory": "Low Poly & Isometric", + "content": "Low poly 3D design aesthetic, minimalist and stylized appearance, expert modeling software, efficient detailing, immersive presentation, captivating visuals, professional-grade design, dynamic and clean appearance, versatile application, attention-grabbing aesthetics, efficient rendering, suitable for performance-sensitive applications such as games and simulations" + }, + "Mech": { + "name": "Mech", + "category": "3D & Render", + "subcategory": "Hard Surface & Mech", + "content": "3d mechanical render, mech style, scifi, futuristic, detailed mech 3D rendering, intricate design, dynamic lighting, captivating visuals, high-quality rendering techniques, futuristic aesthetics, volumetric, 4k" + }, + "Model": { + "name": "Model", + "category": "3D & Render", + "subcategory": "Product & Architectural", + "content": "detailed 3D model representation, 3d render, captivating visuals, professional-grade design, dynamic appearance, high-quality rendering techniques, volumetric, 4k" + }, + "Product2": { + "name": "Product Render", + "category": "3D & Render", + "subcategory": "Product & Architectural", + "content": "professional 3d model, 3D product visualization, octane render, immersive presentation, photorealistic rendering, captivating visuals, realistic materials, highly detailed, volumetric, dramatic lighting, 4k" + }, + "SciFi": { + "name": "Sci-Fi Render", + "category": "3D & Render", + "subcategory": "Sci-Fi", + "content": "futuristic 3D rendering, imaginative design, dynamic lighting, immersive presentation, volumetric, futuristic elements, captivating visuals, realistic materials, high-quality rendering techniques, innovative concepts, otherworldly atmosphere, futuristic aesthetics, immersive storytelling, 4k" + }, + "Vehicle": { + "name": "Vehicle", + "category": "3D & Render", + "subcategory": "Hard Surface & Mech", + "content": "professional 3D vehicle render, realistic representation, intricate detailing, dynamic lighting, immersive presentation, seamless integration, photorealistic rendering, captivating visuals, realistic materials, high-quality rendering techniques, octane render, highly detailed, volumetric, dramatic lighting, 4k" + }, + "ColoringBookPage": { + "name": "Coloring Book Page", + "category": "Vector & Flat", + "subcategory": "Coloring Book", + "content": "Vector coloring book page style, clean and crisp lines, on solid white background, scalable and editable artwork, suitable for printing and digital coloring, promotes creativity and relaxation, black and white, contrast, profesional, minimalist" + }, + "FlatArtStyle": { + "name": "Flat Art Style", + "category": "Vector & Flat", + "subcategory": "Flat Art", + "content": "Modern flat vector style art on solid color background, minimalist, flat vector art, corporate artstyle, simplified shapes, modern color palette, modern conceptual art, clean lines, geometric forms, contemporary graphic design influence, stylized character features, playful touch, visually appealing, clear communication of ideas, suitable for modern media, web design, advertising, cheerful and engaging aesthetic, easily adaptable" + }, + "LineArt": { + "name": "Line Art", + "category": "Vector & Flat", + "subcategory": "Line Art", + "content": "black vector line art on solid white background, minimalist, vector line art style, clean lines, scalable graphics, professional-grade execution, stylized, professional vector, sleek, modern, graphic, vector graphics" + }, + "LogoSymbol": { + "name": "Logo Symbol", + "category": "Vector & Flat", + "subcategory": "Logo & Symbol", + "content": "vector logo art style, on solid color background, vector logo symbol, stylized logo, logo icon, minimalist, clean, clean and scalable designs, precise lines, professional-grade execution, emphasizes simplicity and versatility" + }, + "Silhouette": { + "name": "Silhouette", + "category": "Vector & Flat", + "subcategory": "Silhouette", + "content": "black vector silhouette on solid white background, minimalist, SVG silhouette art style, clean lines and shapes, scalable graphics, professional-grade execution, stylized, professional vector" + }, + "SilhouetteCute": { + "name": "Silhouette Cute", + "category": "Vector & Flat", + "subcategory": "Silhouette", + "content": "cute cartoon black vector silhouette on solid white background, minimalist, SVG silhouette art style, adorable, clean lines and shapes, scalable graphics, professional-grade execution, stylized cartoon, professional cartoon vector" + }, + "Avatar": { + "name": "Avatar", + "category": "Graphic Design", + "subcategory": "Web & Digital", + "content": "Avatar design style, visually appealing and distinctive avatar, professional-grade execution, represents individual or brand identity effectively, enhances online presence and engagement" + }, + "Banner": { + "name": "Banner", + "category": "Graphic Design", + "subcategory": "Poster & Banner", + "content": "Banner design style, eye-catching and informative banner, professional-grade execution, effectively communicates message or event details, captures attention" + }, + "Brochure": { + "name": "Brochure", + "category": "Graphic Design", + "subcategory": "Layout & Print", + "content": "Brochure design style, informative and visually appealing layout, professional-grade execution, effectively communicates product or service details, enhances brand credibility" + }, + "BusinessCard": { + "name": "Business card", + "category": "Graphic Design", + "subcategory": "Layout & Print", + "content": "Business card design style, professional and memorable card, professional-grade execution, effectively represents brand identity and contact information" + }, + "EventInvitation": { + "name": "Event Invitation", + "category": "Graphic Design", + "subcategory": "Layout & Print", + "content": "Event invitation design style, visually appealing and informative invitation, professional-grade execution, effectively communicates event details, encourages attendance" + }, + "Favicon": { + "name": "Favicon", + "category": "Graphic Design", + "subcategory": "Logo & Icon", + "content": "Favicon design style, isolated on white background, small and recognizable website icon, professional-grade execution, enhances brand recognition and website identity, complements overall design aesthetic" + }, + "Flyer": { + "name": "Flyer", + "category": "Graphic Design", + "subcategory": "Poster & Banner", + "content": "Flyer design style, visually appealing and informative flyer, professional-grade execution, effectively promotes an event or product, engages audience" + }, + "IconDesign": { + "name": "Icon Design", + "category": "Graphic Design", + "subcategory": "Logo & Icon", + "content": "Icon design style, visually clear and recognizable icon, professional-grade execution, effectively conveys concepts or actions, enhances user interface and experience" + }, + "IconDesignSimpleBlack": { + "name": "Icon Design Simple Black", + "category": "Graphic Design", + "subcategory": "Logo & Icon", + "content": "minimalist modern black icon design on solid white background, simple stylized icon, vector graphic icon, clean and minimalist vector icon, professional-grade execution, enhances visual clarity and simplicity" + }, + "Infographic": { + "name": "Infographic", + "category": "Graphic Design", + "subcategory": "Infographic", + "content": "Infographic design style, visually engaging and informative graphic, professional-grade execution, effectively communicates complex information or data, enhances understanding" + }, + "Letterhead": { + "name": "Letterhead", + "category": "Graphic Design", + "subcategory": "Layout & Print", + "content": "Letterhead design style, professional and branded letterhead, professional-grade execution, enhances brand identity and communication" + }, + "Logo": { + "name": "Logo", + "category": "Graphic Design", + "subcategory": "Logo & Icon", + "content": "Logo design style, custom and memorable logo, professional-grade execution, captures brand identity and values, timeless and iconic design" + }, + "MagazineLayout": { + "name": "Magazine Layout", + "category": "Graphic Design", + "subcategory": "Layout & Print", + "content": "Magazine layout design style, visually appealing and well-organized layout, professional-grade execution, effectively showcases content and articles, enhances reader experience" + }, + "Menu": { + "name": "Menu", + "category": "Graphic Design", + "subcategory": "Layout & Print", + "content": "Menu design style, visually appealing and informative menu, professional-grade execution, effectively presents food and beverage options, enhances dining experience" + }, + "Packaging": { + "name": "Packaging", + "category": "Graphic Design", + "subcategory": "Packaging & Branding", + "content": "Packaging Design, Brand Identity, Visual Communication, Product Presentation, Consumer Appeal, structural integrity, graphic elements, brand recognition, marketing impact, professional design" + }, + "Poster": { + "name": "Poster", + "category": "Graphic Design", + "subcategory": "Poster & Banner", + "content": "Poster design style, poster art, visually striking and informative poster, professional-grade execution, poster graphic design" + }, + "Website": { + "name": "Website", + "category": "Graphic Design", + "subcategory": "Web & Digital", + "content": "Website design style, web page, user-friendly interface, visually appealing layout, professional-grade execution, responsive design, enhances user experience and engagement" + }, + "Beachwear": { + "name": "Beachwear", + "category": "Fashion", + "subcategory": "Casual & Streetwear", + "content": "Beachwear fashion style, designed for leisure activities and relaxation, features lightweight and breezy clothing, reflects a carefree and laid-back attitude" + }, + "Bikini": { + "name": "Bikini", + "category": "Fashion", + "subcategory": "Glamour & Swimwear", + "content": "Bikini fashion style, bikini, reflects a sense of freedom and liberation" + }, + "Boho": { + "name": "Boho", + "category": "Fashion", + "subcategory": "Casual & Streetwear", + "content": "Boho fashion style, inspired by bohemian and hippie aesthetics, characterized by free-spirited and eclectic clothing choices, features flowing fabrics, floral prints, and ethnic-inspired details, promotes individuality and self-expression, embraces a laid-back and carefree attitude" + }, + "Cosplay": { + "name": "Cosplay", + "category": "Fashion", + "subcategory": "Costume & Cosplay", + "content": "Cosplay fashion style, allows individuals to embody their favorite fictional characters, promotes creativity and craftsmanship, features elaborate costumes and accessories, celebrates diverse interests and fandoms" + }, + "Cyberpunk": { + "name": "Cyberpunk Fashion", + "category": "Fashion", + "subcategory": "Sci-Fi & Fantasy", + "content": "Cyberpunk fashion style, inspired by futuristic dystopian settings, features high-tech and futuristic clothing, incorporates elements of technology and urban culture, promotes a bold and avant-garde aesthetic" + }, + "EmoFashion": { + "name": "Emo Fashion", + "category": "Fashion", + "subcategory": "Subculture & Alternative", + "content": "Emo fashion style, characterized by dark colors, layered clothing, and edgy accessories, allows individuals to express emotions and individuality, often incorporates elements of punk and gothic styles, promotes self-expression and authenticity" + }, + "Glamour": { + "name": "Glamour", + "category": "Fashion", + "subcategory": "Glamour & Swimwear", + "content": "Glamour fashion style, epitomizes sophistication and elegance, features luxurious fabrics like silk and satin, embellishments, promotes a polished and glamorous look, opulence and refinement" + }, + "Goth": { + "name": "Goth", + "category": "Fashion", + "subcategory": "Subculture & Alternative", + "content": "Goth fashion style, characterized by dark and dramatic clothing choices, often includes black clothing, lace, leather, and Victorian-inspired elements, promotes a sense of mystery and theatricality, celebrates beauty in the macabre, encourages self-expression and embracing the unconventional" + }, + "Metalhead": { + "name": "Metalhead", + "category": "Fashion", + "subcategory": "Subculture & Alternative", + "content": "Metalhead fashion style, inspired by heavy metal music culture, features black clothing, leather jackets, band t-shirts, and metal accessories, promotes individuality and rebellion, celebrates a love for music and expression through clothing" + }, + "Normcore": { + "name": "Normcore", + "category": "Fashion", + "subcategory": "Casual & Streetwear", + "content": "Normcore fashion style, embraces simplicity and everyday clothing items, focuses on comfort and practicality, promotes a minimalist and unpretentious aesthetic, encourages mixing and matching basic wardrobe staples, celebrates understated elegance and timeless style" + }, + "Preppy": { + "name": "Preppy", + "category": "Fashion", + "subcategory": "Casual & Streetwear", + "content": "Preppy fashion style, characterized by classic and timeless clothing choices, features tailored silhouettes, vibrant colors, and traditional patterns like plaid and stripes, promotes a polished and sophisticated look, reflects a sense of privilege and tradition associated with elite education" + }, + "Psychobilly": { + "name": "Psychobilly", + "category": "Fashion", + "subcategory": "Subculture & Alternative", + "content": "Psychobilly fashion style, combines elements of rockabilly, punk, and retro influences, characterized by bold prints, vintage-inspired clothing, and edgy accessories, promotes a rebellious and retro aesthetic, encourages individuality and creativity" + }, + "Rave": { + "name": "Rave", + "category": "Fashion", + "subcategory": "Subculture & Alternative", + "content": "Rave fashion style, vibrant and colorful clothing choices, featuring neon colors, bold patterns, and futuristic designs, encourages self-expression and creativity, incorporates elements of dance culture and electronic music, promotes a sense of community and celebration" + }, + "SciFi2": { + "name": "Sci-Fi Fashion", + "category": "Fashion", + "subcategory": "Sci-Fi & Fantasy", + "content": "Sci-Fi Inspired fashion style, draws inspiration from science fiction movies, and futurism, features futuristic silhouettes, and avant-garde designs, promotes imagination and innovation in fashion, explores concepts of technology" + }, + "Sexy": { + "name": "Sexy", + "category": "Fashion", + "subcategory": "Glamour & Swimwear", + "content": "Sexy fashion style, embraces sensuality and confidence, beauty, allure, reflects a bold and seductive attitude" + }, + "Sportswear": { + "name": "Sportswear", + "category": "Fashion", + "subcategory": "Casual & Streetwear", + "content": "Sportswear fashion style, designed for athletic activities and casual wear, features comfortable and functional clothing, and performance fabrics, promotes an active lifestyle and physical fitness" + }, + "Steampunk": { + "name": "Steampunk Fashion", + "category": "Fashion", + "subcategory": "Sci-Fi & Fantasy", + "content": "Steampunk fashion style, inspired by Victorian-era machinery and science fiction, features a mix of vintage clothing with futuristic elements, promotes creativity and craftsmanship, encourages DIY and upcycling, celebrates a love for exploration and adventure" + }, + "Streetwear": { + "name": "Streetwear", + "category": "Fashion", + "subcategory": "Casual & Streetwear", + "content": "Streetwear fashion style, influenced by urban culture and street fashion, features casual and comfortable clothing with bold graphics, promotes self-expression and individuality, celebrates creativity and innovation in design, reflects the diverse influences of music, art, and sports" + }, + "Vintage2": { + "name": "Vintage Fashion", + "category": "Fashion", + "subcategory": "Casual & Streetwear", + "content": "Vintage fashion style, embraces clothing and accessories from previous eras, celebrates timeless designs and craftsmanship, allows for unique and one-of-a-kind looks, evokes nostalgia and a sense of history" + }, + "Winter": { + "name": "Winter", + "category": "Fashion", + "subcategory": "Casual & Streetwear", + "content": "Winter fashion style, designed for cold weather, features cozy and warm clothing, comfort and chicness" + }, + "AfricanTraditional": { + "name": "African Traditional", + "category": "Art Movements", + "subcategory": "Cultural & Folk", + "content": "African traditional art style, bold patterns, vibrant colors, intricate designs, dynamic compositions, cultural heritage, adds richness and depth" + }, + "AfrofuturismArt": { + "name": "Afrofuturism Art", + "category": "Sci-Fi & Futurism", + "subcategory": "Eco & Solar", + "content": "Afrofuturism art style, blend of African culture and aesthetics with futuristic elements, reimagines history and imagines alternative futures, black identity, creativity, and resilience" + }, + "AncientEgyptianMural": { + "name": "Ancient Egyptian Mural", + "category": "Art Movements", + "subcategory": "Cultural & Folk", + "content": "Ancient Egyptian mural art style, rich cultural heritage, intricate hieroglyphics, vibrant colors, symbolic motifs, depicts scenes from mythology, religion, and daily life, monumental scale, timeless beauty" + }, + "Atompunk": { + "name": "Atompunk", + "category": "Sci-Fi & Futurism", + "subcategory": "Retro-Futurism", + "content": "Atompunk art style, retro-futuristic, atomic age aesthetics, sleek and streamlined designs, nuclear energy motifs, optimism about technological progress" + }, + "Baroque": { + "name": "Baroque", + "category": "Art Movements", + "subcategory": "Classical & Baroque", + "content": "Baroque art style, dynamic composition, dramatic lighting, rich colors, intricate details, professional-grade execution, captures the grandeur and theatricality of the Baroque period" + }, + "Biomechanical": { + "name": "Biomechanical", + "category": "Sci-Fi & Futurism", + "subcategory": "Bio & Cyber", + "content": "Biomechanical art style, Biology, Machinery, Intricate, Surreal, Organic Forms, Mechanical Structures, Futuristic, Cyberpunk, Fusion, Nature, Technology" + }, + "Biopunk": { + "name": "Biopunk", + "category": "Sci-Fi & Futurism", + "subcategory": "Bio & Cyber", + "content": "Biopunk art style, explores genetic engineering, biohacking, and biotechnology, organic and living elements, dystopian or utopian visions of a genetically modified future" + }, + "ByzantineIcon": { + "name": "Byzantine Icon", + "category": "Art Movements", + "subcategory": "Classical & Baroque", + "content": "Byzantine icon oil painting art style, intricate details, rich colors, religious symbolism, cultural significance, professional-grade execution, spiritual, religious" + }, + "Cartoon2": { + "name": "Cartoon Character", + "category": "Illustration", + "subcategory": "Cartoon", + "content": "cartoon art style, whimsical character, exaggerated features, vibrant colors, dynamic composition, expressive pose, professional-grade finish, adds humor and charm" + }, + "Claymation": { + "name": "Claymation", + "category": "3D & Render", + "subcategory": "Character", + "content": "Claymation art style, tactile and three-dimensional character, dynamic animation, captures the charm and whimsy of stop-motion animation, suitable for various storytelling and advertising" + }, + "ComicBookStyle": { + "name": "Comic Book Style", + "category": "Illustration", + "subcategory": "Comic & Pop Art", + "content": "comic book art style, comics, dynamic lines, vibrant colors, expressive characters, action-packed composition, adds energy and excitement" + }, + "Constructivism": { + "name": "Constructivism", + "category": "Art Movements", + "subcategory": "Modern (20th C.)", + "content": "Constructivism Art Style, Industrial materials, geometric abstraction, social purposes, modernity, functional art, the machine age and collective labor, fosters innovation and collaboration" + }, + "Cubism": { + "name": "Cubism", + "category": "Art Movements", + "subcategory": "Modern (20th C.)", + "content": "cubism art style, fragmented forms, geometric shapes, dynamic compositions, vibrant colors, innovative technique, cultural significance" + }, + "CybergothArt": { + "name": "Cybergoth Art", + "category": "Sci-Fi & Futurism", + "subcategory": "Cyberpunk", + "content": "Cybergoth art style, futuristic and edgy aesthetic, combines cyberpunk and gothic elements, neon colors, industrial motifs, alternative fashion and culture" + }, + "Cyberpunk2": { + "name": "Cyberpunk", + "category": "Sci-Fi & Futurism", + "subcategory": "Cyberpunk", + "content": "Cyberpunk art style, futuristic cityscapes, neon-lit streets, high-tech and low-life, cybernetic enhancements, dystopian and gritty atmosphere" + }, + "Dadaism": { + "name": "Dadaism", + "category": "Art Movements", + "subcategory": "Modern (20th C.)", + "content": "Dadaism Art Style, Anti-art, absurdity, irony, spontaneity, rejecting conventional aesthetics, collage art" + }, + "DarkAcademia": { + "name": "Dark Academia", + "category": "Art Movements", + "subcategory": "Contemporary", + "content": "Dark Academia art style, evokes the atmosphere of scholarly pursuits and literary classics, rich and moody color palettes, intricate details" + }, + "Deco": { + "name": "Deco", + "category": "Illustration", + "subcategory": "Art Deco & Nouveau", + "content": "Art Deco style, Symmetry, streamlined shapes, geometric patterns, luxury, modernity, glamour, sleek lines" + }, + "Dieselpunk": { + "name": "Dieselpunk", + "category": "Sci-Fi & Futurism", + "subcategory": "Retro-Futurism", + "content": "Dieselpunk art style, retro-futuristic, industrial aesthetics, mechanical marvels, alternative history, gritty and dystopian atmosphere" + }, + "Egyptian": { + "name": "Egyptian", + "category": "Art Movements", + "subcategory": "Cultural & Folk", + "content": "Egyptian art style, iconic symbolism, intricate hieroglyphics, dynamic composition, Egyptian cultural significance" + }, + "Futurism": { + "name": "Futurism", + "category": "Art Movements", + "subcategory": "Modern (20th C.)", + "content": "Futurism art style, dynamic composition, bold geometric forms, vibrant colors, captures the spirit of technological advancement and modernity" + }, + "Gilded": { + "name": "Gilded", + "category": "Art Movements", + "subcategory": "Classical & Baroque", + "content": "Gilded art style, opulent, luxurious, metallic elements, divine symbolism, fine craftsmanship" + }, + "Glitch": { + "name": "Glitch", + "category": "Sci-Fi & Futurism", + "subcategory": "Synthwave & Vaporwave", + "content": "Glitch art style, embraces digital errors and glitches, distorted and fragmented imagery, experimental and abstract, challenges traditional notions of perfection and beauty" + }, + "Gothic": { + "name": "Gothic", + "category": "Art Movements", + "subcategory": "Contemporary", + "content": "Gothic art style, gothic details, dramatic compositions, rich symbolism" + }, + "Interstellar": { + "name": "Interstellar", + "category": "Sci-Fi & Futurism", + "subcategory": "Space & Cosmic", + "content": "Interstellar art style, Cosmic, Space, Celestial, Galactic, Nebulae, Stars, Planets, Exploration, Unknown, Infinity, Futuristic" + }, + "JapaneseTraditional": { + "name": "Japanese Traditional", + "category": "Art Movements", + "subcategory": "Cultural & Folk", + "content": "Japanese traditional art style, delicate lines, subtle colors, intricate details, dynamic compositions, cultural heritage, adds elegance and sophistication" + }, + "Linocut": { + "name": "Linocut", + "category": "Drawing & Sketch", + "subcategory": "Ink & Pen", + "content": "Linocut art style, relief printing, bold and graphic imagery with striking contrasts" + }, + "LuchaLibre": { + "name": "Lucha Libre", + "category": "Illustration", + "subcategory": "Comic & Pop Art", + "content": "Lucha libre art style, dynamic and colorful compositions, exaggerated characters, captures the excitement and energy of Mexican wrestling culture" + }, + "Mayan": { + "name": "Mayan", + "category": "Art Movements", + "subcategory": "Cultural & Folk", + "content": "Mayan art style, rich cultural heritage, intricate geometric patterns, mayan colors, reflects the spiritual and artistic achievements of the Maya civilization" + }, + "Minoan": { + "name": "Minoan", + "category": "Art Movements", + "subcategory": "Cultural & Folk", + "content": "Minoan art style, dynamic composition, Minoan cultural significance, adds depth and richness" + }, + "Naive": { + "name": "Naive", + "category": "Art Movements", + "subcategory": "Modern (20th C.)", + "content": "Naive art style, simplistic and childlike aesthetic, spontaneous and untrained, captures innocence and purity, features bold colors, exaggerated perspectives, and whimsical themes" + }, + "Necropunk": { + "name": "Necropunk", + "category": "Sci-Fi & Futurism", + "subcategory": "Bio & Cyber", + "content": "Necropunk art style, dark and macabre, blending of death and technology, eerie and unsettling imagery, explores themes of mortality and decay, unique and thought-provoking concepts" + }, + "Nouveau": { + "name": "Nouveau", + "category": "Illustration", + "subcategory": "Art Deco & Nouveau", + "content": "Art Nouveau art style, elegant and organic forms, intricate floral motifs, flowing lines, decorative and ornate, influenced architecture, design, and visual arts in the late 19th and early 20th centuries" + }, + "PixelArt": { + "name": "Pixel Art", + "category": "Illustration", + "subcategory": "Pixel & Game", + "content": "pixel art style, pixelated design, flat, uses pixelated graphics reminiscent of classic video games, charming simplicity, intricate detailing despite limited resolution" + }, + "PopArt2": { + "name": "Pop Art Bold", + "category": "Illustration", + "subcategory": "Comic & Pop Art", + "content": "Pop art style, vibrant colors, bold outlines, use of popular culture imagery, iconic and recognizable, consumerism and mass media" + }, + "Propaganda": { + "name": "Propaganda", + "category": "Graphic Design", + "subcategory": "Poster & Banner", + "content": "propaganda art style, bold and persuasive imagery, dynamic compositions, serves as a powerful tool for communication and persuasion" + }, + "Psychedelic": { + "name": "Psychedelic", + "category": "Art Movements", + "subcategory": "Contemporary", + "content": "Psychedelic art style, vibrant and surreal imagery, kaleidoscopic patterns, intense colors, mind-expanding and hallucinatory, reflects the psychedelic experience and counterculture movement" + }, + "Rococo": { + "name": "Rococo", + "category": "Art Movements", + "subcategory": "Classical & Baroque", + "content": "Rococo art style, ornate, light-hearted, elegant, decorative, playful subjects, asymmetrical designs" + }, + "Solarpunk": { + "name": "Solarpunk", + "category": "Sci-Fi & Futurism", + "subcategory": "Eco & Solar", + "content": "Solarpunk art style, optimistic vision of the future, sustainable technology, renewable energy sources, lush and green landscapes, community and harmony with nature" + }, + "Stencil": { + "name": "Stencil", + "category": "Painting", + "subcategory": "Street & Graffiti", + "content": "Street Art, Urban setting, graffiti, murals, social messages, public spaces, anonymity, vibrant visuals" + }, + "StreetArt": { + "name": "Street Art", + "category": "Painting", + "subcategory": "Street & Graffiti", + "content": "Stencil art style, urban and contemporary, graphic and bold imagery" + }, + "Steampunk2": { + "name": "Steampunk", + "category": "Sci-Fi & Futurism", + "subcategory": "Retro-Futurism", + "content": "Steampunk art style, Victorian-era aesthetics, steam-powered machinery, brass and gears, fantastical inventions, retro-futuristic adventure" + }, + "Surrealism": { + "name": "Surrealism", + "category": "Art Movements", + "subcategory": "Modern (20th C.)", + "content": "Surrealism art style, dreamlike and irrational imagery, explores the unconscious mind, juxtaposition of unlikely elements, challenges reality and logic" + }, + "Synthwave": { + "name": "Synthwave", + "category": "Sci-Fi & Futurism", + "subcategory": "Synthwave & Vaporwave", + "content": "Synthwave art style, retro-futuristic aesthetic, vibrant neon colors, nostalgic 80s imagery, futuristic landscapes, nostalgic and atmospheric" + }, + "UkrainianFolkArt": { + "name": "Ukrainian Folk Art", + "category": "Art Movements", + "subcategory": "Cultural & Folk", + "content": "Ukrainian folk art style, vibrant colors, intricate patterns, dynamic compositions, traditional motifs, cultural heritage, adds richness and depth" + }, + "Vaporwave": { + "name": "Vaporwave", + "category": "Sci-Fi & Futurism", + "subcategory": "Synthwave & Vaporwave", + "content": "Vaporwave art style, nostalgic and surreal aesthetic, 80s and 90s retro imagery, glitch art elements, pastel colors, dreamy and ethereal atmosphere" + }, + "Westernpunk": { + "name": "Westernpunk", + "category": "Sci-Fi & Futurism", + "subcategory": "Retro-Futurism", + "content": "Westernpunk art style, fusion of Wild West and futuristic elements, rugged landscapes, cowboy aesthetics, steam-powered technology, adventurous spirit" + }, + "Ceramic": { + "name": "Ceramic", + "category": "Crafts & Materials", + "subcategory": "Ceramic & Porcelain", + "content": "Ceramic craft style, versatile and durable, pottery and ceramic artwork, showcases creativity and craftsmanship" + }, + "CeramicCibulak": { + "name": "Ceramic Cibulak", + "category": "Crafts & Materials", + "subcategory": "Ceramic & Porcelain", + "content": "Cibulak porcelain art style, delicate and intricately detailed porcelain creations, traditional Kazakh craftsmanship, exquisite hand-painted designs, cultural heritage preservation" + }, + "CeramicGlass": { + "name": "Ceramic Glass", + "category": "Crafts & Materials", + "subcategory": "Ceramic & Porcelain", + "content": "Ceramic glass craft style, combines ceramic and glass materials to create unique and innovative artwork, offers versatility in texture and transparency, allows for experimentation with light and color" + }, + "CeramicMoche": { + "name": "Ceramic Moche", + "category": "Crafts & Materials", + "subcategory": "Ceramic & Porcelain", + "content": "Moche craft style, ancient Peruvian civilization known for its intricate ceramic vessels and figurines, rich cultural and artistic heritage, showcases advanced craftsmanship and artistic skill" + }, + "CeramicPorcelain": { + "name": "Ceramic Porcelain", + "category": "Crafts & Materials", + "subcategory": "Ceramic & Porcelain", + "content": "Ceramic porcelain craft style, utilizes porcelain clay to create delicate and translucent artworks, smooth texture and white color, allows for intricate detailing and precise forms" + }, + "Crochet": { + "name": "Crochet", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Crochet craft style, versatile and creative, yarn" + }, + "CrochetAmigurumi": { + "name": "Crochet Amigurumi", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Amigurumi crochet style, Japanese art, cute and whimsical designs, fosters creativity and handcrafting skills" + }, + "CrossStitching": { + "name": "Cross-stitching", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Cross-stitching art style, traditional and timeless craft, precise and meticulous stitching technique, intricate and decorative piece" + }, + "Embossed": { + "name": "Embossed", + "category": "Crafts & Materials", + "subcategory": "Leather & Other", + "content": "Embossed art style, raised and textured surfaces, adds depth and dimension to artwork, tactile and interactive" + }, + "Embroidery": { + "name": "Embroidery", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Embroidery art style, decorative designs on fabric, intricate stitching techniques, adds texture and dimension to artwork" + }, + "Felt": { + "name": "Felt", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Felt art style, tactile and textural, intricate detailing and layering" + }, + "GobelinTapestry": { + "name": "Gobelin Tapestry", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Gobelin tapestry art style, intricate woven designs, rich colors and textures" + }, + "Kirigami": { + "name": "Kirigami", + "category": "Crafts & Materials", + "subcategory": "Paper", + "content": "Kirigami art style, combines paper cutting with origami folding techniques, creates intricate and dynamic paper sculptures, encourages creativity and precision" + }, + "KnittingArt": { + "name": "Knitting Art", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Knitting art style, fabric and patterns, intricate designs and textures" + }, + "Lapidary": { + "name": "Lapidary", + "category": "Crafts & Materials", + "subcategory": "Leather & Other", + "content": "Lapidary art style, intricate and precise craftsmanship in cutting and polishing gemstones, creates dazzling and unique pieces of jewelry and sculpture, showcases the natural beauty of mineral" + }, + "LaserEngravingWood": { + "name": "Laser Engraving Wood", + "category": "Crafts & Materials", + "subcategory": "Wood & Metal", + "content": "Laser engraving art style, precise and detailed engraving on plywood, allows for intricate designs and patterns, modern and versatile technique, flat, wood engraving art" + }, + "Leatherworking": { + "name": "Leatherworking", + "category": "Crafts & Materials", + "subcategory": "Leather & Other", + "content": "Leatherworking art style, craftsmanship of creating designs and patterns on leather, carving, stamping, and dyeing techniques" + }, + "Macrame": { + "name": "Macrame", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Macrame art style, uses knotting techniques to create textiles or decorative items, versatile and tactile craft, allows for intricate patterns and designs" + }, + "Marquetry": { + "name": "Marquetry", + "category": "Crafts & Materials", + "subcategory": "Wood & Metal", + "content": "Marquetry art style, intricate wood inlay technique, creates decorative patterns and images using veneers of different woods, showcases craftsmanship and attention to detail" + }, + "Metalwork": { + "name": "Metalwork", + "category": "Crafts & Materials", + "subcategory": "Wood & Metal", + "content": "Metalwork art style, manipulation of metal to create sculptures, showcases craftsmanship and technical skill, intricate and durable designs" + }, + "Mosaic": { + "name": "Mosaic", + "category": "Crafts & Materials", + "subcategory": "Glass & Mosaic", + "content": "mosaic art style, versatile and decorative, uses small pieces of tile, adds color and texture, glossy, sharp" + }, + "MosaicRoman": { + "name": "Mosaic Roman", + "category": "Crafts & Materials", + "subcategory": "Glass & Mosaic", + "content": "Roman mosaic art style, intricate and colorful mosaic designs, depict scenes from mythology, daily life, and nature, showcases superb craftsmanship and attention to detail, cultural and historical significance" + }, + "Needlepoint": { + "name": "Needlepoint", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Needlepoint art style, needlepoint intricate and detailed design created through stitching, rich texture and depth, intricate patterns and color variations, fosters creativity and craftsmanship" + }, + "Origami": { + "name": "Origami", + "category": "Crafts & Materials", + "subcategory": "Paper", + "content": "Origami art style, traditional Japanese paper folding technique, creates intricate sculptures and designs from paper" + }, + "PaperCut": { + "name": "Paper Cut", + "category": "Crafts & Materials", + "subcategory": "Paper", + "content": "minimalist Paper cut craft style, designs cut from paper, allows for detailed and delicate artwork" + }, + "Plasticine": { + "name": "Plasticine", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Plasticine art style, malleable and colorful modeling material, ideal for sculpting and creating 3D artwork" + }, + "Pyrography": { + "name": "Pyrography", + "category": "Crafts & Materials", + "subcategory": "Wood & Metal", + "content": "Pyrography art style, uses heat to burn designs onto wood, creates intricate and permanent markings, showcases craftsmanship and attention to detail" + }, + "Quilted": { + "name": "Quilted", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Quilted art style, combines fabric and stitching to create intricate designs and patterns, reflects cultural traditions and personal stories, tactile and cozy, showcases craftsmanship and creativity" + }, + "Scrapbooking": { + "name": "Scrapbooking", + "category": "Crafts & Materials", + "subcategory": "Paper", + "content": "Scrapbooking art style, creative arrangement of photographs, memorabilia, and decorative elements in albums or displays, preserves memories and tells stories" + }, + "Sculpture": { + "name": "Sculpture", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Sculpture craft style, three-dimensional art form, allows for the creation of expressive and tactile works using various materials , embodies creativity and artistic vision" + }, + "SculptureBronze": { + "name": "Sculpture Bronze", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Bronze sculpture craft style, utilizes bronze as the primary material for creating three-dimensional artworks, known for its durability and timeless beauty, allows for intricate detailing and expressive forms" + }, + "SculptureAlebrije": { + "name": "Sculpture Alebrije", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Alebrije sculpture style, vibrant and fantastical Mexican folk art, intricate and whimsical animal figures, handcrafted, celebrates creativity and imagination" + }, + "SculptureBasRelief": { + "name": "Sculpture Bas-relief", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Bas-relief art style, sculptural technique where figures or designs are raised slightly from the background, creates depth and texture" + }, + "SculptureClay": { + "name": "Sculpture Clay", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Clay sculpture craft style, utilizes clay as the primary material for creating three-dimensional artworks, allows for versatile shaping and modeling technique" + }, + "SculptureHaniwa": { + "name": "Sculpture Haniwa", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Haniwa craft style, ancient Japanese burial sculptures, simplistic and stylized figure, cultural and historical significance, preserves traditional craftsmanship and artistry" + }, + "SculptureJade": { + "name": "Sculpture Jade", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Jade sculpture craft style, utilizes jade as the primary material for creating three-dimensional artworks, esteemed for its beauty and cultural significance, allows for intricate carving and sculpting techniques" + }, + "SculptureMarble": { + "name": "Sculpture Marble", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Marble sculpture craft style, utilizes marble as the primary material for creating three-dimensional artworks, renowned for its elegance and beauty, allows for intricate detailing and smooth finishes, timeless and enduring" + }, + "SculptureNetsuke": { + "name": "Sculpture Netsuke", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Netsuke craft style, traditional Japanese miniature sculpture, intricately carved and detailed, functional and decorative, reflects Japanese culture and craftsmanship" + }, + "SculptureOlmec": { + "name": "Sculpture Olmec", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Olmec craft style, ancient Mesoamerican art tradition, iconic stone sculpture and figurine, rich cultural heritage, significant influence on subsequent civilizations" + }, + "SculptureGold": { + "name": "Sculpture Gold", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Gold sculpture craft style, utilizes gold as the primary material for creating three-dimensional artworks, embodies luxury and opulence, allows for intricate detailing and fine craftsmanship" + }, + "SculptureSand": { + "name": "Sculpture Sand", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Sand sculpture art style, temporary and ephemeral art form created by shaping and carving sand, showcases creativity and skill" + }, + "SculptureStone": { + "name": "Sculpture Stone", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Stone sculpture craft style, utilizes stone as the primary material for creating three-dimensional artworks, allows for intricate carving and sculpting techniques, durable and long-lasting, embodies strength and solidity" + }, + "SculptureWood": { + "name": "Sculpture Wood", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Wooden sculpture craft style, utilizes wood as the primary material for creating three-dimensional artworks, showcases the natural beauty and texture of wood, allows for intricate detailing and expressive forms" + }, + "SculptureWoodCarving": { + "name": "Sculpture Wood Carving", + "category": "Crafts & Materials", + "subcategory": "Sculpture", + "content": "Wood carving art style, sculptural technique that involves carving wood to create three-dimensional forms, showcases craftsmanship and precision" + }, + "ShadowboxPaper": { + "name": "Shadowbox Paper", + "category": "Crafts & Materials", + "subcategory": "Paper", + "content": "3D papercut shadowbox art style, intricate paper cutting technique to create layered scenes or designs, plays with light and shadow, adds depth and dimensionality to artwork, depth, silhouette" + }, + "ShadowboxWood": { + "name": "Shadowbox Wood", + "category": "Crafts & Materials", + "subcategory": "Wood & Metal", + "content": "cat, 3D wood shadowbox art style, layers of wood cut and assembled to create dimensional scenes or designs, natural textures and tones, adds warmth and depth to artwork, depth, silhouette" + }, + "3DLayeredPlywoodWallArt": { + "name": "3D Layered Plywood Wall Art", + "category": "Crafts & Materials", + "subcategory": "Wood & Metal", + "content": "3D plywood laser cut, symmetrical, 3D layered wood wall art style, stacked layers made from plywood, laser cut, on white painted wall, stacked, 3d layered, minimalist, layered, dimensional, depth, silhouette, shadow, handmade, high contrast" + }, + "StainedGlass": { + "name": "Stained Glass", + "category": "Crafts & Materials", + "subcategory": "Glass & Mosaic", + "content": "Stained glass art style, vitrail, isolated on solid color background, vibrant colors, intricate patterns, luminous effects when hit by sunlight, traditional craftsmanship, flat" + }, + "Tapestry": { + "name": "Tapestry", + "category": "Crafts & Materials", + "subcategory": "Textile", + "content": "Tapestry art style, woven textile technique, intricate designs and patterns" + }, + "AlienCreature3D": { + "name": "Alien Creature 3D", + "category": "3D & Render", + "subcategory": "Character", + "content": "Professional 3D design of a cute and quirky alien creature with big curious eyes, charming animation, endearing personality, exaggerated features, dynamic pose, captivating expression, expert character design, vibrant and otherworldly textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k" + }, + "ApocalypticSurrealism": { + "name": "Apocalyptic Surrealism", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Apocalyptic surrealism art style, digital painting, eerie and haunting, surreal landscapes, dystopian ruins, twisted reality, dreamlike and nightmarish scenes, vibrant and dark color palette, intricate details, professional-grade execution, evokes a sense of doom and otherworldliness" + }, + "AztecSculpture3D": { + "name": "Aztec Sculpture 3D", + "category": "3D & Render", + "subcategory": "Character", + "content": "Aztec sculpture 3D art style, intricate geometric patterns, stylized figures, rich cultural symbolism, professional-grade execution, volumetric, 4k" + }, + "BioLuminousArt": { + "name": "Bio-Luminous Art", + "category": "Sci-Fi & Futurism", + "subcategory": "Bio & Cyber", + "content": "Bio-luminous illustration style, combines biological forms with luminous effects, vibrant and glowing, dynamic composition, professional-grade execution, captures the essence of living organisms with an ethereal glow, evokes a sense of wonder and fascination" + }, + "BioMechanicalFantasy": { + "name": "Bio-Mechanical Fantasy", + "category": "Sci-Fi & Futurism", + "subcategory": "Bio & Cyber", + "content": "Bio-mechanical fantasy illustration style, blends organic and mechanical elements, vibrant and surreal, dynamic composition, professional-grade execution, captures the essence of fantasy and science fiction, detailed and imaginative environment" + }, + "BiomechanicalAngel3D": { + "name": "Biomechanical Angel 3D", + "category": "3D & Render", + "subcategory": "Character", + "content": "Biomechanical Angel 3D character art style, fusion of organic and mechanical elements, ethereal and divine, metallic wings, mechanical details, dynamic pose, high-quality rendering techniques, professional-grade execution, volumetric, 4k" + }, + "CuteAnimal3D": { + "name": "Cute Animal 3D", + "category": "3D & Render", + "subcategory": "Stylized & Cute", + "content": "Professional 3D design of a cute cartoon animal, charming animation, endearing personality, exaggerated features, captivating expression, expert character design, vibrant and magical textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k" + }, + "CuteBoy3D": { + "name": "Cute Boy 3D", + "category": "3D & Render", + "subcategory": "Stylized & Cute", + "content": "Professional 3D design of a cute cartoon boy, charming animation, endearing personality, exaggerated features, captivating expression, expert character design, vibrant and magical textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k" + }, + "CuteCyberNinja3D": { + "name": "Cute Cyber Ninja 3D", + "category": "3D & Render", + "subcategory": "Stylized & Cute", + "content": "Professional 3D design of a cute and stealthy cyber ninja with big alert eyes, charming animation, endearing personality, exaggerated features, dynamic pose, captivating expression, expert character design, vibrant and futuristic textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k" + }, + "CuteCyberpunk": { + "name": "Cute Cyberpunk", + "category": "Anime & Manga", + "subcategory": "Chibi & Kawaii", + "content": "Cute Cyberpunk illustration art style, combines cyberpunk elements with cute aesthetics, vibrant and neon colors, dynamic and charming compositions, captures the essence of cute futuristic worlds, professional-grade execution, evokes a sense of futuristic cuteness" + }, + "CuteGirl3D": { + "name": "Cute Girl 3D", + "category": "3D & Render", + "subcategory": "Stylized & Cute", + "content": "Professional 3D design of a cute cartoon girl, charming animation, endearing personality, exaggerated features, captivating expression, expert character design, vibrant and magical textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k" + }, + "CuteKnight3D": { + "name": "Cute Knight 3D", + "category": "3D & Render", + "subcategory": "Stylized & Cute", + "content": "Professional 3D design of a cute and brave medieval knight with big noble eyes, charming animation, endearing personality, exaggerated features, dynamic pose, captivating expression, expert character design, vibrant and detailed textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k" + }, + "CuteMonster3D": { + "name": "Cute Monster 3D", + "category": "3D & Render", + "subcategory": "Stylized & Cute", + "content": "Professional 3D design of a cute cartoon monster, adorable creature, charming animation, endearing personality, exaggerated features, captivating expression, expert character design, vibrant and magical textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k" + }, + "CuteRobot3D": { + "name": "Cute Robot 3D", + "category": "3D & Render", + "subcategory": "Stylized & Cute", + "content": "Professional 3D design of a cute and friendly futuristic robot with big glowing eyes, charming animation, endearing personality, sleek and exaggerated features, dynamic pose, captivating expression, expert character design, vibrant and metallic textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k" + }, + "CuteVictorian": { + "name": "Cute Victorian", + "category": "Anime & Manga", + "subcategory": "Chibi & Kawaii", + "content": "Cute Victorian drawing art style, combines Victorian-era elegance with cute aesthetics, soft and pastel colors, dynamic and charming compositions, captures the essence of cute and historical worlds, professional-grade execution, evokes a sense of vintage charm and cuteness" + }, + "CyberCouture": { + "name": "Cyber Couture", + "category": "Sci-Fi & Futurism", + "subcategory": "Cyberpunk", + "content": "Cyber couture fashion style, inspired by futuristic and cybernetic aesthetics, uses innovative materials and designs, professional-grade execution, captures the essence of high-tech fashion, emphasizes creativity and technological advancement" + }, + "CyberneticFlora": { + "name": "Cybernetic Flora", + "category": "Sci-Fi & Futurism", + "subcategory": "Bio & Cyber", + "content": "Cybernetic flora illustration style, blends plant life with cybernetic elements, dynamic and futuristic composition, professional-grade execution, captures the beauty of bio-mechanical fusion, evokes a sense of innovation and natural harmony" + }, + "DreamscapeMapping": { + "name": "Dreamscape Mapping", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Dreamscape mapping illustration style, visualizes dreamlike landscapes and surreal environments, uses imaginative and abstract elements, dynamic composition, professional-grade execution, captures the essence of the subconscious mind, evokes a sense of wonder and mystery" + }, + "Dreamwave": { + "name": "Dreamwave", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Dreamwave illustration style, blends dreamy and surreal elements with vibrant and fluid composition, uses soft gradients and glowing effects, professional-grade execution, captures the essence of dreamscapes, evokes a sense of wonder and imagination" + }, + "DreamyAnimal": { + "name": "Dreamy Animal", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Dreamy Animal illustration art style, combines dreamy elements with adorable animals, soft and pastel colors, dynamic and charming compositions, captures the essence of cute and dreamlike animal worlds, professional-grade execution, evokes a sense of serenity and cuteness" + }, + "EldritchMinimalism": { + "name": "Eldritch Minimalism", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Eldritch Minimalism painting art style, combines minimalist and eldritch horror elements, stark and haunting compositions, muted and eerie colors, captures the essence of horror with minimalist precision, professional-grade execution, evokes a sense of existential dread and minimalist terror" + }, + "EtherealAssassin3D": { + "name": "Ethereal Assassin 3D", + "category": "3D & Render", + "subcategory": "Character", + "content": "Ethereal Assassin 3D character art style, ghostly and stealthy, shadowy figure, dynamic pose, glowing eyes, high-quality rendering techniques, professional-grade execution, volumetric, 4k" + }, + "EtherealFluidity": { + "name": "Ethereal Fluidity", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Ethereal fluidity painting art style, uses fluid and flowing brushstrokes, creates a sense of movement and lightness, dynamic and abstract composition, professional-grade execution, captures the beauty of fluid dynamics, evokes a sense of calm and serenity" + }, + "EtherealSteam": { + "name": "Ethereal Steam", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Ethereal Steam painting art style, merges steampunk elements with ethereal, ghostly imagery, soft pastel colors, wispy forms, intricate mechanical details, combines the solidity of steampunk machinery with the lightness of ethereal beings, professional-grade execution" + }, + "FaeFantasy": { + "name": "Fae Fantasy", + "category": "Illustration", + "subcategory": "Fantasy & Concept", + "content": "Fae Fantasy painting art style, blends elements of fairies and fantasy, soft lines, vibrant colors, whimsical compositions, captures the essence of magical creatures and enchanted forests, professional-grade execution, evokes a sense of fairy-tale magic and wonder" + }, + "FairyTaleChronicles": { + "name": "Fairy Tale Chronicles", + "category": "Illustration", + "subcategory": "Fantasy & Concept", + "content": "Fairy tale chronicles art style, digital painting, storybook-like illustration, charming character, vibrant and pastel colors, whimsical environments, detailed and imaginative scenes, professional-grade execution, creates an enchanting and narrative-driven world" + }, + "FairyTaleCute": { + "name": "Fairy Tale Cute", + "category": "Illustration", + "subcategory": "Fantasy & Concept", + "content": "Fairy Tale Cute painting art style, blends fairy tale elements with cute aesthetics, vibrant and pastel colors, imaginative and enchanting compositions, captures the essence of cute fairy tale worlds, professional-grade execution, evokes a sense of magic and charm" + }, + "Geomancer3D": { + "name": "Geomancer 3D", + "category": "3D & Render", + "subcategory": "Character", + "content": "Geomancer 3D character art style, earth magic user, intricate robes with stone patterns, glowing runes, dynamic pose, high-quality rendering techniques, professional-grade execution, volumetric, 4k" + }, + "HolographicChic": { + "name": "Holographic Chic", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Holographic chic fashion style, incorporates holographic and iridescent materials, futuristic and eye-catching designs, professional-grade execution, captures the essence of modern and high-tech fashion, emphasizes creativity and innovation" + }, + "LegendsDigitalPainting": { + "name": "Legends Digital Painting", + "category": "Illustration", + "subcategory": "Fantasy & Concept", + "content": "legends art style, digital painting, epic and mystical, game character with magical abilities, intricate details, rich color palette, atmospheric effects, professional-grade execution, captures the essence of ancient legends and powerful magic" + }, + "LiquidLight": { + "name": "Liquid Light", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Liquid light painting art style, uses fluid and luminous colors, creates a sense of light and movement, dynamic and abstract composition, professional-grade execution, captures the beauty of illuminated art, evokes a sense of wonder and serenity" + }, + "MythicalMechanica3D": { + "name": "Mythical Mechanica 3D", + "category": "3D & Render", + "subcategory": "Character", + "content": "Mythical Mechanica 3D render, blend of mythical creatures with mechanical elements, dynamic lighting, vibrant colors, high-quality rendering techniques, professional-grade execution, captivating visuals, volumetric, 4k" + }, + "NebulaDreams": { + "name": "Nebula Dreams", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Nebula Dreams 3D render, cosmic clouds and nebulas, vibrant colors, dynamic lighting, surreal and dreamlike, high-quality rendering techniques, professional-grade execution, captivating visuals, volumetric, 4k" + }, + "NeuralDreams": { + "name": "Neural Dreams", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Neural dreams illustration style, inspired by neural networks and artificial intelligence, abstract and surreal, dynamic compositions, vibrant and fluid colors, professional-grade execution, captures the essence of machine learning and human creativity" + }, + "OccultExpressionism": { + "name": "Occult Expressionism", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Occult Expressionism painting art style, merges abstract expressionism and occult themes, dark and chaotic compositions, vibrant and eerie colors, expressive brushwork, captures the essence of emotional turmoil and supernatural elements, professional-grade execution, evokes a sense of mystical chaos and expressive darkness" + }, + "PastelGothCute": { + "name": "Pastel Goth Cute", + "category": "Anime & Manga", + "subcategory": "Chibi & Kawaii", + "content": "Pastel Goth Cute illustration art style, combines pastel goth elements with cute aesthetics, soft and pastel colors, dynamic and charming compositions, captures the essence of cuteness with a goth twist, professional-grade execution, evokes a sense of sweet darkness and charm" + }, + "PhantasmagoricAbstract": { + "name": "Phantasmagoric Abstract", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Phantasmagoric Abstract painting art style, blends abstract expressionism with phantasmagoric elements, chaotic and dreamlike compositions, surreal colors, captures the essence of abstract horror and surreal beauty, professional-grade execution, evokes a sense of nightmarish abstraction and phantasmagoric wonder" + }, + "PhantasmalVisions": { + "name": "Phantasmal Visions", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Phantasmal visions illustration style, blends ghostly and surreal elements with vibrant and fluid compositions, uses soft gradients and glowing effects, professional-grade execution, captures the essence of ethereal beauty, evokes a sense of wonder and mystery" + }, + "PhantomRococo": { + "name": "Phantom Rococo", + "category": "Art Movements", + "subcategory": "Classical & Baroque", + "content": "Phantom Rococo painting art style, blends rococo and ghostly elements, ornate and intricate compositions, soft and eerie colors, captures the elegance of rococo with a spectral twist, professional-grade execution, evokes a sense of haunted beauty and rococo grace" + }, + "QuantumSketching": { + "name": "Quantum Sketching", + "category": "Drawing & Sketch", + "subcategory": "Ink & Pen", + "content": "Quantum sketching art style, abstract and dynamic, inspired by quantum physics, uses fluid lines and shapes, professional-grade execution, captures the essence of quantum mechanics, evokes a sense of mystery and complexity" + }, + "RadiantFantasy": { + "name": "Radiant Fantasy", + "category": "Illustration", + "subcategory": "Fantasy & Concept", + "content": "Radiant Fantasy 3D render, glowing fantasy landscapes, vibrant colors, dynamic lighting, immersive presentation, high-quality rendering techniques, professional-grade execution, captivating visuals, volumetric, 4k" + }, + "RobotCute": { + "name": "Robot Cute", + "category": "Anime & Manga", + "subcategory": "Chibi & Kawaii", + "content": "Robot Cute illustration art style, blends robotic elements with cute aesthetics, vibrant and pastel colors, dynamic and charming compositions, captures the essence of cute robots in playful scenes, professional-grade execution, evokes a sense of mechanical cuteness and whimsy" + }, + "ShadowMage3D": { + "name": "Shadow Mage 3D", + "category": "3D & Render", + "subcategory": "Character", + "content": "Shadow Mage 3D character art style, master of dark magic, ethereal and mysterious, glowing eyes, shadowy effects, dynamic pose, high-quality rendering techniques, professional-grade execution, volumetric, 4k" + }, + "VoodooSurrealism": { + "name": "Voodoo Surrealism", + "category": "Art Movements", + "subcategory": "Surreal & Dreamscape", + "content": "Voodoo Surrealism painting art style, combines voodoo and surrealist elements, dark and mystical composition, vibrant and eerie colors, symbolic and dreamlike imagery, captures the essence of spiritual mysticism and surreal fantasy, professional-grade execution, evokes a sense of supernatural wonder and surreal mystery" + }, + "WhimsicalChibi": { + "name": "Whimsical Chibi", + "category": "Anime & Manga", + "subcategory": "Chibi & Kawaii", + "content": "Whimsical Chibi painting art style, combines whimsical elements with chibi character, soft and pastel colors, dynamic and playful compositions, captures the essence of cuteness and whimsy, professional-grade execution, evokes a sense of joy and delight" + } +} \ No newline at end of file diff --git a/web/style_library.js b/web/style_library.js new file mode 100644 index 0000000..69bd0a8 --- /dev/null +++ b/web/style_library.js @@ -0,0 +1,158 @@ +// Style Prompt Library — cascading dropdowns + live search + preview + theming. +// +// Wires Category -> Subcategory -> Style so each narrows the next, searches across +// the library, shows the selected style's text in a read-only preview box, and gives +// the node a distinct colour. The `style` widget stays the source of truth. + +import { app } from "/scripts/app.js"; +import { api } from "/scripts/api.js"; +import { ComfyWidgets } from "/scripts/widgets.js"; + +const NODE = "StylePromptLibrary"; +let DATA = null; // { categories, tree, all } +const contentCache = {}; // label -> content text + +async function loadData() { + if (DATA) return DATA; + try { + const res = await api.fetchApi("/style_prompt_library/tree"); + DATA = await res.json(); + } catch (e) { + console.warn("[StylePromptLibrary] tree fetch failed; using flat list.", e); + DATA = null; + } + return DATA; +} + +async function fetchContent(label) { + if (!label) return ""; + if (label in contentCache) return contentCache[label]; + try { + const res = await api.fetchApi("/style_prompt_library/content?label=" + encodeURIComponent(label)); + const j = await res.json(); + contentCache[label] = j.content || ""; + } catch (e) { + contentCache[label] = ""; + } + return contentCache[label]; +} + +const widgetOf = (node, name) => node.widgets?.find((w) => w.name === name); + +function setOptions(widget, values, preferred) { + if (!widget) return; + widget.options.values = values; + if (preferred && values.includes(preferred)) widget.value = preferred; + else if (!values.includes(widget.value)) widget.value = values[0]; +} + +function labelsFor(category, subcategory) { + if (!DATA) return null; + if (category === "All") return DATA.all.slice(); + const subs = DATA.tree[category] || {}; + if (subcategory && subcategory !== "All") return (subs[subcategory] || []).slice(); + return Object.values(subs).flat().sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase())); +} + +function subcatsFor(category) { + if (!DATA || category === "All") return ["All"]; + return ["All", ...Object.keys(DATA.tree[category] || {})]; +} + +function refreshStyleList(node) { + const cat = widgetOf(node, "category"); + const sub = widgetOf(node, "subcategory"); + const style = widgetOf(node, "style"); + const search = widgetOf(node, "search"); + if (!style || !DATA) return; + + let labels = labelsFor(cat?.value, sub?.value) || DATA.all.slice(); + const q = (search?.value || "").trim().toLowerCase(); + if (q) { + labels = DATA.all.filter((l) => l.toLowerCase().includes(q)); + if (labels.length === 0) labels = ["(no match)"]; + } + setOptions(style, labels, style.value); + node._splUpdatePreview?.(); + node.setDirtyCanvas(true, true); +} + +// Read-only preview box showing the selected style's text. +function addPreview(node) { + if (node._splPreview) return; + const w = ComfyWidgets["STRING"](node, "stylepreview", ["STRING", { multiline: true }], app).widget; + w.serializeValue = async () => ""; // don't bloat the saved workflow + const el = w.inputEl; + if (el) { + el.readOnly = true; + el.placeholder = "Select a style to preview its description…"; + el.style.opacity = "0.92"; + el.style.fontSize = "11px"; + el.style.fontFamily = "ui-monospace, Consolas, monospace"; + el.style.background = "#1b1622"; + el.style.color = "#d8cfe6"; + el.style.border = "1px solid #3a2f4a"; + } + node._splPreview = w; + node._splUpdatePreview = async () => { + const style = widgetOf(node, "style"); + w.value = await fetchContent(style?.value || ""); + }; +} + +function styleNode(node) { + node.color = "#4a2c6d"; // deep purple title bar + node.bgcolor = "#241d2e"; // dark slate-purple body + if (node.size[0] < 400) node.setSize([400, node.size[1]]); +} + +function wire(node) { + if (node._splWired) return; + node._splWired = true; + + styleNode(node); + addPreview(node); + + const cat = widgetOf(node, "category"); + const sub = widgetOf(node, "subcategory"); + const search = widgetOf(node, "search"); + const style = widgetOf(node, "style"); + + const chain = (widget, fn) => { + if (!widget) return; + const orig = widget.callback; + widget.callback = function () { + const r = orig ? orig.apply(this, arguments) : undefined; + try { fn(); } catch (e) { console.warn("[StylePromptLibrary]", e); } + return r; + }; + }; + + chain(cat, () => { + setOptions(sub, subcatsFor(cat.value), "All"); + sub.value = "All"; + refreshStyleList(node); + }); + chain(sub, () => refreshStyleList(node)); + chain(search, () => refreshStyleList(node)); + chain(style, () => node._splUpdatePreview?.()); + + if (cat) setOptions(sub, subcatsFor(cat.value), sub?.value); + refreshStyleList(node); + node._splUpdatePreview?.(); +} + +app.registerExtension({ + name: "StylePromptLibrary.CascadingMenu", + async setup() { await loadData(); }, + async beforeRegisterNodeDef(nodeType, nodeData) { + if (nodeData.name !== NODE) return; + const onCreated = nodeType.prototype.onNodeCreated; + nodeType.prototype.onNodeCreated = function () { + const r = onCreated?.apply(this, arguments); + const node = this; + (async () => { await loadData(); wire(node); })(); + return r; + }; + }, +});