ComfyUI Node

Prompt Styler Composition

Rule-of-thirds and framing without the essay

By wolfden·Created 3 years ago·Updated about a year ago· 105
Prompt Styler Composition
    • positive_prompt_text_g
    • negative_prompt_text_g
    text_positive
    text_negative
    style
    log_promptNo

    Most prompt stylers push a look - cyberpunk, watercolor, film grain. This one pushes structure. Its ten style options are classic composition principles: Balance, Framing, LeadingLines, NegativeSpace, Pattern, Perspective, RuleOfThirds, Simplicity, Symmetry, Texture. You keep your subject, pick how the frame is arranged, and the node appends the language that nudges SDXL toward that layout.

    It's a niche but genuinely handy corner of wolfden's SDXL Prompt Styler pack. Composition is the thing beginners almost never prompt for, because they don't know the vocabulary - "leading lines drawing the eye toward the subject," "generous negative space, minimalist framing." This node hands you that vocabulary as a dropdown.

    How it works

    Each style is a template stored in JSON: a prompt field with a {prompt} placeholder and a negative_prompt. Your positive text drops into the placeholder, the composition wording wraps around it, and out comes a finished string. Leave the negative empty and you get the template's default negative; fill it in and yours is merged with it. No model runs, nothing downloads - it's text assembly, which means the actual influence on the image comes from your checkpoint and sampler, not the node.

    Fair warning on expectations: prompting for composition is a bias, not a guarantee. SDXL will lean toward symmetry or rule-of-thirds, but it's not a layout engine. If you need hard control over where things sit, that's a job for a ControlNet, and this node is the cheap first pass before you reach for one.

    The inputs and outputs that matter

    • style - the composition principle. This is the whole point of the node; everything else is your content.
    • text_positive - your subject and scene. The style adds the arrangement, so you don't have to.
    • text_negative - optional; blank inherits the template's negative, or add your own recurring offenders.

    log_prompt (No/Yes) prints the assembled prompt to the console so you can read exactly what "RuleOfThirds" expanded into - worth turning on the first few times.

    Outputs are positive_prompt_text_g and negative_prompt_text_g, two strings. Send the positive into the CLIP Text Encode that feeds your positive conditioning and the negative into the one feeding your negative. Standard two-wire hookup.

    Installing it

    Through ComfyUI Manager: search SDXL Prompt Styler (wolfden's version), install, restart. Or clone it:

    cd ComfyUI/custom_nodes
    git clone https://github.com/wolfden/ComfyUi_PromptStylers
    

    Restart afterward. There are no dependencies to install and no models to fetch. Once it's loaded, the styler nodes live under a Style Prompts submenu - grab the Composition one from there.

    Common issues

    "None" is a real option. The first entry, none by Composition, is a deliberate passthrough that changes nothing. If your output looks identical to your input, that's usually why.

    The effect is subtle. Composition words steer softly. Combine with a matching subject - Symmetry on architecture, LeadingLines on a road or hallway, NegativeSpace on a lone figure - and it lands harder than a mismatched pairing.

    Don't fight your own prompt. If your positive already dictates a busy, edge-to-edge scene, asking for Simplicity or NegativeSpace on top just gives the model contradictory instructions. Pick a composition that agrees with your subject.

    On distilled or LLM-encoded models it underdelivers. These templates were written for SDXL. On Flux or Z-Image the negative half does nothing at CFG 1 and the extra descriptors are read as flat instruction text, so the composition steer is weak. This is an SDXL-family tool.

    CategoryStyle Prompts

    Inputs (4)

    NameTypeDefaultDescription
    text_positiveSTRING
    text_negativeSTRING
    styleCOMBO11 options: none by Composition, Balance, Framing, LeadingLines, NegativeSpace, Pattern, +5
    log_promptCOMBONo2 options: No, Yes

    Outputs (2)

    NameTypeDescription
    positive_prompt_text_gSTRING
    negative_prompt_text_gSTRING