Nodes/ComfyUI LC123 Nodes/πŸ—’οΈLC Camera
ComfyUI Node

πŸ—’οΈLC Camera

Name the camera in your prompt without the jargon

By lonecatone23Β·Created 2 months agoΒ·Updated 3 days agoΒ· 18
πŸ—’οΈLC Camera
    • prompt
    β—„promptβ–Ί
    β—„angleeye levelβ–Ί
    β—„distanceMedium shotβ–Ί
    β—„depth_of_fieldShallowβ–Ί

    Here's a free lesson that cost other people a lot of trial and error: naming a physical camera in your prompt does more for realism than any stack of "realistic, detailed, 8k" filler. LLM-encoded models like Krea2 and Anima read "35mm film camera" as actual information, not as a quality wish. The catch is that writing good camera language is a whole vocabulary - focal length, shot size, angle, depth of field - and most people don't have it memorized mid-workflow. LCCamera is the pack's prompt-builder node that hands it to you as dropdowns.

    It builds a camera phrase from three choices, plus any notes you want. angle picks the camera's height and tilt relative to the subject - 12 options from the obvious (eye level, from below, 3/4 angle, profile angle) to the amusingly specific (overhead selfie angle, mirror selfie angle, phone camera angle). distance picks how much of the subject is in frame, from Extreme close-up through Medium shot to Full body. And depth_of_field is the stand-in for aperture - Very shallow to Everything sharp, with the tooltip honest that it's "a simple stand-in for aperture" rather than real f-stop math. The output is a single prompt string.

    The detail that makes it worth using over typing your own: the distance presets include lens character, not just framing. The tooltip says it outright - "How much of the subject is in frame (close-up β†’ full body). Includes lens character." So choosing Medium shot doesn't just say "medium shot," it brings along the kind of lens language that a portrait medium shot implies. That's the difference between "camera shot: medium" and a phrase the encoder actually has texture to grab onto.

    This node doesn't exist in a vacuum - it's one block in the pack's Prompt Builder stack, which is a modular chain: Subject + Scene + Camera + Lighting + Style + Palette all feed into the LC Prompt Assembler, which combines them into a single prompt for CLIP. LCCamera is the "camera" module of that stack, so the natural wiring is: this node's prompt output into the Assembler, alongside the scene and lighting blocks, rather than straight into a CLIP encoder. The prompt text input at the top is your free-text camera notes ("shot through a car window," "slight motion blur") that get combined with the preset output.

    Where people get caught: expecting raw numbers. There's no mm focal length and no f-stop anywhere in this node - that's a deliberate design choice, per the description ("Distance presets include lens character; no raw mm/f-stop"), because most diffusion encoders respond better to shot language than to lens specs, and the preset wording is tuned for that. If you genuinely want "85mm f/1.4," type it into the notes field yourself - the node will happily append it.

    The other thing worth knowing: this is a text builder, so it costs nothing and re-runs instantly. You can iterate on camera language by flipping dropdowns and watching the output change, which is the right way to learn what your model responds to - and it plays directly into the "name a physical camera" lesson from prompt-engineering practice.

    Install is the standard LC123 clone:

    cd ComfyUI/custom_nodes
    git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes
    

    Restart, no pip deps. If your portraits keep coming out with that flat, nowhere-camera look, this is the lowest-effort fix in the pack.

    CategoryLC123/prompt

    Inputs (4)

    NameTypeDefaultDescription
    promptSTRINGExtra camera notes. Framing presets include natural lens language.
    angleCOMBOeye levelCamera height and tilt relative to the subject.
    distanceCOMBOMedium shotHow much of the subject is in frame (close-up β†’ full body). Includes lens character.
    depth_of_fieldCOMBOShallowBackground blur vs sharp throughout (simple stand-in for aperture).

    Outputs (1)

    NameTypeDescription
    promptSTRINGβ€”