ITL MOSS-Image Style Wizard
MOSS-Image Style Without the Guesswork
- style
What this node is (and what it isn't)
The likely surprise: this node does almost nothing when the graph runs. Its single output is a STRING that emits an empty string, on purpose. There's no model call, no weight, no rendering. All the work happens in a browser-side modal that writes your style picks into a different node's widgets.
So what's it for? The ITL MOSS-Image Prompt Builder has no style fields - not an oversight, since MOSS-Image's layout JSON only has summary.caption, summary.meta and summary.palette. Style lives in prose, which means retyping "cinematic, 35mm, f/1.4, moody lighting" into a caption box every run. The wizard turns that into a chip picker: five categories, click what you want, it writes the result into the builder. Same editor lineage as the rest of the family - this wizard shares its chip picker and preset file with the Ideogram 4 Style Wizard.
How the picks get there
MOSS-Image has no style fields, so the wizard has to make a mapping decision, and the author picked it from a same-seed test rather than a hunch:
- Medium + Art Style → the builder's
metatags. A medium genuinely took effect from the tags in that test. - Aesthetics + Lighting + Photo → one
Style: …, ….sentence appended to the caption. Lighting, per the same test, only landed reliably from caption text - not from tags. Photo chips can contain commas ("35mm lens, f/1.4") and read fine joined back up in prose.
Ideogram-style enums get spelled out for MOSS: 3d_render becomes 3d render, duplicates dropped case-insensitively.
The good part is the ownership model. The wizard remembers exactly what it wrote, stored on the builder node so it survives saving and copy/paste. Change your picks and it replaces only its own tags and its own sentence - your caption text, boxes, palette and hand-typed tags are untouched. Edit or delete its sentence yourself and that copy stops being the wizard's, so it leaves it alone.
Inputs and outputs
One of each, and neither is something you set.
wizard_data- serialized chip-picker state, managed by the node UI. It's what makes your selections persist in the workflow.style- the output. Wire it into the ITL MOSS-Image Prompt Builder'simport_jsoninput.
That wire is a rubber band, not a data flow. It exists so the wizard can find which builder to write into; the status line inside the modal names that builder, or warns you when nothing's connected. At run time the empty string goes down the wire and the builder treats it as "no import", so you don't get a pointless re-run or an editor clobbered by an empty layout. Click Open Style Wizard, toggle chips (or type your own into any category's text field), check the live preview of what will be produced, then Apply - which keeps the modal open so you can iterate - or Apply & close.
Install
It's in the same pack as the builder; if you already have that installed you already have this. Otherwise, ComfyUI Manager, search the pack title, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Into-The-Latent/ComfyUI-IntoTheLatent-Utils
then pip install -r requirements.txt with ComfyUI's Python and restart. The requirements are heavier than this node needs - transformers, librosa, soundfile, huggingface_hub - because the same repo ships Breeze TTS and Whisper nodes. soundfile is imported at pack load, so if it's missing the entire pack fails to register and you'll go hunting for a node that isn't broken. Check the startup console. Also: this pack supersedes the author's old ComfyUI-AI2Go-Utils, and the node IDs changed from AI2Go* to ITL*, so saved workflows using the old nodes need the old pack still installed.
Common issues
Nothing gets written to the builder. The style output has to be wired into the builder's import_json. The modal's status line tells you which builder it's pointing at, and warns when it's pointing at nothing.
The chip lists are empty, or you get a parse-error warning. The presets live in ComfyUI/user/default/itl/ideogram4/WizardStylesDefault.json, and that file is shared with the Ideogram 4 wizard - edit one, both change. If it's malformed or missing, the wizard falls back to built-in defaults, shows the exact parse error, and offers Restore defaults to recreate the file. If you hand-edit it, each entry's key must be one of aesthetics, lighting, medium, photo, art_style.
You wanted a converter and a wizard at once. import_json is one socket. If the wizard's style output occupies it, you can't also feed an Ideogram 4 builder's prompt into it for live format conversion. One per builder node - or run two builders.
Style isn't doing much. Push lighting specifics into the caption yourself rather than leaning on the mapping - that's the field the author's testing found carries the weight.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| wizard_data | STRING | Serialized chip-picker state (managed by the node UI). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| style | STRING | — |