Allma Preset Selector
Preset names in, system prompts out
- system_prompt
Allma presets are saved system prompts - JSON files shaped like {"system_prompt": "...", "notes": "..."} living in the pack's presets/ folder, managed from the Allma Generate node's UI. But Generate's own preset dropdown is a client-side convenience: it fills the system_prompt widget and the widget is the source of truth at run time, so you can't drive that dropdown from the graph. Allma Preset Selector is the node that closes the gap - it turns a preset name into the preset's system prompt text, as a plain STRING you can route.
How it works
One input, one output. Pick a preset from the combo and the node reads presets/<name>.json and emits its system_prompt on a single STRING output. Wire that into Allma Generate's system_prompt input - which is the whole point: now you can switch presets from outside the Generate node, through a switch, from another subgraph, or feed two Generate nodes the same prompt from one source.
Two details make it feel polished. First, it always re-reads the file on every execution (the fingerprint returns NaN), so editing a preset on disk takes effect without you having to dirty the graph or restart. Second, it's deliberately single-output - no tempting extra preset_name string that would look like it belongs in Generate's preset input, which is cosmetic and would silently do nothing.
Managing the presets themselves
That happens on Allma Generate: ➕ new prompts for a name and saves the current system_prompt, 💾 save overwrites the selected preset, 🔄 reload re-reads from disk, 🗑️ delete removes it. The recommended pattern in the README: keep presets generic per model family (LTX, Z-Image…) and put per-LoRA specifics in lora_hints/*.md, with a single preset rule saying LoRA guidance overrides its defaults.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/OliveiraNickolas/AllmaNodes
Restart, no pip install. This is part of the LLM group - the presets only mean something to Allma Generate - but the node itself just reads a JSON file and emits a string, so it works even with the backend down.
The one failure mode to know: if you rename or delete a preset while ComfyUI is running, this node raises a clear error telling you to refresh the browser to repopulate the list. And the pack is brand new with no community history - but a combo-reads-a-JSON-file is about as low-risk as an LLM-adjacent node gets.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | Reads presets/<name>.json and outputs its system_prompt. Wire it into AllmaGenerate's system_prompt input — AllmaGenerate's own preset widget is cosmetic and cannot be driven from the graph. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| system_prompt | STRING | — |