Nodes/ComfyUI-Prompt-Vault/Prompt Vault — Build
ComfyUI Node

Prompt Vault — Build

Build a photographic prompt the way a photographer would actually shoot it

By jeremieLouvaert·Created 5 months ago·Updated 17 days ago· 4
Prompt Vault — Build
    • prompt
    • prompt_dna
    subject
    camera_lensnone
    lightingnone
    film_stocknone
    moodnone
    quality_directiveUltra-realism (anti-AI)
    compositionnone
    extra_details
    save_to_favoritesfalse

    Browse gives you a finished template; Build hands you the kit bag. Instead of one pre-written prompt, you assemble your own from real camera gear, lighting setups, film stocks, moods, compositions, and quality directives - 100+ hand-written components total, no generic "cinematic lighting" filler in sight.

    The idea is that photographic vocabulary carries meaning the model actually keys on. "Shot on Hasselblad X2D with XCD 80mm f/1.9" is not the same token soup as "very detailed, masterpiece, 8k" - the medium-format phrasing steers rendering, bokeh, and tonal depth. That's the same insight the photorealism crowd has been running on for years: the tells that make an image read as fake - too-smooth skin, catchlights that don't match the scene, inconsistent shadows - are exactly what a real lighting description encodes. This node is a way to write like a shooter instead of a prompter.

    How it works

    Type a subject (the only required field), then pick from the dropdowns: camera_lens (27 combos, from Sony A7R V + 85mm GM to ARRI Alexa 35 + Zeiss Supreme), lighting (24 real setups - Rembrandt, butterfly, clamshell, split), film_stock (18, including Portra, Ektar, Tri-X, CineStill), mood (15), quality_directive (7), and composition (10). Leave any of them on "none" and that fragment is skipped. Every selection maps to a hand-written prompt fragment in the pack's vault_data.py - a "Sony A7R V + 85mm" pick expands to "Shot on Sony A7R V with 85mm f/1.4 G Master lens, shallow depth of field, natural skin rendering," and so on.

    Then the node joins your subject plus every chosen fragment with ". " into one natural-language paragraph. Note the default quality_directive is "Ultra-realism (anti-AI)" - that's the pack's whole stance in one dropdown. There's also an extra_details box for specifics the dropdowns can't cover (the subject's jacket, the prop in frame), and save_to_favorites if you want the result saved for the Favorites node.

    Outputs: prompt (the assembled paragraph - straight into a CLIP Text Encode positive) and prompt_dna, a JSON recipe listing every component you used. That's quietly the most underrated feature: it's a full reproducibility record. Change one thing, compare the DNA, you can see exactly what shifted.

    Why you'd reach for it

    Consistency. When you're batching a series and want every frame to share the same lighting language and film look, fixed dropdowns beat retyping the same sentence for the tenth time - it's the same logic as wildcard batching, minus the syntax. Swap the lighting from Rembrandt to clamshell and the whole series re-shoots with one click.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/jeremieLouvaert/ComfyUI-Prompt-Vault.git
    

    Restart and you'll find it under AKURATE/Prompt Vault. No dependencies - the requirements file is literally a comment. ComfyUI Manager search "ComfyUI-Prompt-Vault" works too.

    Common issues

    • Empty subject = an error string. Run it with a blank subject and the prompt output is literally Error: Subject description is required. - which, wired into CLIP, becomes a prompt about an error message. Always fill the subject first.
    • Prose vs. tags, again. Build emits long natural-language sentences. Great on SDXL-lineage and newer LLM-encoded checkpoints; much weaker on tag-based models like Illustrious or Pony, which want booru tags, not camera prose. Know what your checkpoint's encoder speaks before you lean on this.
    • Photography only, by design. No anime, 3D, or illustration angles in the component database - this is a tool for photographic looks, full stop.
    CategoryAKURATE/Prompt Vault

    Inputs (9)

    NameTypeDefaultDescription
    subjectSTRING
    camera_lensCOMBOnone28 options: none, Sony A7R V + 85mm f/1.4 GM, Canon R5 + RF 85mm f/1.2L, Nikon Z9 + 105mm f/1.4, Hasselblad X2D + 80mm f/1.9, Leica SL2 + 50mm f/1.4 Summilux, +22
    lightingCOMBOnone25 options: none, Rembrandt (classic portrait), Butterfly / Paramount, Split light (dramatic), Clamshell (beauty), Loop lighting (natural portrait), +19
    film_stockCOMBOnone19 options: none, Kodak Portra 400, Kodak Portra 160, Kodak Portra 800, Kodak Ektar 100, Kodak Gold 200, +13
    moodCOMBOnone16 options: none, Intimate & quiet, Editorial confidence, Melancholic nostalgia, Raw documentary, Luxurious opulence, +10
    quality_directiveCOMBOUltra-realism (anti-AI)8 options: none, Ultra-realism (anti-AI), Editorial print-ready, Fine art photography, Commercial product, Documentary authenticity, +2
    compositionCOMBOnone11 options: none, Rule of thirds, Center weighted, Golden ratio, Environmental portrait, Tight crop (beauty), +5
    extra_detailsoptSTRING
    save_to_favoritesoptBOOLEANfalse

    Outputs (2)

    NameTypeDescription
    promptSTRING
    prompt_dnaSTRING