Nodes/ComfyUI-PiD/PiD Text Prompt
ComfyUI Node

PiD Text Prompt

One prompt, two outputs, zero setup

By Merserk·Created 3 months ago·Updated 2 months ago· 122
PiD Text Prompt
    • text
    • caption
    prompt

    The most useful two-output node in the pack is also the dumbest, and that's a compliment. PiD Text Prompt takes one prompt and gives you two outputs - text and caption - containing the same string. text is for the normal text-encoding side of your workflow (CLIP Text Encode, conditioning), and caption is for the PiD side (PiD Decode, PiD Prepare, PiD Upscale), which conditions its decode on text.

    Why does this deserve its own node? Because PiD genuinely works better when it gets a caption, and you don't want two separate text boxes to keep in sync. If you edit the prompt, both outputs update because they're the same node. That's the entire point - it's a wire-splitting helper, not a processing node.

    The one input

    • prompt - a multiline string, with dynamic prompts enabled. Type the prompt, get both outputs.

    That's it. No models, no downloads, no GPU work. You could substitute a Primitive/string node and split the output yourself, but this keeps the graph readable and makes the intent obvious: "this string is both the generation prompt and the PiD caption."

    Where it fits

    In a generation + PiD-decode workflow it sits at the top and fans out:

    PiD Text Prompt
    ├── text    -> CLIP Text Encode -> ... -> PiD KSampler Capture
    └── caption -> PiD Prepare (or PiD Decode, or PiD Upscale)
    

    In the tiled upscaler path it's the lightweight alternative to running a caption model - if you already know what the image is, type the caption yourself here instead of generating one.

    Setup

    No special setup beyond the pack itself: ComfyUI Manager → "ComfyUI-PiD", or git clone https://github.com/Merserk/ComfyUI-PiD.git into ComfyUI/custom_nodes and pip install -r requirements.txt, then restart. The node has no dependencies of its own - it's pure string plumbing.

    One thing worth knowing: the two outputs carry the same text, but the caption side isn't silently doing anything clever with it. Whatever you type goes to PiD verbatim, so a decent descriptive sentence beats a pile of quality tags for the caption role - PiD's decoder responds to "a red fox in snow," not "masterpiece, best quality." Since the same string also feeds your CLIP encode, write one prompt that works for both audiences and this node just does its job.

    CategoryPiD

    Inputs (1)

    NameTypeDefaultDescription
    promptSTRING

    Outputs (2)

    NameTypeDescription
    textSTRING
    captionSTRING