Nodes/Kinburg-Nodes/Prompt Presets
ComfyUI Node

Prompt Presets

Five Dropdowns That Stop You Re-typing the Same Camera and Light

By Kinburg·Created 3 months ago·Updated 6 days ago· 1
Prompt Presets
    • camera
    • aesthetics
    • light
    • medium
    • background
    cat_1camera
    preset_1🚫 None
    cat_2aesthetics
    preset_2🚫 None
    cat_3light
    preset_3🚫 None
    cat_4medium
    preset_4🚫 None
    cat_5background
    preset_5🚫 None

    Half of prompt engineering is vocabulary - knowing that "cinematic anamorphic" and "Rembrandt lighting" are the phrases your model actually responds to, and then typing them correctly every time. Prompt Presets is the node that makes that a dropdown instead of a memory test. Five flexible preset slots, each emitting a prompt fragment, pre-loaded with curated categories for Camera, Aesthetics, Light, Medium and Background - the classic building blocks of a structured prompt.

    How it works

    Five slots, each with two dropdowns: a category selector and a preset selector (the presets of that category). Any slot can draw from any category, so slot 3 can be a Light fragment even though its label defaults to Medium. Each category ships with curated built-ins - Camera → Cinematic Anamorphic, Light → Rembrandt, Aesthetics → Cyberpunk - plus a 🚫 None option that resolves to an empty string. At run time each preset resolves to its fragment on the five outputs: camera, aesthetics, light, medium, background. Wire them into your prompt builder or a text concat and you're done.

    The genuinely useful part is that it's editable. ➕ Add preset - pick a category, name it, type the fragment (re-using a name edits it). 🗂 Categories - add, rename, delete your own categories; the five built-ins are protected. And 💾 Save setup names the whole combination of all five slots' category+preset, so a "portrait" setup and a "landscape" setup are one click apart on the ⚙ setup selector. Custom presets, categories and setups persist on disk (prompt_presets/data/store.json) via server routes, so they survive restarts and appear across all Prompt Presets nodes in your workflows.

    Why you'd use it over typing

    The argument isn't that presets write better prompts - it's consistency. A structured prompt for the LLM-encoded bases reads as camera, aesthetics, lighting, medium, background, and if you've ever hand-typed "cinematic anamorphic" as "cinematic anamorphic lens flare" and gotten a different result, you know the value of a fixed string. It also pairs well with the pack's Prompt Variations node: keep the stable vocabulary here, vary the subject in a template. If your prompts are all one long sentence with no structure, this node will feel like overkill - it's built for the people who already think in prompt components.

    Install

    Part of the Kinburg-Nodes pack - ComfyUI Manager (search "Kinburg-Nodes"), or cd ComfyUI/custom_nodes && git clone https://github.com/Kinburg/Kinburg-Nodes, restart. No dependencies, no models. Data persists in the pack's own store file, git-ignored, so nothing pollutes your ComfyUI config. It's a convenience node - but for a working style where prompt structure is repeatable, it's the difference between re-typing and re-selecting.

    CategoryKinburg-Nodes/prompt

    Inputs (10)

    NameTypeDefaultDescription
    cat_1COMBOcameraSlot 1: which preset category this dropdown draws from.
    preset_1COMBO🚫 NoneSlot 1: the preset (from its category) — resolves to a prompt fragment.
    cat_2COMBOaestheticsSlot 2: which preset category this dropdown draws from.
    preset_2COMBO🚫 NoneSlot 2: the preset (from its category) — resolves to a prompt fragment.
    cat_3COMBOlightSlot 3: which preset category this dropdown draws from.
    preset_3COMBO🚫 NoneSlot 3: the preset (from its category) — resolves to a prompt fragment.
    cat_4COMBOmediumSlot 4: which preset category this dropdown draws from.
    preset_4COMBO🚫 NoneSlot 4: the preset (from its category) — resolves to a prompt fragment.
    cat_5COMBObackgroundSlot 5: which preset category this dropdown draws from.
    preset_5COMBO🚫 NoneSlot 5: the preset (from its category) — resolves to a prompt fragment.

    Outputs (5)

    NameTypeDescription
    cameraSTRING
    aestheticsSTRING
    lightSTRING
    mediumSTRING
    backgroundSTRING