ComfyUI Node

CamOrbit

Camera presets for people who don't think in degrees

By LacklusterOpsec·Created 5 months ago·Updated 16 days ago· 1
CamOrbit
  • image
  • prompt
  • label
  • camera_info
presetFront (eye-level)
azimuth0
elevation0
distance5.0
prefix<sks>
extra_prompt
camera_viewfalse

"Lackluster-Camera" makes you dial in azimuth and elevation yourself. CamOrbit is the version for when you just want to say "right profile" or "worm's-eye" and be done. It's the friendlier face of the pack's camera angle generator: pick a named preset, and it builds the exact same kind of optimized angle prompt - <sks> right side view eye-level shot close-up - plus the matching LOAD_3D_CAMERA record for the 3D preview widget.

How it works

The preset dropdown is the star. Sixteen entries including the full framing vocabulary: Front (eye-level / low / high), Left and Right Profile, the 3/4 views, Back, Overhead, Worm's-eye, Dutch Angle Right, and two close-ups. Choose one and the node applies its stored azimuth/elevation/distance. Or pick "Custom" and set the three numbers yourself - azimuth (0–360°), elevation (-30° to 60°), distance (0 = wide, 10 = close-up).

Two extra touches the plain camera node lacks:

  • prefix - the token prepended to each prompt, default <sks>. This one actually works, unlike the single node's vestigial default_prompts.
  • extra_prompt - text appended after the generated camera phrase, so you can say "right profile, holding a coffee cup" without editing the angle wording.

Outputs

  • prompt (STRING) - <sks> <angle> <height> <shot size> <extra>, straight into your text encoder
  • label (STRING) - the preset name you picked; handy if you're labeling batch results
  • camera_info (LOAD_3D_CAMERA) - 3D scene metadata for the preview widget

Choosing between CamOrbit and Lackluster-Camera

Honest take: if you know your angles, they're functionally equivalent - CamOrbit just wraps the same math with named presets. Where CamOrbit wins is speed and readability: a preset dropdown is way easier to share in a workflow than three numeric sliders, and the label output makes per-shot bookkeeping painless. Reach for it when you're assembling shot lists; reach for Lackluster-Camera when you want fine numeric control.

Install notes

Same pack, same light install - ComfyUI Manager ("ComfyUI Lackluster Nodes") or clone + pip install -r requirements.txt (requests + numpy only, no models). One gotcha to remember: the 3D preview widget is a compiled Vue/three.js app that the repo doesn't ship built, so if camera_view doesn't render a scene, it's cosmetic - the prompt generation is unaffected.

CategoryLackluster/Camera

Inputs (8)

NameTypeDefaultDescription
presetCOMBOFront (eye-level)16 options: Custom, Front (eye-level), Front (low), Front (high), Right Profile, Left Profile, +10
azimuthINT00–360Horizontal angle (0-360°)
elevationINT0-30–60Vertical angle (-30° to 60°)
distanceFLOAT5.00–10Camera distance (0=wide, 10=close-up)
prefixSTRING<sks>Prefix token for each prompt
extra_promptSTRINGExtra text appended to the generated prompt
camera_viewBOOLEANfalseToggle camera perspective preview
imageoptIMAGEOptional input image for 3D scene preview

Outputs (3)

NameTypeDescription
promptSTRING
labelSTRING
camera_infoLOAD_3D_CAMERA