Nodes/FiL_Design_ImageMind/🎬 Cinema Rig
ComfyUI Node

🎬 Cinema Rig

Stop typing '35mm, shallow depth of field' by hand into every prompt

By FiL-Design-Ai·Created 2 months ago·Updated 8 days ago· 8
🎬 Cinema Rig
  • config
  • rigged_prompt
  • rig_overlay
scene_prompt
modeOriginal Shot
setup_modeDirector Preset
cameraRED V-RAPTOR XL
lensHelios 44-2 (Vintage)
focal_length50mm (Human Eye)
aperturef/11 (Deep Focus)
camera_angleAuto / Neutral
shot_framingAuto / Neutral
camera_movementStatic (Tripod Locked)
lighting_setupAuto / Natural
optics_filterNone / Pure Optic
director_presetCustom Rig
color_gradingTeal & Orange (Blockbuster)
enable_gradingtrue
polish_modeDeterministic (Fast)

If you've ever written cinematic lighting, 35mm lens, shallow depth of field into a prompt by hand, you already know the problem this node exists to solve: camera language is fiddly, easy to get wrong, and miserable to keep consistent across a batch. FiL Cinema Rig is a camera-department shot builder. You tell it what's happening in the frame, pick a body, a lens, a focal length, an aperture and a color grade, and it hands back a properly assembled, medium-aware shot prompt. Five axes, one coherent sentence.

It's from the FiL Design ImageMind pack, and it's the sibling of Optic Scanner - where that node analyzes an image, Cinema Rig is pure camera craft layered onto whatever scene you already have.

How it works

The core is deterministic string assembly - no AI, no API call, nothing to go wrong. It takes your scene_prompt (what's happening in the frame) and wraps it, untouched, in the camera treatment. The real skill is in the details: film bodies wrap the shot in analog stock language, digital bodies in sensor language; anamorphic lenses get their optical character; a focal_length of 24mm reads as environmental pressure while 135mm reads as telephoto compression. enable_grading off keeps the rig to hardware and medium only, dropping the grade.

Two inputs are worth calling out specifically:

  • mode - Original Shot builds a new frame around your scene. Reshoot is the trickier one: per the tooltip it locks subject identity, pose, props and background and changes only the camera treatment. Note the node takes no image input - the "reference image carries the scene" in Reshoot means the reference lives elsewhere in your workflow; the rig just changes the camera words around it.
  • polish_mode - Deterministic (Fast) is the pure string assembly above. LLM Polish sends the assembled rig through a provider model to rewrite it into fluent prose. It needs a config from the pack's Provider Loader, and - this is the nice safety detail - if the LLM call fails, it silently falls back to the deterministic rig. You never get an empty prompt out of a dead API.

The two outputs are rigged_prompt (the full assembled sentence, ready for your CLIP Text Encode) and rig_overlay (the camera treatment alone - handy if you want to stack it under a prompt from elsewhere in the graph, say an Optic Scanner output).

When to reach for it

The pitch is consistency. Generate ten frames of the same scene and the difference between them shouldn't be "I typed the lens differently." Wire one Cinema Rig, keep the scene prompt as the only thing you change per frame, and the camera language stays locked. That's the same reason people lean on LLM prompt-assistants in the graph at all - a fixed vocabulary beats free-typing when you want reproducible output.

The realistic take: for a single throwaway image it's overkill - just type the words. It earns its place in anything batch-shaped, in workflows where you iterate on camera treatment as a variable, or when you want the "how it was shot" language to stay honest and specific instead of vague cinematic filler.

Installing it

Ships in FiL Design ImageMind (MIT, 17 nodes). ComfyUI Manager: search FiL_Design_ImageMind. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/FiL-Design-Ai/FiL_LLM FiL_Design_ImageMind
pip install -r FiL_Design_ImageMind/requirements.txt

Restart, and it appears under 🎨 FiL Design/Styling. The pack needs ComfyUI 0.3.60+ (V3 node API) and Python 3.10+; dependencies are light, and the deterministic mode needs nothing else. LLM Polish does need a provider - the pack's Ollama or LM Studio local options work with no key and no account.

Gotchas

Biggest one: the LLM Polish output is only as good as the model behind it, and the pack's own guidance is to treat deterministic as the fast iteration loop. Don't wire the polish in until the rig itself reads right. And remember rigged_prompt is a single string meant for a text encoder - don't expect the metadata-grade structure you'd get from a full analysis node; that's Optic Scanner's job.

Category🎨 FiL Design/🎨 Styling

Inputs (17)

NameTypeDefaultDescription
scene_promptSTRINGWhat is happening in the frame. The rig wraps this scene without touching it. In Reshoot mode the scene is ignored — the reference image carries it.
modeCOMBOOriginal ShotOriginal Shot builds a new frame around the scene. Reshoot locks subject identity, pose, props and background of a reference image and only changes the camera treatment.
setup_modeCOMBODirector PresetDirector Preset mode uses signature director visual styles and neutralizes manual hardware controls. Custom Hardware mode enables full manual control of all camera, lens, focal, aperture, and optics controls.
cameraCOMBORED V-RAPTOR XLCamera body. Film bodies wrap the prompt in analog stock language, digital in sensor language.
lensCOMBOHelios 44-2 (Vintage)Lens glass: spherical or anamorphic optical character.
focal_lengthCOMBO50mm (Human Eye)Focal length: from ultra-wide environmental pressure to telephoto compression.
apertureCOMBOf/11 (Deep Focus)Aperture stop: how much of the frame holds focus.
camera_angleCOMBOAuto / NeutralCamera angle and elevation relative to the subject.
shot_framingCOMBOAuto / NeutralShot distance and framing scale.
camera_movementCOMBOStatic (Tripod Locked)Camera movement and rig dynamics.
lighting_setupCOMBOAuto / NaturalLighting architecture and atmospheric condition.
optics_filterCOMBONone / Pure OpticLens filter, flares, or film grain texture.
director_presetCOMBOCustom RigSignature director / cinematographer visual style.
color_gradingCOMBOTeal & Orange (Blockbuster)Color grade / finish applied over the frame. Disable with the Grade toggle.
enable_gradingBOOLEANtrueApply the selected color grade. Off keeps the rig to hardware and medium only.
polish_modeCOMBODeterministic (Fast)Deterministic is pure string assembly — no API call. LLM Polish rewrites the assembled rig into fluent prose through the provider model.
configoptFIL_PROVIDER_CONFIGProvider config from Provider Loader. Only needed for LLM Polish.

Outputs (2)

NameTypeDescription
rigged_promptSTRING
rig_overlaySTRING