Nodes/SDXL Auto Prompter/APNext Photography
ComfyUI Node

APNext Photography

Cameras, film stocks and lenses that actually move an image

By dagthomas·Created 3 years ago·Updated 13 days ago· 283
APNext Photography
    • prompt
    • random
    prompt
    separator,
    string
    seed0
    attributesfalse
    cameraNone
    keywordsNone
    filmNone
    lensesNone
    landscape_subjectNone
    color_gradingNone
    lightingNone
    portrait_photographerNone

    Of all the APNext prompt nodes, this is the one with the best hit rate, and it's not close. The reason is baked into how diffusion models learned photography: naming a real camera, a real lens, and a real film stock is the single highest-leverage thing you can put in a photo prompt. Those are concrete things the model saw captioned thousands of times. "Cinestill 800T," "arri alexa," "85mm" drop an image out of the plastic beauty-default look faster than any pile of "photorealistic, ultra detailed, 8k" ever will.

    APNext Photography is a dropdown builder stuffed with exactly that vocabulary: 169 cameras, 83 film stocks, 69 lenses, plus lighting, color grading, landscape subjects and 67 named portrait photographers. It turns "what camera should I claim I used" into a menu.

    How it works

    Each dropdown is a word list. None skips it, Random picks one, Multiple Random grabs several, or you set a specific value. Your typed prompt is the base and the photographic terms append onto it, joined by the separator. The seed reproduces a draw.

    The mechanism that makes it work isn't magic - it's specificity. A film stock is the most reliable color-grading control you have in a prompt: Kodak Portra for warm skin, Ilford HP5 for black-and-white grain, Cinestill 800T for that neon-night halation. A named photographer imports a whole lighting-and-composition signature. This node's only job is to make those easy to reach and easy to shuffle.

    Inputs and outputs that matter

    • prompt (multiline, required) - your subject and scene. The gear language decorates it.
    • camera + lenses + film - the money trio. This is what earns the node its keep; set these and leave the fluff.
    • lighting - genuinely useful, the second-strongest lever after gear.
    • portrait_photographer - one name imports a whole style; powerful, use sparingly.
    • seed - lock a look you like.
    • attributes (boolean) - folds in extra descriptor tags on some entries.

    Outputs: prompt (base plus the photography terms) and random (just the random picks).

    Installing it

    ComfyUI Manager, search comfyui_dagthomas, install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/dagthomas/comfyui_dagthomas
    cd comfyui_dagthomas
    pip install -r requirements.txt
    

    The heavy dependency list is for the pack's LLM and image-FX nodes. This node needs none of it and asks for no API key.

    Common issues

    Randomizing camera, film, and photographer at once is the classic mistake - you'll get a disposable point-and-shoot shot color-graded like slide film in the style of Ansel Adams, three signatures fighting each other. Pick one camera, one film, maybe one photographer, and stop. Emotional and quality modifiers ("stunning", "masterpiece") add nothing to a photo prompt, so don't lean on the vaguer categories to save a weak combination.

    Model fit is the usual asterisk. This vocabulary is fantastic on SDXL, Illustrious and especially Flux, which respond hard to gear names. On the newest LLM-encoded checkpoints the comma-tag phrasing still helps for the concrete nouns, but the model wants a sentence - so use the node to pick the camera and film, then write "shot on a [camera] with [film] stock" into your prose prompt. For photorealism specifically, this is one of the more useful prompt nodes in the whole ecosystem.

    Categorycomfyui_dagthomas

    Inputs (13)

    NameTypeDefaultDescription
    promptSTRING
    separatorSTRING,
    stringoptSTRING
    seedoptINT00–18446744073709550000
    attributesoptBOOLEANfalse
    cameraoptCOMBONone169 options: None, Random, Multiple Random, aaton ltr, aaton xtr prod, arri alexa, +163
    keywordsoptCOMBONone69 options: None, Random, Multiple Random, angles, animals, b&w, +63
    filmoptCOMBONone83 options: None, Random, Multiple Random, adox pan 100 film, adox silvermax 100 film, agfa vista plus 200 film, +77
    lensesoptCOMBONone69 options: None, Random, Multiple Random, 100mm, 18mm, 200mm, +63
    landscape_subjectoptCOMBONone113 options: None, Random, Multiple Random, abandoned building, airport, aqueduct, +107
    color_gradingoptCOMBONone38 options: None, Random, Multiple Random, bold color grading, bright color grading, color grading, +32
    lightingoptCOMBONone123 options: None, Random, Multiple Random, 3 spots lighting, afternoon lighting, ambient lighting, +117
    portrait_photographeroptCOMBONone67 options: None, Random, Multiple Random, alec soth, andreas gursky, andres serrano, +61

    Outputs (2)

    NameTypeDescription
    promptSTRING
    randomSTRING