Nodes/DIGIT Nodes/DIGIT Random Prompt
ComfyUI Node

DIGIT Random Prompt

A cinema-grade prompt generator for when you're out of ideas

By thedepartmentofexternalservices·Created 6 months ago·Updated 26 days ago· 0
DIGIT Random Prompt
    • prompt
    seed0
    settingrandom
    locationrandom
    time_of_dayrandom
    weatherrandom
    moodrandom
    subjectrandom
    camerarandom
    lensrandom
    film_stockrandom
    lightingrandom
    color_paletterandom
    compositionrandom
    era_stylerandom
    custom_prefix
    custom_suffix

    Blank-canvas paralysis is real, and this node is the cure: it assembles randomized cinematic image prompts from curated pools - setting, location, time of day, weather, mood, subject, camera body, lens, film stock, lighting, color palette, composition, and era style. Click run, get a prompt like "a lone figure on a rain-slicked Tokyo street at dusk, shot on a Fujifilm GFX 100 II with a 35mm lens, Kodak Tri-X 400, chiaroscuro lighting". It's an idea machine with genuinely film-literate vocabulary - real camera bodies, real film stocks, real composition language - which is a cut above the generic "random prompt" nodes that just shuffle adjectives.

    Where it shines is iteration and exploration. You can use it as a mood board generator (run it fifty times, keep the prompts that click), as a source of variety when you're stuck on the same subject framing, or as the randomness half of a pipeline where Prompt Combine adds your fixed subject and the Random Prompt supplies the scene. Each category is a dropdown that defaults to random but can be pinned to a specific value - so you can lock "camera: Leica SL3" and randomize everything else.

    How it works

    The node keeps a pool per category - things like actual medium-format and large-format cameras, film stocks from Tri-X to Aerochrome, lighting schemes from chiaroscuro to backlit-with-flare, era styles from Art Deco to film noir. On each run it picks one entry per active category and joins them into a single prompt string. Set seed to 0 (the default) and every run is different; set a number and the same prompt comes back, which is how you reproduce a specific composition you liked.

    The inputs:

    • seed - 0 = random every run; any number = deterministic.
    • setting, location, time_of_day, weather, mood, subject, camera, lens, film_stock, lighting, color_palette, composition, era_style - each random or a pinned pick. Note subject is in here too, so you can lock your actual subject and randomize the cinematography around it.
    • custom_prefix / custom_suffix - text added to the front and back of the generated prompt. This is how you inject "in the style of..." or a fixed quality string.

    The single output is prompt - the full string, ready to feed into a Prompt Combine or straight into a text encoder.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/thedepartmentofexternalservices/comfyui-digit.git
    cd comfyui-digit
    pip install -r requirements.txt
    

    (Or ComfyUI Manager → search comfyui-digit → install.) Restart ComfyUI, look under DIGIT.

    Common issues

    The honest limits: it's random, so most outputs won't be keepers - that's the point, but don't expect a hit rate. And the pools are image-cinema vocabulary; if you want video-specific prompting (camera movement, shot duration) this won't give it to you. Two practical notes: set seed to a fixed value when you're iterating on a specific prompt you liked, or you'll never see it again; and if you want your actual subject in every prompt, type it into custom_prefix or the subject slot rather than hoping the random pools happen to land on it.

    One more thing worth knowing: the node's output is a plain prompt string with no seed_used output in the current build - if you need to know which seed produced a given prompt for reproducibility, read the seed you set before running. It's a simple, cheerful utility, and it's the rare node that makes the graph more fun to use rather than more correct.

    CategoryDIGIT

    Inputs (16)

    NameTypeDefaultDescription
    seedINT00–2147483647
    settingoptCOMBOrandom3 options: random, interior, exterior
    locationoptCOMBOrandom91 options: random, abandoned warehouse, rooftop bar at sunset, neon-lit Tokyo alley, Moroccan riad courtyard, brutalist parking garage, +85
    time_of_dayoptCOMBOrandom23 options: random, golden hour, blue hour, high noon, dawn, dusk, +17
    weatheroptCOMBOrandom31 options: random, clear sky, overcast, heavy rain, light drizzle, dense fog, +25
    moodoptCOMBOrandom36 options: random, cinematic and moody, warm and nostalgic, cold and isolating, dreamy and ethereal, gritty and raw, +30
    subjectoptCOMBOrandom41 options: random, a lone figure in silhouette, two people in conversation, an elderly person's weathered hands, a dancer mid-leap, a child discovering something, +35
    cameraoptCOMBOrandom39 options: random, ARRI Alexa 65, RED V-Raptor, Sony Venice 2, Canon C500 Mark II, Panavision Millennium DXL2, +33
    lensoptCOMBOrandom25 options: random, 24mm wide angle, 35mm prime, 50mm f/1.2, 85mm portrait, 135mm telephoto, +19
    film_stockoptCOMBOrandom25 options: random, Kodak Portra 400, Kodak Portra 800, Kodak Ektar 100, Fujifilm Pro 400H, Kodak Tri-X 400, +19
    lightingoptCOMBOrandom31 options: random, natural light only, single key light with hard shadows, soft diffused window light, neon practical lights, chiaroscuro — dramatic light and shadow, +25
    color_paletteoptCOMBOrandom21 options: random, warm earth tones — amber, ochre, burnt sienna, cool blue and teal monochrome, high contrast black and white, desaturated with single color accent — red, neon cyberpunk — magenta, cyan, electric blue, +15
    compositionoptCOMBOrandom29 options: random, rule of thirds, centered symmetry, leading lines, Dutch angle, bird's eye view, +23
    era_styleoptCOMBOrandom21 options: random, 1920s Art Deco, 1940s film noir, 1950s Technicolor, 1960s French New Wave, 1970s gritty realism, +15
    custom_prefixoptSTRINGText prepended to the generated prompt.
    custom_suffixoptSTRINGText appended to the generated prompt.

    Outputs (1)

    NameTypeDescription
    promptSTRING