Files
EricRollei-Local_LLM_Prompt…/wildcards
Eric HissandClaude Fable 5.1 4459af9ea6 V2.0.0: wildcard engine, platform profiles, MiniMax H3 default, API models
Every node id, input name and existing widget position is unchanged, so saved
workflows load; new inputs are appended only.

Wildcards
- core/wildcards: Dynamic Prompts / Impact Pack grammar, tag queries, variables,
  conditionals, concept / verbatim / loose bindings, reproducible seeds.
  Wired into every enhancer node; reads ComfyUI/models/wildcards.
- New nodes: Wildcard Processor, Semantic Variation (direction axes),
  Concept Survival Check. Starter lists in wildcards/.
- Random choices use a private generator; global random state is untouched.

Platform profiles
- core/profiles + profiles/*.yaml: one file per model (format, length,
  negative prompt or none, quality tokens, text and dialogue syntax, vendor
  rewriter prompt fetched once and cached). profiles_user/ overrides by id.
- New node: Platform Prompt Rewriter (prose, tags, edit instructions, JSON,
  MiniMax H3 fields, Hailuo brackets), with validators for each format.
- Text-to-Image and Image-to-Image read profiles through platforms.py;
  corrected facts for FLUX, Kontext, Chroma, Wan, AuraFlow, Kolors, NoobAI,
  Qwen-Image, HunyuanImage. Negative prompt is empty for models without one.
- Hosted / API models: Seedream 5, Nano Banana, GPT Image, Midjourney V8,
  FLUX.2 pro, Ideogram 3, Recraft V4, Seedance 2.0 / 2.5, Kling 3.0, Veo 3.1,
  Gemini Omni Flash, Runway, Wan 3.0, Luma, hosted H3, Grok, Vidu, PixVerse.
  Reports say how to switch the vendor's own prompt rewriting off.
- Illustrious: spaced tags, quality tags last, 25-80 words (OnomaAI paper).

Video nodes
- target_model and duration_seconds appended to the three video expanders.
  Default target is MiniMax H3; wan22_video is the original path, unchanged.
  A workflow saved earlier loads with the default until the input is set.

Also included: the Alice, Ideogram Magic Prompt and prompt-database nodes that
were already registered in __init__.py but had not been committed.

Fixes: v1 {animal} / {label:a|b} wildcards were inert in the video nodes;
Image-to-Video save_to_file raised NameError; T2I padded short-prompt models.

.gitattributes added (text=auto) so CRLF working files stop showing as
whole-file changes. prompt_database.db and the cached Ideogram prompt are
git-ignored.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019VpCi6nw5UECMdZ7ayYJvN
2026-09-21 00:28:58 -07:00
..

Wildcard lists

These are the lists that ship with Eric's Prompt Enhancers. Your own packs do not go here.

Where packs live

Put downloaded packs in ComfyUI/models/wildcards. Every node in this package reads that folder, and any wildcards: entry in extra_model_paths.yaml, without configuration. Dynamic Prompts and Impact Pack packs (.txt, nested .yaml) work as they are.

Folders are searched in this order, and when a name exists in more than one, the first one wins:

  1. a node's extra_paths input
  2. ComfyUI/models/wildcards
  3. wildcards: folders from extra_model_paths.yaml
  4. "wildcard_paths": ["D:/more/packs"] in this package's config.json
  5. this folder

So a pack's animal.txt replaces the shipped animal.txt; it is not mixed into it.

A pack written for a folder called look still resolves (__look/styles__) when it was unzipped as theLookWildcards_v10, as long as the real folder name contains the expected one and only one such folder exists.

Run python_embeded\python.exe custom_nodes\video_prompter\dev\scan_wildcard_packs.py for a report on everything found: unreadable files, names defined twice, references to packs you do not have, and syntax from other tools.

Use Syntax
One entry from a file __animal__, __light/setups__
Any file under a folder __camera/**__, __objects/**__
Entries by tag __objects[metal AND handheld]__, __spaces[empty AND NOT natural]__, __[hollow AND antique]__
Several entries {2$$__color__}, {1-3$$ and $$__objects/kitchen__}
Pick once, reuse ${who=!__person__} ... ${who}
Exact words must survive the LLM rewrite __=name__, `{=a
Inspiration only __?emotion__, `{?a

.txt: one entry per line, # comment lines ignored, optional weight prefix 3::common entry. .yaml: keys form the wildcard path; items are strings or {text, tags, weight}. See objects.yaml.

The entries are deliberately specific and physical ("a barn owl", "soft north-window light from the left") because image models render concrete nouns and real lighting far better than adjectives.