Nodes/comfyui-expobooth-prompt-public/πŸ“ ExpoBooth Prompt Builder
ComfyUI Node

πŸ“ ExpoBooth Prompt Builder

A Trade Show Booth Prompt Generator That Needs Zero Models

By TheDuke1974Β·Created 4 months agoΒ·Updated 4 months agoΒ· 0
πŸ“ ExpoBooth Prompt Builder
    • final_prompt
    • summary
    • debug
    β—„brand_nameBrandβ–Ί
    β—„brand_colorsblue and whiteβ–Ί
    β—„booth_typeinline boothβ–Ί
    β—„open_sides2 sides openβ–Ί
    β—„materialPanelsβ–Ί
    β—„flooringOnly carpetβ–Ί
    β—„trussNoneβ–Ί
    β—„storageNoneβ–Ί
    β—„storage_positionAutoβ–Ί
    β—„width_m4.0β–Ί
    β—„depth_m3.0β–Ί
    β—„height_m3.0β–Ί
    β—„style_keywordsmodern, clean, premiumβ–Ί
    β—„product_focusproduct display and brand presentationβ–Ί
    β—„camera_modeheroβ–Ί
    β—„user_promptyour promptβ–Ί

    This node does one thing: it turns exhibition-booth specs into a ready-to-use image prompt. Feed it dimensions, materials, lighting and a brand name; it hands back a structured English sentence you wire straight into your text encoder. No API calls, no keys, no model downloads - the whole thing is string concatenation wearing a nice blue hoodie.

    It's the public, sanitized version of the prompt system behind ExpoBooth.ai, a trade show concept-render tool. The README is refreshingly blunt: the internal production workflows, private prompt heuristics, and client-specific methods are not included. So it's genuinely tiny and safe to install - but if you were hoping for secret booth-prompt sauce, lower your expectations.

    Why you'd reach for it

    If you generate exhibition booth concept renders for a living - event agencies, exhibitors, marketing teams - you've felt the pain this targets. A booth render prompt is a boring, repetitive list: dimensions, booth type, open sides, flooring, truss, storage, camera angle. Typing that out every time is exactly the work ComfyUI was built to automate. Save the workflow as a JSON and anyone on your team can swap width_m from 4 to 8 and get a properly reworded prompt instead of hand-editing prose.

    It also fits a broader ComfyUI pattern: text-only "prompt builder" nodes that compose a final prompt from a few fields. Most are generic. This one is vertical-specific, which is both its strength and its niche - if you're not rendering trade show stands, it does nothing for you.

    How it works

    The mechanism is almost insultingly simple, and that's fine. build_prompt takes your sixteen inputs, runs each through a lookup table that turns a dropdown value into descriptive phrasing ("inline booth" β†’ "inline exhibition booth concept with a front-facing visitor side"), then joins everything with commas into one long structured sentence:

    realistic exhibition booth concept render, inline exhibition booth concept with a front-facing visitor side, two open visitor-facing sides, booth footprint approximately 4m wide by 3m deep, ...
    

    Note the structure: it's natural-language prose organized in blocks, not booru tags. That matters for which model you pair it with. Per the knowledge base, block-structured English prompts are exactly what LLM-encoded models like Flux, Z-Image, or Anima want - your prompt is an instruction, not a token bag. If you're on an SDXL-lineage checkpoint (Illustrious, Pony, plain SDXL), the prose still works, it's just not the tag format those models are happiest with.

    The inputs and outputs that matter

    There are sixteen required inputs. The five you actually tune per job: brand_name, brand_colors, width_m (1–50, default 4), depth_m (1–50, default 3), and camera_mode. Everything else is a dropdown with sensible defaults - booth_type, open_sides, material, flooring, truss, storage, height_m, style_keywords, product_focus. user_prompt is a free-text field for extra direction; the placeholder string "your prompt" is stripped out entirely, so leaving it at default adds no garbage.

    Two quirks worth knowing. height_m is an enum (2.5 / 3.0 / 3.5 / 4.0), not a float like width and depth - you can't type 3.2. And storage takes literal "1x1" / "2x1" strings that get pasted into the sentence as-is.

    The three outputs:

    • final_prompt - the text you wire into a text encoder (CLIPTextEncode, or an LLM/text-encoder node depending on your checkpoint) to feed the sampler.
    • summary - a pipe-delimited one-liner of your settings. Handy for automation or logging.
    • debug - prompt length and the resolved storage position. Just for checking.

    Every execution recomputes (IS_CHANGED is always-different), so summary and debug stay live while you drag sliders.

    Installing it

    No dependencies, no models, no requirements.txt - which is a genuine relief in a corner of the ecosystem famous for dependency hell. Either route works:

    • ComfyUI Manager: search "ExpoBooth Prompt" (or the pack title comfyui-expobooth-prompt-public) and install.
    • Manual:
    cd ComfyUI/custom_nodes
    git clone https://github.com/TheDuke1974/comfyui-expobooth-prompt-public
    

    Restart ComfyUI. The node appears as πŸ“ ExpoBooth Prompt Builder under the "ExpoBooth" category. The pack's web folder just recolors the node blue - cosmetic, ignore it.

    Common issues

    Honestly, there isn't much to go wrong. It's pure text. The main failure mode is the node's own error handling: if anything throws, all three outputs receive NODE ERROR | <Type>: <message> instead of a prompt. See that string in final_prompt and one of your inputs is malformed - usually a float fed from another node as a string.

    The bigger trap is upstream: this node outputs text, not an image. You still need a checkpoint that can render realistic exhibition architecture - pair it with a photoreal model (a solid SDXL-lineage checkpoint or Flux) or your booth renders will look like clay. And remember this is the public shell: if you saw a demo of the full ExpoBooth.ai system and expect identical output, the README already told you that logic isn't here.

    CategoryExpoBooth

    Inputs (16)

    NameTypeDefaultDescription
    brand_nameSTRINGBrandβ€”
    brand_colorsSTRINGblue and whiteβ€”
    booth_typeCOMBOinline booth4 options: inline booth, corner booth, peninsula booth, island booth
    open_sidesCOMBO2 sides open4 options: 1 side open, 2 sides open, 3 sides open, 4 sides open
    materialCOMBOPanels3 options: Panels, Graphic fabric, LED Fabric
    flooringCOMBOOnly carpet3 options: Only carpet, 40mm raised floor, 100mm raised floor with access ramp
    trussCOMBONone4 options: None, Only truss, Truss with LED strips, Truss with PAR lights
    storageCOMBONone3 options: None, 1x1, 2x1
    storage_positionCOMBOAuto3 options: Auto, Left, Right
    width_mFLOAT4.01–50β€”
    depth_mFLOAT3.01–50β€”
    height_mCOMBO3.04 options: 2.5, 3.0, 3.5, 4.0
    style_keywordsSTRINGmodern, clean, premiumβ€”
    product_focusSTRINGproduct display and brand presentationβ€”
    camera_modeCOMBOhero6 options: hero, front, right corner, left corner, wide, dramatic
    user_promptSTRINGyour promptβ€”

    Outputs (3)

    NameTypeDescription
    final_promptSTRINGβ€”
    summarySTRINGβ€”
    debugSTRINGβ€”