Nodes/ComfyUI-AI-CustomURL/Text Advanced Parameters
ComfyUI Node

Text Advanced Parameters

The LLM sampling knobs that don't fit on the main node

By bowtiedbluefin·Created 10 months ago·Updated 10 months ago· 3
Text Advanced Parameters
    • params_json
    top_p1.00
    frequency_penalty0.0
    presence_penalty0.0
    seed-1
    stop_sequences
    response_formattext
    n1
    enable_logprobsfalse
    top_logprobs0

    The Generate Text node keeps things to four fields on purpose - temperature, max tokens, model, prompt. That's the right call for a beginner. But once you want structured JSON out of an LLM, or reproducibility, or a hard stop sequence, you need the knobs that node doesn't expose. That's what this one is: a box of standard OpenAI chat-completion parameters that produces a JSON string you plug into Generate Text's advanced_params_json input.

    How it works

    There's no network call here at all. Every parameter is checked against its default and only the ones you've actually changed get emitted into a JSON object. Leave everything alone and you get {} - a no-op. That behavior is deliberate and worth understanding: it means the advanced node never stomps on the main node's defaults. It also means you can build a workflow with the params node attached but not worry about it silently overriding anything.

    The inputs

    A few genuinely useful ones:

    • top_p (0–1, default 1) - nucleus sampling. Lower it and the model only considers the most likely tokens. Most people either leave this at 1 or dial it to 0.9.
    • frequency_penalty and presence_penalty (−2 to 2) - the anti-repetition controls. Positive values discourage the model from repeating itself; this is the closest thing to a "stop saying the same thing" slider.
    • seed - set any value ≥ 0 for reproducible output. Leave at −1 for the default random behavior.
    • stop_sequences - comma-separated strings that halt generation. "\n\n" is the classic.
    • response_format - text or json_object. The latter tells the API to return valid JSON, which is what you want when the text output feeds a parser.
    • n - how many completions to return (1–10).
    • enable_logprobs + top_logprobs - the token-probability introspection pair; niche, but if you're building anything that scores or inspects generations, this is the only place in the pack to reach them.

    Wiring it up

    Just connect the params_json string output to Generate Text's advanced_params_json input. The main node parses the JSON and merges it into the request, so the two work as a pair - this node is decoration without the generation node.

    Installing it

    Part of the ComfyUI-AI-CustomURL pack, so it installs with everything else:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bowtiedbluefin/ComfyUI-AI-CustomURL
    cd ComfyUI-AI-CustomURL
    pip install -r requirements.txt
    

    Or ComfyUI Manager → search "AI CustomURL" → Install, then restart. No models, no extra deps beyond what the pack already pulls in.

    Things to know

    Two honest gotchas. First, these are standard OpenAI parameters, so unlike the image and speech advanced nodes, they genuinely work against OpenAI's own API - this is the trustworthy one of the four. Second, json_object mode only works reliably when the word "json" appears in the prompt, per OpenAI's own contract - write prompts like "Return a JSON object with fields x and y" or you'll get a 400.

    It's a boring utility node in a small single-author pack, but it does one job cleanly and - refreshingly - defaults to doing nothing until you ask.

    Categoryai_customurl

    Inputs (9)

    NameTypeDefaultDescription
    top_pFLOAT1.000–1
    frequency_penaltyFLOAT0.0-2–2
    presence_penaltyFLOAT0.0-2–2
    seedINT-1-1–2147483647
    stop_sequencesSTRING
    response_formatCOMBOtext2 options: text, json_object
    nINT11–10
    enable_logprobsCOMBOfalse2 options: false, true
    top_logprobsINT00–20

    Outputs (1)

    NameTypeDescription
    params_jsonSTRING