Nodes/One Button Prompt/One Button Prompt
ComfyUI Node

One Button Prompt

A node that writes the whole prompt for you

By AIrjen·Created 3 years ago·Updated about a year ago· 1,064
One Button Prompt
    • prompt
    • prompt_g
    • prompt_l
    insanitylevel5
    artistall
    imagetypeall
    imagemodechance20
    subject------ all
    custom_subject
    custom_outfit
    prompt_prefix
    prompt_suffix
    humanoids_genderall
    emojisfalse
    base_modelSDXL
    prompt_enhancernone
    seed0

    Leave the prompt box empty, hit run, get a full Stable Diffusion prompt you never typed a word of. That's the entire pitch, and it's a weirder, more useful idea than it sounds. This isn't an LLM bolted onto ComfyUI - it's an older, more mechanical trick: a huge curated library of subjects, artists, lighting and camera language, wired together with rules and a random-number generator, so every run comes out coherent instead of word salad. The author (Reddit's u/AIrjen) built it in 2023 for Automatic1111, inspired by StylePile and Dynamic Prompts but pushed further than either - instead of filling gaps in a template, it writes the whole thing from a blank field. It got ported to ComfyUI a few months later as this node, and it's stuck around as one of the more distinctive random-generation packs out there: five subject families and a pool of roughly 3,483 artists to draw from.

    Put it ahead of your CLIP Text Encode when you genuinely don't have an idea, or when you've run out of good ones. Beginners reach for it because a blank prompt box is its own kind of writer's block; people who've been doing this a while reach for it to break their own ruts - everyone settles into the same five prompt habits eventually, and a generator that surprises you is a real cure for that. The author's own honest estimate, carried over from the A1111 days: about one in five results is genuinely great, and every one is at least interesting.

    How it works

    Each run, the node picks a subject from one of five families - object, animal, humanoid, landscape, or concept - then layers on descriptive terms, a lighting/composition pass, and, with some probability, zero to three named artists from that ~3,483-artist pool. It's controlled randomness, not "any tokens": everything comes from curated, hand-built lists, so combinations mostly hang together instead of reading like noise.

    The inputs and outputs that matter

    • insanitylevel (required, 1–10, default 5) - the one dial you actually need, controlling how many extra elements pile onto the base prompt. The author's own guidance: keep it around 3–7 for something usable; 10 is "at your own risk" and tends toward noun-piles.
    • subject - pick a family (object / animal / humanoid / landscape / concept) instead of "all" if you want a specific kind of image.
    • custom_subject and custom_outfit - override the random subject with your own text (say, "obese man wearing a kimono") and the generator builds lighting, framing and artists around it. It's smart enough to notice "wearing" and skip generating a random outfit on top of what you already specified.
    • artist, imagetype, base_model - steer style, image category (photograph / concept art / anime / etc.), and which model family you're targeting. base_model matters because "an all-purpose SD1.5 or SDXL checkpoint" is what this generator was actually built and tuned for.
    • prompt_prefix / prompt_suffix - plain text glued onto the final result; the usual spot for LoRA trigger words or textual inversions.
    • prompt_enhancer - set to superprompt-v1 and the finished prompt gets run through a small dedicated language model that expands it into a longer, more descriptive version (see the standalone OneButtonSuperPrompt node for the same trick on demand).
    • Outputs: prompt is what you want for a normal SD1.5 CLIP Text Encode. prompt_g and prompt_l exist for SDXL's dual text encoder - wire those into a CLIPTextEncodeSDXL node's text_g / text_l inputs instead if you're targeting SDXL specifically.

    How to install it

    Easiest path: ComfyUI Manager → search "One Button Prompt" → install → restart. Manually, from your ComfyUI root:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AIrjen/OneButtonPrompt
    

    Restart ComfyUI. No GPU-heavy models to fetch and no fussy requirements.txt - it's pure Python string manipulation over bundled word lists. The one thing that pulls in extra weight is prompt_enhancer: set it to superprompt-v1 and the node needs that small language model available, a much lighter download than any checkpoint.

    Common issues & troubleshooting

    It doesn't touch your negative prompt. By design - everything it writes goes into the positive side. Wire up AutoNegativePrompt from the same pack, or write your own separately.

    Results look like nonsense at high insanitylevel. Not a bug - 8–10 is deliberately over the top. Pull it back to 5–7 for something you'd actually spend GPU time rendering at full resolution.

    It doesn't know what your checkpoint actually responds to. The vocabulary - artist names especially - comes from the SD1.5/SDXL era, when a CLIP encoder read your prompt as a bag of tags. A 2026-era LLM-encoded checkpoint (Z-Image, Flux, Anima) reads a prompt as an instruction, and artist name-dropping often does nothing or gets read as literal text. Treat this as an SD1.5/SDXL tool; on anything newer, use its output as a rough draft and rewrite by hand.

    Nothing happens, or the node fails to load. Confirm the pack cloned into custom_nodes/OneButtonPrompt, not a nested subfolder, and that you restarted ComfyUI rather than just refreshing the browser tab - custom node folders are only scanned on startup.

    CategoryOneButtonPrompt

    Inputs (14)

    NameTypeDefaultDescription
    insanitylevelINT51–10
    artistoptCOMBOall77 options: all, all (wild), none, popular, greg mode, 3D, +71
    imagetypeoptCOMBOall23 options: all, all - force multiple, all - anime, none, photograph, octane render, +17
    imagemodechanceoptINT201–100
    subjectoptCOMBO------ all40 options: ------ all, --- object - all, object - generic, object - vehicle, object - food, object - building, +34
    custom_subjectoptSTRING
    custom_outfitoptSTRING
    prompt_prefixoptSTRING
    prompt_suffixoptSTRING
    humanoids_genderoptCOMBOall3 options: all, male, female
    emojisoptCOMBOfalse2 options: false, true
    base_modeloptCOMBOSDXL4 options: SD1.5, SDXL, Stable Cascade, Anime Model
    prompt_enhanceroptCOMBOnone2 options: none, superprompt-v1
    seedoptINT00–18446744073709550000

    Outputs (3)

    NameTypeDescription
    promptSTRING
    prompt_gSTRING
    prompt_lSTRING