Files
EricRollei-Local_LLM_Prompt…/profiles/_TEMPLATE.yaml
T
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

42 lines
2.3 KiB
YAML

# Platform profile template. Copy to profiles_user/<your_id>.yaml and edit.
# Files starting with "_" are not loaded. Field reference: core/profiles/schema.py
# A profile in profiles_user/ with the same id as a shipped one replaces it.
id: my_model # dropdown value. Never rename once workflows use it.
name: "My Model"
developer: "Who makes it"
summary: "One line: what it is and how it likes to be prompted."
modality: image # image | edit | video
tasks: [t2i] # t2i, edit, t2v, i2v, flf2v, ref2v
encoder: "T5-XXL"
encoder_family: t5 # clip | t5 | llm
caption_style: prose # prose | tags | tags_prose | instruction | json | fields | bracket_prose
languages: [en]
target_words: [60, 150]
max_tokens: 512 # text encoder hard limit, 0 = unknown
negative: "yes" # "yes" | "no" | ignored | inline (quote yes/no: bare yes/no is a YAML boolean)
# inline = no separate field, but the vendor endorses exclusions written into the prompt
negative_default: "blurry, low quality"
quality_tokens: neutral # forbid | neutral | help | required
quoted_text: double # double | single | none
weights: false
hex_colors: false
structure: "Subject + action + setting + light + style"
rules:
- "Imperative sentences the LLM must follow."
avoid:
- "Things the LLM must not do."
# words_per_second: [35, 45] # video: when the clip length is known it sets the length instead of target_words
# suffix: "masterpiece, best quality" # like prefix, for models trained with quality tags at the END
# api_note: "Hosted model: what to set in the API call, e.g. how to switch the vendor's own prompt rewriting off."
# extends: other_profile_id # inherit everything, override what differs
# official: # vendor-published rewriter prompt, fetched once and cached
# - task: t2i
# url: "https://raw.githubusercontent.com/..."
# format: text # text | python_var | sections
# variable: "" # python_var: NAME or function.NAME ; sections: section name
sources:
- {url: "https://...", supports: "what this page proves", confidence: high}
checked: "2026-09-20"
confidence: medium