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
44 lines
2.3 KiB
YAML
44 lines
2.3 KiB
YAML
id: ideogram4
|
|
name: "Ideogram 4 (JSON)"
|
|
developer: "Ideogram"
|
|
summary: "Trained only on structured JSON captions: plain text does not work. The dedicated Ideogram Magic Prompt node does fuller repair and bounding-box handling; this profile makes the same format available to the shared rewriter."
|
|
modality: image
|
|
tasks: [t2i]
|
|
encoder: "Qwen3-VL-8B-Instruct"
|
|
encoder_family: llm
|
|
caption_style: json
|
|
validator: ideogram_json
|
|
languages: [en]
|
|
target_words: [80, 400]
|
|
negative: "no"
|
|
quality_tokens: forbid
|
|
quoted_text: single
|
|
hex_colors: true
|
|
structure: "Strict key order: high_level_description, style_description, compositional_deconstruction {background, elements[]}."
|
|
output_template: |
|
|
{"high_level_description":"one or two sentences, starting with the subject",
|
|
"style_description":{"aesthetics":"...","lighting":"...","photo":"camera and lens (photos only; otherwise use art_style after medium)","medium":"photograph","color_palette":["#RRGGBB"]},
|
|
"compositional_deconstruction":{"background":"...",
|
|
"elements":[{"type":"obj","bbox":[y_min,x_min,y_max,x_max],"desc":"30-60 words"},
|
|
{"type":"text","bbox":[y_min,x_min,y_max,x_max],"text":"LITERAL TEXT","desc":"font and placement"}]}}
|
|
rules:
|
|
- "Exactly one of photo / art_style inside style_description."
|
|
- "One coherent subject is one element - never split a person into parts."
|
|
- "Every rendered string gets its own text element with the literal text in the text field."
|
|
- "bbox is [y_min, x_min, y_max, x_max] on a 0-1000 grid, origin top-left."
|
|
- "Hex colours are uppercase six-digit #RRGGBB."
|
|
- "Element desc: 30-60 words, 60 is a hard cap."
|
|
avoid:
|
|
- "Plain text output"
|
|
- "Keys outside the schema"
|
|
official:
|
|
- task: t2i
|
|
url: "https://raw.githubusercontent.com/ideogram-oss/ideogram4/main/src/ideogram4/magic_prompt_system_prompts/v1.txt"
|
|
format: sections
|
|
variable: system
|
|
api_note: "Hosted API (POST /v1/ideogram-v4/generate): send this JSON as json_prompt. text_prompt switches Ideogram's magic prompt on automatically; json_prompt is sent as written. The two are mutually exclusive."
|
|
sources:
|
|
- {url: "https://raw.githubusercontent.com/ideogram-oss/ideogram4/main/docs/prompting.md", supports: "JSON-only, schema, key order, hex rules", confidence: high}
|
|
checked: "2026-09-20"
|
|
confidence: high
|