Nodes/ComfyUI-OOP/OOP View πŸ“
ComfyUI Node

OOP View πŸ“

Camera angle, shot type and bokeh in one node β€” framing without the guesswork

By 0xRavenBlackΒ·Created 2 years agoΒ·Updated about a year agoΒ· 15
OOP View πŸ“
    • OOP_VIEW
    β—„angleNormalβ–Ί
    β—„viewTypePortraitβ–Ί
    β—„backgroundBlurfalseβ–Ί

    Naming the camera is one of the highest-leverage phrases you can put in a prompt - the knowledge base's own prompting notes call it the standout new habit of recent prompting. OOP View πŸ“ from the ComfyUI-OOP pack packages that into three controls: shot type, camera angle, and whether you want background blur. It's the pack's answer to "how should the camera see this?"

    What it does

    Like everything in this pack, it's a string builder that emits a custom OOP_VIEW type. Three inputs:

    • viewType - 15 shot types: Closeup, Portrait, FullBody, Landscape, Panorama, WideAngle, Macro, MediumShot, LongShot, Establishing, Aerial, Profile, ActionShot, Over-the-Shoulder, Extreme Closeup. Default Portrait.
    • angle - 13 options: Normal, High, Low, Upward, Downward, Side, Tilted, Diagonal, EyeLevel, Bird's Eye, Worm's Eye, Dutch Angle, Overhead. Default Normal.
    • backgroundBlur - a boolean. Checked means blur (bokeh), unchecked means none.

    Pick FullBody + Dutch Angle + blur on, and you get:

    shot:FullBody, angle:Dutch Angle, background:Blur
    

    The mechanism is exactly that transparent. The author's one clever touch: the blur flag becomes a background:Blur / background:NoBlur label in the string, which is more specific than just saying "bokeh" - the model knows the background is out of focus rather than the whole shot being blurry.

    Where it goes

    OOP_VIEW feeds the View input on the OOP Node πŸ’«, where the prompt becomes Perspective: shot:FullBody, angle:Dutch Angle, background:Blur. If you're building a character portrait workflow, viewType: Portrait or Closeup plus background:Blur is the classic combo - and it's the reason to reach for this node over free-typing, since "full body" vs "closeup" is where prompts routinely go sideways.

    Install

    Ships with the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/0xRavenBlack/ComfyUI-OOP
    

    Restart ComfyUI. Or use Manager - search ComfyUI-OOP in the Custom Nodes Manager. No requirements.txt, no model files, nothing heavy.

    Gotchas

    • Shot-type and angle lists overlap in intent. Profile (a viewType) and Side (an angle) describe similar things. Pick the one that reads most naturally and let the other stay at default.
    • backgroundBlur is all-or-nothing. No "light blur" option - it's Blur or NoBlur. If you want shallow depth of field specifically, you're hand-editing the string output.
    • SDXL-era, as with the whole pack. The aggregator hardcodes CLIP skip βˆ’2 and 1024Γ—1024 sizing; the demo workflow is SDXL (euler/karras, cfg 8, 20 steps). Camera terms are one of the few prompt ingredients that do transfer to newer models - but the pack's encoding path still expects an SDXL-style checkpoint.

    Part of a small, dormant pack (early 2025, ~15 stars). For nailing framing consistently across a batch - same shot type, every render - it's a handy little tool, and the background:Blur trick is worth stealing even if you never keep the node.

    CategoryObject-Oriented Prompting

    Inputs (3)

    NameTypeDefaultDescription
    angleCOMBONormal13 options: Normal, High, Low, Upward, Downward, Side, +7
    viewTypeCOMBOPortrait15 options: Closeup, Portrait, FullBody, Landscape, Panorama, WideAngle, +9
    backgroundBlurBOOLEANfalseβ€”

    Outputs (1)

    NameTypeDescription
    OOP_VIEWOOP_VIEWβ€”