Nodes/ComfyUI-Text-Utility/Parse Prompt (Full)
ComfyUI Node

Parse Prompt (Full)

The A1111-style parser with all 23 outputs on the table at once

By watarika·Created 2 years ago·Updated 10 months ago· 3
Parse Prompt (Full)
    • prompt (STRING)
    • negative_prompt (STRING)
    • seed (INT)
    • steps (INT)
    • width (INT)
    • height (INT)
    • cfg_scale (FLOAT)
    • batch_size (INT)
    • outpath_samples (STRING)
    • outpath_grids (STRING)
    • prompt_for_display (STRING)
    • styles (STRING)
    • sampler_name (STRING)
    • subseed (INT)
    • seed_resize_from_h (INT)
    • seed_resize_from_w (INT)
    • sampler_index (INT)
    • n_iter (INT)
    • subseed_strength (FLOAT)
    • restore_faces (BOOLEAN)
    • tiling (BOOLEAN)
    • do_not_save_samples (BOOLEAN)
    • do_not_save_grid (BOOLEAN)
    text

    Parse Prompt (Full) is the sibling of the pack's Parse Prompt (Custom) node: same parser, but instead of letting you pick which outputs exist, it exposes every supported field as a fixed pin. Twenty-three of them. prompt, negative_prompt, seed, steps, width, height, cfg_scale, batch_size, outpath_samples, outpath_grids, prompt_for_display, styles, sampler_name, subseed, seed_resize_from_h, seed_resize_from_w, sampler_index, n_iter, subseed_strength, restore_faces, tiling, do_not_save_samples, do_not_save_grid.

    Honest take: you usually don't want this one. A 23-pin node turns a readable workflow into spaghetti, and Parse Prompt (Custom) gives you the exact same parse with only the pins you're actually using. Reach for Full when you're porting an A1111 workflow wholesale and genuinely need most of those fields, or when you're building a template that should always carry every value. Otherwise grab Custom and add three pins.

    How it works

    Identical engine to Custom - which makes sense, they share the same PromptParser in the source. Text before the first -- becomes the main prompt; each --tag value is type-converted (ints, floats, booleans, strings). If a value can't be converted, it's ignored and the default stands. Defaults are the A1111-ish values: seed and subseed -1, steps 20, width/height 512, cfg 7.0, n_iter 1, batch_size 1. If the input has no -- at all, the whole string is treated as the prompt. A missing value prints "Tag '--xyz' is missing a value" to the console rather than crashing.

    Inputs and outputs

    • text (STRING, forceInput, multiline) - the prompt string. As with Custom, forceInput means it's built to be fed from another node.
    • The 23 outputs, each correctly typed (INT / FLOAT / BOOLEAN / STRING), in the order above.

    The typing matters: because each pin is the right type, they plug straight into their matching inputs. width/height into Empty Latent Image, seed/steps/cfg into the KSampler, negative_prompt into the negative CLIP Text Encode. No conversion nodes in the middle.

    Troubleshooting

    • -- is the parse trigger, so prompt text containing a literal double hyphen gets re-parsed rather than treated as text.
    • Multi-word values need quotes (shell-style tokenization), except for --prompt and --negative_prompt, which swallow tokens until the next --.
    • Unused fields just sit there with defaults - that's fine, but it's another reason the custom variant tends to win for day-to-day use.

    Installing

    Ships with watarika/ComfyUI-Text-Utility. ComfyUI Manager → search "ComfyUI-Text-Utility" → Install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/watarika/ComfyUI-Text-Utility
    

    No pip requirements, no models. Pure Python parsing, so nothing else to install.

    Categorytext

    Inputs (1)

    NameTypeDefaultDescription
    textSTRING

    Outputs (23)

    NameTypeDescription
    prompt (STRING)STRING
    negative_prompt (STRING)STRING
    seed (INT)INT
    steps (INT)INT
    width (INT)INT
    height (INT)INT
    cfg_scale (FLOAT)FLOAT
    batch_size (INT)INT
    outpath_samples (STRING)STRING
    outpath_grids (STRING)STRING
    prompt_for_display (STRING)STRING
    styles (STRING)STRING
    sampler_name (STRING)STRING
    subseed (INT)INT
    seed_resize_from_h (INT)INT
    seed_resize_from_w (INT)INT
    sampler_index (INT)INT
    n_iter (INT)INT
    subseed_strength (FLOAT)FLOAT
    restore_faces (BOOLEAN)BOOLEAN
    tiling (BOOLEAN)BOOLEAN
    do_not_save_samples (BOOLEAN)BOOLEAN
    do_not_save_grid (BOOLEAN)BOOLEAN