Nodes/ComfyUI-UtilsCollection/Camera Shot Presets (Legacy)
ComfyUI Node

Camera Shot Presets (Legacy)

Camera language that actually moves the shot, without the typos

By silveroxides·Created 3 months ago·Updated a day ago· 36
Camera Shot Presets (Legacy)
    • camera_shot_prompt
    presetBIRDS_EYE
    escape_parenthesesfalse

    Prompt engineering has one genuinely high-leverage phrase left in it, and it's camera language. Naming a physical camera setup - the shot size, the angle, the height - is one of the few things that reliably changes what the modern LLM-encoded models produce, because their encoders were trained on real captions that describe real shots. Camera Shot Presets (Legacy) is that vocabulary, pre-written: a dropdown of every camera move you'd type wrong at 1 a.m., each expanded into a proper instruction paragraph.

    The templates are the real content here. BIRDS_EYE doesn't just say "overhead shot" - it explains the geometry: a 90-degree angle to the ground plane, no horizon line, shadows cast directly below, the subject flattened into the ground. LOW_ANGLE, DUTCH_ANGLE, OVER_THE_SHOULDER, POINT_OF_VIEW, ESTABLISHING, KEEP_ANGLE, and the full shot-size ladder (extreme wide → wide → full → medium → close-up → extreme close-up) all get the same treatment: the concept plus the visual consequences the model can actually act on. That expansion is why these work - the models respond to the described composition, not the two-word label.

    The inputs that matter

    • preset - the shot. Shot size (medium, close-up), angle (high, low, dutch), or specialty (POV, over-the-shoulder, birds-eye). KEEP_ANGLE is the honest one: it tells the model not to move the camera, which is exactly what you want when preserving a composition.
    • escape_parentheses - off by default; the same guard as the other preset nodes.

    The output

    camera_shot_prompt - a STRING to drop into your prompt, usually near the front. Camera language composes with style and subject text; it's not a replacement for either. It's especially valuable for video prompts, where the shot description is what keeps the camera from inventing a new angle every frame.

    Installing it

    Part of silveroxides/ComfyUI-UtilsCollection. Install via ComfyUI Manager (search ComfyUI-UtilsCollection) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/silveroxides/ComfyUI-UtilsCollection
    

    Restart after. Dependencies: opencv-python, typing-extensions. Templates ship in the pack; nothing to download. "(Legacy)" marks the compat alias for the pack's canonical UC_CameraShotPresets.

    Where people get burned

    Over-stuffing. These paragraphs are long, and three camera presets concatenated is a prompt fighting itself - a birds-eye paragraph and a POV paragraph don't compose, they argue. Use one shot preset per prompt, as the camera instruction, and let the subject/style text do its own thing. And on SDXL-era checkpoints the long-form expansion is mostly wasted - this shelf is aimed at the encoder generation that reads descriptions as instructions, so judge the effect on the model you're actually running.

    Categoryadvanced/text

    Inputs (2)

    NameTypeDefaultDescription
    presetCOMBOBIRDS_EYE20 options: BIRDS_EYE, CLOSE_UP, DUTCH_ANGLE, ESTABLISHING, EXTREME_CLOSE_UP, EXTREME_WIDE, +14
    escape_parenthesesBOOLEANfalsePrevents errors from parentheses left in the prompt.

    Outputs (1)

    NameTypeDescription
    camera_shot_promptSTRING