Nodes/ComfyUI Deploy/External Text Any (ComfyUI Deploy)
ComfyUI Node

External Text Any (ComfyUI Deploy)

The Wildcard Text Input That Fits Any Socket

By BennyKok·Created 3 years ago·Updated 10 months ago· 1,529
External Text Any (ComfyUI Deploy)
    • text
    â—„input_idinput_textâ–º
    â—„default_valueâ–º
    â—„display_nameâ–º
    â—„descriptionâ–º

    ComfyUIDeployExternalTextAny is ComfyUIDeployExternalText with the type training wheels off. Same input contract, same API behavior, one difference: instead of outputting a STRING, its output type is the wildcard *, which means ComfyUI will let you wire it into almost any input socket. It's the text-input version of the "connect anything anywhere" trick, minus the debugging nightmare - the wildcard is only on the output, so the graph stays readable.

    How it works

    Under the hood it uses the standard ComfyUI wildcard hack: a subclass of str whose __ne__ always returns False, so the type checker can't tell it apart from whatever it's plugged into. The node's run() returns default_value and the backend handles it exactly like the plain text node - a request keyed by input_id (default input_text) gets written into default_value, and locally it just passes the default through.

    So the mechanism is identical to ExternalText. The only real difference is the label on the output socket and, as a result, which inputs it can connect to. Want one API-provided string feeding a CLIP text encode and a node that expects an unusual type? The Any variant lets one text node satisfy both without a converter.

    The inputs that matter

    • input_id - request key, default input_text. Note it shares the default with plain ExternalText, so if you use both in one workflow, rename one of them or the backend will collide on the key.
    • default_value - the local fallback and preview text.
    • display_name / description - the form label and help text on the deployed dashboard.

    Output text is the wildcard, so it behaves as whatever type the downstream node expects.

    Installing

    Same pack as everything else in this set - ComfyUI Manager, search "ComfyUI Deploy", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/BennyKok/comfyui-deploy
    

    Restart and you're set. No model downloads; the requirements are lightweight (aiofiles, pydantic, opencv-python, imageio-ffmpeg, brotli, tabulate).

    When to use it (and when not to)

    Reach for this when the socket you're feeding is typed unusually, or when the same text must feed multiple differently-typed inputs. Reach for plain ExternalText when the target is a normal string socket - the explicit STRING type is self-documenting and catches mistakes at connect time, which the wildcard never will. That's the trade: the Any version buys flexibility and costs a little safety. For prompts going into a CLIP encoder, the plain node is the cleaner default; keep this one in your back pocket for the awkward cases.

    Category🔗ComfyDeploy

    Inputs (4)

    NameTypeDefaultDescription
    input_idSTRINGinput_text—
    default_valueoptSTRING—
    display_nameoptSTRING—
    descriptionoptSTRING—

    Outputs (1)

    NameTypeDescription
    text*—