Nodes/ComfyUI-RedNodeStudio/RedNode Camera LoRAs
ComfyUI Node

RedNode Camera LoRAs

Camera sliders that follow your stage, so zoom and height stay in sync by themselves

By RedNodeAI·Created about a month ago·Updated about 23 hours ago· 0
RedNode Camera LoRAs
  • model
  • clip
  • model
  • clip
  • applied
camera_json
zoom_loraNone
zoom_modeoff
zoom_strength0.0
height_loraNone
height_modeoff
height_strength0.0
orbit_loraNone
orbit_modeoff
orbit_strength0.0
back_loraNone
back_modeoff
back_strength0.0

Here's the workflow problem this node kills: your Camera Studio says "push in tight," but the actual image only changes if the LoRA that controls zoom also moves. Do that by hand and you're re-entering a number every time you touch the stage - and the number drifts out of sync the moment you forget. RedNode Camera LoRAs makes the slider follow the camera, so there's no second number to keep in sync at all.

It's the bridge between geometry and weights. The Camera Studio outputs camera_json - a full description of where the camera, subjects and lights are. This node reads that same JSON and turns it into LoRA strengths for four camera sliders: zoom, height, orbit and back. Push the camera in on the stage and the zoom slider moves with it. Drop the camera down and the height slider does. On top of that, the two lighting sliders work the same way off the exposure and colour dials. The geometry and the weights are one thing instead of two things that can disagree.

The inputs that matter

You only set a handful of things, and they repeat four times:

  • model - your Krea 2 model. clip is optional, in case the LoRA you picked touches the text side.
  • camera_json - the Camera Studio's output. Auto strengths are computed from it; without it, Auto just reads 0.
  • zoom_lora / height_lora / orbit_lora / back_lora - the file for each slot. Every slot is empty until you pick a file, and the node is completely happy with none of them.
  • zoom_mode / height_mode / orbit_mode / back_mode - off, auto, or manual. Auto takes the strength from the camera; manual uses the number below it.
  • *_strength - the manual number. About ±8 is a strong effect for the RedNode sliders; don't start at the extremes.

Outputs are model and clip back out to your sampler, plus an applied string that tells you which LoRA went on at what strength - the sort of receipt you'll want when the image doesn't match your mental model.

How it actually applies

The code chains the LoRAs onto clones of your model and clip, never the originals you wired in, so a pass that's off leaves the model untouched. It skips anything under 0.05 strength, and if a file is missing it prints a note and moves on rather than killing the queue. There's no error spam - just a console line saying what was skipped.

Which LoRAs to feed it

Three of the sliders are the author's own, trained for Krea 2 and attached to the pack's v1.2.0 release: camera_height_krea2_rednode, camera_orbit_krea2_rednode, and camera_back_krea2_rednode. Free to use and share, just not to sell. The zoom slider and the colour-temperature slider are Loraholic's, on Civitai; the brightness slider is PornMaster's Krea2 Light Slider. They all go in models/loras, which is also where the node's dropdown reads them from - if a file isn't in the dropdown, it isn't in that folder.

Install

Same one-line install as the rest of the pack:

git clone https://github.com/RedNodeAI/ComfyUI-RedNodeStudio.git ComfyUI/custom_nodes/ComfyUI-RedNodeStudio

Restart ComfyUI (or search RedNode Studio in ComfyUI Manager). No pip dependencies. Then download the slider LoRAs into ComfyUI/models/loras - that's the only part that isn't automatic.

Gotchas worth knowing

Auto strength with no camera_json wired reads 0, so if you set a slider to auto and nothing happens, check that the studio's JSON is actually connected - that's the whole signal path. And these are Krea 2 LoRAs: they're trained for that architecture, so they won't load on SDXL or Flux, which will error out on the architecture mismatch, not silently fail. If you're only after a one-off camera move and don't have the LoRAs yet, manual mode with a number you like works fine - the node is happy with none of the files, and the stage alone already writes the camera language. The LoRAs just add the pixel-level push the words can't.

CategoryRedNode/Prompt

Inputs (15)

NameTypeDefaultDescription
modelMODEL
camera_jsonSTRINGThe Camera Studio's camera_json output. Auto strengths are computed from it; without it Auto reads 0.
zoom_loraCOMBONone1 options: None
zoom_modeCOMBOoffAuto: strength from the camera. Manual: the number below.
zoom_strengthFLOAT0.0-14–16Used in Manual mode. About +-8 is a strong effect for the RedNode sliders.
height_loraCOMBONone1 options: None
height_modeCOMBOoffAuto: strength from the camera. Manual: the number below.
height_strengthFLOAT0.0-14–16Used in Manual mode. About +-8 is a strong effect for the RedNode sliders.
orbit_loraCOMBONone1 options: None
orbit_modeCOMBOoffAuto: strength from the camera. Manual: the number below.
orbit_strengthFLOAT0.0-12–12Used in Manual mode. About +-8 is a strong effect for the RedNode sliders.
back_loraCOMBONone1 options: None
back_modeCOMBOoffAuto: strength from the camera. Manual: the number below.
back_strengthFLOAT0.0-4–12Used in Manual mode. About +-8 is a strong effect for the RedNode sliders.
clipoptCLIP

Outputs (3)

NameTypeDescription
modelMODEL
clipCLIP
appliedSTRING