ComfyUI Node

VNCCS Position Control

Turn camera angles into the exact prompt words a multi-angle LoRA wants

By AHEKOT·Created 10 months ago·Updated a day ago· 1,010
VNCCS Position Control
    • prompt
    azimuth0
    elevation0
    distancemedium shot
    include_triggertrue

    If you've ever stared at a "multiple angles" LoRA for Qwen-Image-Edit and wondered what the heck you're supposed to type to get a three-quarter view from behind, this is the node for you. VNCCS Position Control is a tiny prompt-builder that turns three camera sliders into the exact phrase that these LoRAs were trained to understand.

    It exists because camera words are fiddly. "Front-right quarter view at eye level, medium shot" isn't something you want to type from memory - you want a UI to pick it, and you want the spelling to match the training data every single time. That's the whole job here.

    How it works

    Nothing clever, and that's the point. Three inputs get snapped to a lookup table and joined into a prompt string. The azimuth (0–360°) maps to the eight compass view names - front view, front-right quarter view, right side view, and so on around the back. Elevation maps to low-angle shot, eye-level shot, elevated shot, or high-angle shot. Distance is a straight enum: close-up, medium shot, or wide shot. If include_trigger is on, the output is prefixed with the LoRA's <sks> trigger word.

    The output for azimuth 45, elevation 0, medium shot, trigger on:

    <sks> front-right quarter view eye-level shot medium shot
    

    That string is meant to be appended to your prompt - either through a text-combine node or literally pasted into your prompt box. The whole design assumes the Qwen-Image-Edit-2511-Multiple-Angles LoRA is on your model, because that's the convention the mapping was built against. The KB notes that LoRA ecosystem is real and LoRA-specific - these view tokens do nothing for a generic checkpoint.

    The inputs that matter

    • azimuth (0–360, step 45) - angle around the subject. 0 = front, 90 = right, 180 = back. Values snap to the nearest compass point, so you can't produce a weird in-between word.
    • elevation (−30 to 60, step 30) - vertical angle. −30 = low, 0 = eye level, 60 = high.
    • distance - close-up / medium shot / wide shot.
    • include_trigger - tacks <sks> on the front. Turn it off if your workflow adds the trigger elsewhere (many LoRA setups do it in a separate node, and double <sks> is sloppy prompting).

    One output, prompt, a plain STRING.

    Installing and using it

    It's part of the VNCCS Utils pack:

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

    or find VNCCS Utils in ComfyUI Manager, install, restart. Then add the node, set your angle, and wire prompt into a prompt-combine node alongside your main prompt.

    Two quick notes: the sliders default to a plain front view, which is a fine starting point for most shots. And this is the non-visual sibling of VNCCS Visual Camera Control - if you'd rather drag a camera in a widget than nudge sliders, use that one instead. Same output convention, friendlier input.

    CategoryVNCCS

    Inputs (4)

    NameTypeDefaultDescription
    azimuthINT00–360Angle of the camera around the subject (0=Front, 90=Right, 180=Back)
    elevationINT0-30–60Vertical angle of the camera (-30=Low, 0=Eye Level, 60=High)
    distanceCOMBOmedium shot3 options: close-up, medium shot, wide shot
    include_triggerBOOLEANtrueInclude <sks> trigger word

    Outputs (1)

    NameTypeDescription
    promptSTRING