Nodes/HommageTools for ComfyUI/HT Parameter Extractor
ComfyUI Node

HT Parameter Extractor

Embed your sampler settings inside the prompt text

By ArtHommage·Created 2 years ago·Updated about a year ago· 4
HT Parameter Extractor
    • parsed_text
    • label
    • value_string
    • value_float
    • value_int
    input_text
    separator&&
    identifier%%
    label
    clear_parametersfalse
    debug_modetrue

    Here's a workflow trick the pack is built around: put control values inside your prompt text, then pull them back out as typed numbers. HT Parameter Extractor is the node that does the pulling. It scans your text for labeled parameters in a specific format, returns the value as STRING, FLOAT, and INT simultaneously, and can strip the parameter blocks out of the text so the prompt you hand the sampler is clean. It's the plumbing for "prompt-driven generation settings."

    How it works

    The format it expects is identifier[label=value]separator. With the defaults that reads like:

    a cozy cabin, warm lighting %%[steps=30] && %%[cfg=7] && %%[seed=12345] &&
    

    Where %% is the identifier, steps is the label, 30 is the value, and && is the separator. Feed that into input_text, set label to steps, and the node finds the block, returns steps as the label output and 30 as value_string / value_float / value_int. The three typed outputs are the point - you can wire the INT straight into a KSampler's steps input, the FLOAT into a cfg input, no conversion nodes needed.

    The two flags matter:

    • clear_parameters - when on, the returned parsed_text has all parameter blocks removed, leaving just the clean prompt. Set it true when the same text feeds both an extractor and a text-encoder, so the sampler never sees the %%[...]&& scaffolding.
    • debug_mode (default on) - prints what it found to the console. Turn it off once things work if you hate console noise.

    The match is case-insensitive on the label, and it uses a robust regex pass (the source has both a general parser and the regex path, so it handles multiple parameters in one string). Outputs: parsed_text, label, value_string, value_float, value_int.

    Why you'd bother

    The payoff is batch and template workflows: one text template carries per-image settings, and extractors fan them out to the nodes that need them. It's a homegrown, prompt-embedded version of what dedicated workflow systems do with separate metadata. It's also handy for seeds - embedding the seed in the text means the prompt you save contains its own reproducibility info, which pairs nicely with the pack's seed nodes.

    Installing

    Standard pack install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ArtHommage/HommageTools.git
    cd HommageTools && pip install -r requirements.txt
    

    restart, or Manager → "HommageTools for ComfyUI". Pure string parsing, no models.

    The honest take

    Cute and useful, with one foot firmly in "works best in your own workflows." The syntax is yours to enforce - if a prompt arrives without %%[...]&& blocks, the extractor just returns empty, so the whole pattern depends on consistent formatting (that's exactly why the dynamic prompt node in this pack pairs with it). And it's a single text line, not a data structure, so multi-value parsing stays simple-but-brittle. Worth having for prompt-driven automation; don't expect it to read arbitrary text - that's what the Gemini node is for.

    CategoryHommageTools

    Inputs (6)

    NameTypeDefaultDescription
    input_textSTRING
    separatorSTRING&&
    identifierSTRING%%
    labelSTRING
    clear_parametersBOOLEANfalse
    debug_modeBOOLEANtrue

    Outputs (5)

    NameTypeDescription
    parsed_textSTRING
    labelSTRING
    value_stringSTRING
    value_floatFLOAT
    value_intINT