ComfyUI Node

Petty Paint Text

A multiline text box you can wire anywhere in the graph

By mephisto83·Created 2 years ago·Updated 2 years ago· 3
Petty Paint Text
    • STRING
    text

    Petty Paint Text is the pack's own free-text input node, and it's about as ambitious as the name suggests: you type into a box, and it hands the string straight out its output. No processing, no token counting, no fancy formatting. It exists because in the petty-paint workflow the prompt doesn't live on a CLIPTextEncode node - it comes from the iPad app as a string, gets massaged by sibling text nodes, and this is where a human can just type something in and feed it into the pipeline.

    What it does

    The entire mechanism is a passthrough. The doStuff method returns the text input unchanged, and the single STRING output carries it wherever you wire it. That's it. There's no IS_CHANGED override, so ComfyUI decides when to re-run it based on its normal caching - you won't get surprise re-executions every queue like you do with the pack's random nodes.

    The one input that matters

    • text - a multiline string field. This is where you type. Multiline matters: it means real paragraphs survive, so you can paste a full prompt or a block of tags without fighting a single-line box.

    Output is a single STRING, which is the pack's lingua franca for prompts. It feeds CLIPTextEncode, PettyPaintTexts_to_Conditioning, a PettyPaintRemoveAddText for cleanup, or PettyPaintToJson if the string happens to hold JSON.

    When you'd actually reach for it

    If you only use this pack for the iPad bridge, you'll hit it constantly - the app can push prompts, but you often want one hardcoded override for a given run, and a plain text node is the natural place. If you're not using the iPad side at all, it's still a perfectly serviceable text source; just know there are a hundred similar nodes out there (Show Text variants, text template nodes, and so on) with more features. Nothing here does anything those don't. What this one has going for it is zero surprise: it returns exactly what you type, every time.

    Installing it

    It ships in the petty-paint pack, so install the pack once and you get all of its nodes together. The quick route is ComfyUI Manager - search for "Petty Paint" or the repo name petty-paint-comfyui-node. The manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/mephisto83/petty-paint-comfyui-node
    

    Restart ComfyUI and you're set. No model files to download. The pack's requirements.txt pins Flask, but the current source never actually imports it - the server side runs on the Python standard library - so installs stay light.

    Gotchas

    The big one is that this node does literally nothing to validate or clean your text. Empty box means an empty string flows downstream, and if that empty string hits a CLIPTextEncode you get whatever an empty prompt gives you (usually "just noise"). Also keep in mind that strings out of this node are not JSON - if the next node expects a parsed object, run it through PettyPaintToJson first. Type carefully and the node stays out of your way, which is honestly the best thing you can say about a text box.

    CategoryPettyPaint

    Inputs (1)

    NameTypeDefaultDescription
    textSTRING

    Outputs (1)

    NameTypeDescription
    STRINGSTRING