Nodes/RedNode Studio/RedNode Camera Studio
ComfyUI Node

RedNode Camera Studio

A camera you drag on a map, instead of words you hope the model obeys

By RedNodeAI·Created 2 months ago·Updated 3 days ago· 4
RedNode Camera Studio
  • image
  • model
  • clip
  • prompt
  • camera_json
  • image
  • latent
  • width
  • height
  • model
  • clip
config{}
prompt_in

Every Krea 2 user has typed "wide cinematic shot, camera low, looking up at the subject" and gotten a picture that ignores half of it. The problem isn't that Krea 2 is dumb - it's that words like "wide" are doing a job they aren't built for. Krea 2's Qwen3-VL text encoder thinks in physical camera language: lens length, height, distance, angle. RedNode Camera Studio is the node that lets you drag those things on a map instead of trying to spell them out.

It's a top-view stage, not a node you type into. You drop subjects on it, pull the room walls out to the right size, move the camera around, and the node writes the actual paragraph Krea 2 obeys - where the camera sits, its tilt, what it sees, the lens - plus scene blocking for however many subjects you placed. What comes out isn't "wide shot," it's the physical language: focal length, camera height, how far back it is, the angle of view. That's the whole trick of the pack's camera section: the model answers to geometry it can compute, not adjectives it has to guess at.

How it works

Everything on the stage lives in one JSON blob, the config input - which you'll almost never hand-edit, because the node draws its own panel and edits it for you. The camera_translate.py file behind it does the real work: it takes your camera position, subject positions, and lens in millimeters, runs them through actual geometry - field of view from focal length, height, distance, angle to the subject - and phrases the result in the language Krea 2 was trained on.

The lights sit on the same stage, and their sliders do real physics too. Illuminance falls off with the square of the distance, and how hard a shadow reads is the light's angular size from the subject, so a big soft source close in and a small hard one across the room come out as different words. Exposure runs in stops either side of zero, colour in mireds either side of neutral daylight. Fifteen built-in setups ship with the pack, and a "set" carries the whole stage at once - camera, subjects, room size, path, lights - so you tweak a loaded room rather than building one from nothing.

The inputs and outputs that matter

Two optional inputs, and honestly that's the selling point. prompt_in is your own prompt; the camera paragraph gets joined onto it, leading it - the author's research says position matters, so the camera words go first. image just passes through untouched, so the node can sit in a review chain without breaking it.

The outputs are where it gets interesting:

  • prompt - the finished camera paragraph, wire it into your text encoder.
  • camera_json - the geometry state, as a string. This is the socket the rest of the pack's camera nodes read from.
  • latent, width, height - an empty 16-channel Krea 2 latent at the shape the geometry suggests, so the frame matches what the camera sees. Width and height come out even if you don't allocate the latent.

Set a camera path - an orbit from -60 to +60, say - and every output turns into a list: one prompt, one latent, one size per shot. ComfyUI runs the downstream nodes once per item, so a whole multi-angle orbit is a single queue.

Install

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

Restart ComfyUI. Or search RedNode Studio in ComfyUI Manager. Zero pip dependencies beyond what ComfyUI already has - it's all UI and text. The node itself loads on any ComfyUI, but its intended target is Krea 2, which needs ComfyUI 0.26.0+ plus the qwen3vl_4b text encoder (CLIPLoader, type krea2) and qwen_image_vae.

Where people get tripped up

The prompt output is a list even when there's no path - that's normal, it's just a one-element list. And remember the framing advice in the pack's own docs: word order sets the shot, so let the camera paragraph lead and your subject follow. One trap worth knowing: a wide framing with a subject standing nowhere can vanish from the picture entirely - the panel warns you about this, and it means you skipped placement, not that the node broke.

Final honest note: this node generates words, not images. It won't override a bad prompt - it writes better words, and Krea 2 does the rest. Used that way, it turns "shot from above" into something the model can't miss.

CategoryRedNode/Prompt

Inputs (5)

NameTypeDefaultDescription
configSTRING{}
prompt_inoptSTRINGYour prompt; the camera paragraph is joined onto it (leading it, per the research on positional bias, unless the panel says otherwise).
imageoptIMAGEPassed through untouched, so the node can sit in a review chain.
modeloptMODELOptional. Comes out of the model output with the stage's camera and light slider LoRAs applied at the strengths the panel shows (off, auto or manual per slider). Nothing on: passes through untouched.
clipoptCLIPOptional, with the model: the same LoRAs land on the clip too, as a LoRA loader would.

Outputs (8)

NameTypeDescription
promptSTRING
camera_jsonSTRING
imageIMAGE
latentLATENT
widthINT
heightINT
modelMODEL
clipCLIP