Petty Paint Append Text
The boring concatenation node that shows up everywhere
- STRING
Some nodes earn their place by being clever. PettyPaintAppend earns it by being boring: it takes a text input, sticks a second string on the end, and returns the combined string. text + append, literally. No trimming, no separator logic, no templating - you add the space or comma yourself. It's the text-equivalent of a pass-through node, and it's exactly the kind of thing you end up wanting mid-workflow.
The reason you reach for it: prompt assembly in stages. You've got a base prompt coming from one place - maybe the pack's PettyPaintComponent, which pushes a prompt picked in the web app - and you want to tack on a quality suffix, a style token, or a LoRA trigger phrase without editing the source. Or you're building a prompt from pieces so you can swap just the subject line. There are dozens of "concatenate text" nodes across the ecosystem (StringFunction and friends do more); this one is notable only for being forceInput on text - meaning the base text must be wired in from somewhere, which makes it a natural fit for graph-driven prompt building where a previous node decides the base.
The inputs and outputs
text- the base string. It'sforceInput, so ComfyUI expects this wired from another node rather than typed by hand (you can still type into it, but it's designed to be fed).append- the suffix, a normal multiline widget you type directly. This is where your addition goes.- Output: one
STRING- the concatenation, ready for a CLIPTextEncode or any text slot.
Installing it
It's part of the petty-paint pack, so one install gets you all the nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/mephisto83/petty-paint-comfyui-node
Restart ComfyUI, or install via ComfyUI Manager by searching "petty-paint-comfyui-node". The only declared dependency is Flask==2.1.2; this node needs none of it.
Common issues
The honest caveat: this is a zero-magic node, and the only way it surprises you is if you expected magic. It does not add a separator - "a cat" + "photorealistic" becomes "a catphotorealistic" and your prompt silently eats the missing space. If you're assembling prompts, put the trailing space in the append string or keep the base well-formed. And since text is forceInput, a workflow that leaves it unwired will refuse to run - which is usually a hint that the base should come from a prompt source like PettyPaintComponent or a text node rather than being typed in place. For anything fancier than concatenation, look elsewhere; for "just glue these two strings", this is fine.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| append | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |