PixaromaHelp
Help › Nodes › Prompt & Text

Prompt Pixaroma

A prompt box with reusable @tags, random slots, and an optional text input you can join with.

In ComfyUI: double-click an empty spot on the canvas and type Prompt Pixaroma.

Writing a prompt

Type your prompt in the box. To reuse a chunk you type a lot, save it once as a tag and then type @name for it. Type @ to get a searchable list grouped by category - arrow keys and Enter to insert.

Known tags glow in your accent colour; an unknown @tag glows red so you spot a typo. At run time each @tag is swapped for its full text, so the box stays short. Show expanded previews exactly what will be sent.

Select some words and press Ctrl+Up or Ctrl+Down to raise or lower their weight, for example (red hair:1.1), the same as in ComfyUI's own prompt boxes. Ctrl+Enter runs the workflow.

Random each run

Two ways to let a slot change by itself. Both roll again every time you press Run.

*category
a random TAG from that category. *Styles becomes a different saved Style each run. Type * for a list of your categories. Only single-word names (letters, numbers, - or _) can be used this way; a category with a space in its name still works everywhere else.
#name
a random LINE from one tag. Make a tag, set its switch to List in the library, and put one option per line (cat, dog, mouse). Then #animals becomes one of them. Type # for a list of your lists.

Shuffle, Random or In order

A Picks control decides how a list, or anything you can roll with *name, chooses. It sits on the list's own card, and on the header when you open one in the library:

Shuffle
the default. Like dealing a shuffled deck: every option comes up once before any repeat, then it reshuffles. A surprise every time, without the same one landing twice in a row.
Random
any one, every time. True random repeats itself, so with three options you might get 1, 1, 3, 2, 1. Use it when you genuinely want that.
In order
1, 2, 3 and around again. For working through a set deliberately.

Using the same list twice in one prompt

Write #fruit #fruit #fruit and you get three different fruits, not the same one three times. Each use takes the next one along, exactly as if you had dealt three cards.

In order is the exception, and deliberately so: it moves on once per Run, so every #name in the same box shows the same entry that run, and the next Run moves to the next one.

One thing to expect with a short list: if you use it more times than it has options left, it finishes the deck, shuffles again and carries on, so one option can appear twice in a long prompt. With Random that can happen at any time, because random is allowed to repeat itself.

Where it is up to

Shuffle and In order remember their place between runs and even after you close ComfyUI. The card shows it (next 3 of 12, or how many are left in the deck) and the ↺ button next to it starts that list over.

The position belongs to the list itself, so two Prompt nodes using the same #list both show the same first pick on a given Run. That is on purpose. A list is one deck, so if every node quietly took a card of its own, an old Prompt node parked in the corner of your workflow, wired to nothing, would still be drawing from your deck and you would never see what it took. Repeats inside one box still move along, so you keep full control from the box you are actually writing in.

The position is stored on your machine, never inside a workflow, so sharing a workflow shares nothing about where you were.

Reading the colours

The colour tells you what a thing is: @tag in your accent colour (orange unless you changed it), *category in green, #list in violet.

A name that does not match anything yet stays plain white with a red wavy underline, the way a spellchecker marks a word. That is what you see while you are still typing a name, so it stays easy to read, and it takes its real colour the moment it matches something in your library. An underline left behind after you have finished typing means a typo, or a tag you have since renamed or deleted.

While you are typing, Show expanded names the slot instead of guessing: [random: Styles], [shuffled line: animals], [next line: poses]. It cannot show a real pick yet, because the choice is made when you press Run, and a live one would change under your hands at every keystroke.

The moment you press Run it switches to the actual words that were used, so you can always see what a picture was made from. Edit the box and it goes back to naming the slots, because the old words no longer describe what you have written. The words also travel inside the picture: drag a finished image back onto the canvas and the box shows the prompt that made it, while your #name template stays exactly as you wrote it. Tip: with a fixed seed the picture only changes when the pick changes, so use a random seed if you want a new image every run.

The expanded words are coloured to match what they came from, so you can trace any piece back: words in your accent colour came from an @tag, green from a *category, violet from a #list. Where you have several of the same kind, each takes a slightly different shade of that colour, so two tags next to each other never blur into one run. Your own typed words stay plain grey. A prompt read back off a picture you dragged in is shown in plain text, because the colouring is worked out while the prompt is being built.

Save text as a tag

Right-click the prompt box for Copy and Save as tag. Select some text first to act on just that part, or right-click with nothing selected to use the whole prompt. Save as tag opens the library with the text already filled in, so you just name it and pick a category. If the text you saved has several lines it starts as a List, ready to roll one line at a time.

The text input and output

The text output carries your finished prompt. The optional text input lets you wire in another prompt:

  • Nothing wired in: the output is just your prompt.
  • Wired in: it is joined with your prompt. A small control on the top line lets you choose My prompt first or Wired first, and the separator (comma, space, new line, blank line, pipe, period, or BREAK).

The tag library

The Tags button opens the fullscreen library: categories down the left, tags on the right. Add, rename, move between categories, or delete. New tags appear at the top.

Every card has a Text / List switch at the bottom. Text is one piece of writing that @name drops in whole; List is one option per line that #name rolls between. A List card shows how many options it holds, and its Insert drops #name into your prompt instead of @name.

The sidebar keeps the two apart: Text categories on top, List categories below, each with their own New category button. A category belongs to one side, so switching a card to List moves it into the List bucket, ready for you to file it wherever you like. Tags with no category of their own sit in Text or List. Because of the split, typing @ only offers your text tags and # only offers your lists.

The italic Text and List rows are not categories. They are where tags with no category of their own are shown, so there is nothing to rename or delete about the row itself. Their ... can file them all into a category at once, and the row then disappears by itself.

Anything that deletes asks you first and shows what will go, so you can check it is the one you meant. The ... on a category row (or a right-click on it) offers rename, export just that category, delete the category but keep its tags, or delete it with them. The ... beside Export and Import has Delete everything for a clean start. Where a whole group is going, the question also offers to save you a backup file. There is no undo, so the answer is final.

Your library is saved in ComfyUI's own settings, so it is private to you and survives updating the plugin. It is never saved into a workflow. Share it on purpose with Export and Import: Export lets you save everything or just one category, and Import shows you what is in the file so you can bring in only the categories you want (then keep both, replace, or skip when a name already exists).

Gear settings

The gear (settings) button opens this node's own settings: change the button colour and set it as the default for new nodes, and choose the default join order (My prompt first / Wired first) for new Prompt nodes.

Good to know

Everything expands one level: a tag becomes plain text, a *wildcard drops in one tag's text, and a #list drops in one line. A tag inside a tag is left as it is.

The symbol always decides what happens, so nothing can go wrong if you mix them: @ on a List gives you the whole block, and # on a normal tag rolls one of its lines.

A workflow run without a browser (pure API) cannot expand @tags, roll *wildcards or #lists, or read your library. Type into a plain Text node for those, or wire the text input.

What you wire in

text_inSTRINGoptional
Optional. Wire another prompt in and it is joined with your typed prompt (order + separator set on the node). Leave it unconnected to output just your prompt.

What comes out

textSTRING
Your prompt with every @tag expanded, joined with the wired text input if one is connected.

This is the help that comes with Pixaroma 1.4.212. Inside ComfyUI, select the node and click the orange ? above it to read the same help there.