Nodes/babydjac Nodes/Grok Prompt Fusion Pro
ComfyUI Node

Grok Prompt Fusion Pro

The 'Grok' Node That Doesn't Call Grok (It's Better For It)

By babydjac·Created 7 months ago·Updated 5 months ago· 12
Grok Prompt Fusion Pro
    • positive_prompt
    • negative_prompt
    • annotation
    base_prompt
    strategybalanced
    tag_weight1.0
    presetNone
    annotatorfalse
    second_prompt
    blend_weight0.5
    auto_cyclefalse
    cycle_styles
    base_negative

    Here's the plot twist: despite the name, Grok Prompt Fusion Pro never calls Grok. No API, no key, no network. It's a fully local prompt-assembly node that takes a base prompt, applies a strategy and preset, scales the weights, optionally blends in a second prompt, and returns positive, negative, and an optional annotation. The "Grok" in the name is aspiration, not mechanism.

    That's actually good news. It means the node is free, instant, deterministic, and uncensored by construction - there's no filter to argue with because there's no model in the loop. It's from the babydjacNODES pack, and it's the rare API-named node that works offline.

    How it works

    Everything is string surgery in Python:

    • Strategy - prepends Pony-style quality tags: beginnerscore_7_up, balancedscore_8_up, score_7_up, expertscore_9, score_8_up, photorealism_maxscore_9, photorealistic, raw photo, 8k.
    • Preset - appends a style fragment: Softcore, Hardcore Realism, Cinematic, Studio Lighting, or None.
    • tag_weight - a regex rescales every (tag:1.2)-style weight in the prompt by your factor. Whole-prompt weighting, in one dial.
    • Second-prompt blending - if you give a second_prompt, the node wraps them: ({base}:{1-blend}), ({second}:{blend}).
    • auto_cycle - appends each style from cycle_styles and joins the variants with | separators, for downstream fan-out.
    • Truncation - if the positive exceeds ~75 comma-separated tags, it sorts by weight descending and keeps the top 75. A crude "token budget" that Pony workflows appreciate.

    The negative_prompt is built from your base_negative (or a solid default) plus lowres, artifacts, jpeg artifacts, low quality.

    The inputs that matter

    • base_prompt - required. Your starting prompt.
    • strategy and preset - the two dropdowns that do most of the work.
    • tag_weight - 0.1–2.0; the "make it punchier" dial.
    • second_prompt + blend_weight - for combining two ideas with a controllable ratio.
    • annotator - when on, the third output annotation explains every transformation as a comment block (handy for debugging what the node did).

    Outputs: positive_prompt, negative_prompt, annotation.

    Install

    ComfyUI Manager → babydjacNODES, or git clone https://github.com/babydjac/babydjacNODES into ComfyUI/custom_nodes, restart, hard-refresh. No extra pip deps. (Yes - despite the "Grok" branding, none needed.)

    Gotchas

    • The quality tags assume Pony-style score vocabulary. If your checkpoint isn't Pony/Illustrious-lineage, score_9-style tags are dead weight. Turn preset to None and pick a strategy carefully.
    • Truncation is by comma-count, not real tokens. "Approximate tokens by commas" is the code's own wording - it's a rough budget, so very long tags can still blow your encoder's limit.
    • auto_cycle joins variants with | - that's a signal for downstream nodes to split on; if you wire it straight into a text encoder you'll get a literal pipe. Know your splitter.
    • The preset strings are opinionated. "Hardcore Realism" adds nsfw explicit, score_9 - fine if that's your lane, and it's why checking preset is the first thing you do.

    Free, local, instant, and it never refuses. For iterating on prompt structure and weight experiments, this is the pack's most underrated node - once you get past the misleading name.

    CategorybabydjacNODES/Utils

    Inputs (10)

    NameTypeDefaultDescription
    base_promptSTRING
    strategyCOMBObalanced4 options: beginner, balanced, expert, photorealism_max
    tag_weightFLOAT1.00.1–2
    presetCOMBONone5 options: None, Softcore, Hardcore Realism, Cinematic, Studio Lighting
    annotatorBOOLEANfalse
    second_promptSTRING
    blend_weightFLOAT0.50–1
    auto_cycleBOOLEANfalse
    cycle_stylesSTRING
    base_negativeoptSTRING

    Outputs (3)

    NameTypeDescription
    positive_promptSTRING
    negative_promptSTRING
    annotationSTRING