Nodes/radiance/◎ Radiance Cinematic Encoder
ComfyUI Node

◎ Radiance Cinematic Encoder

A prompt builder that knows whether you're on Flux or SDXL

By fxtdstudios·Created 7 months ago·Updated 9 days ago· 242
◎ Radiance Cinematic Encoder
  • clip
  • image_ref
  • positive
  • negative
  • image_ref
  • positive_text
  • negative_text
  • token_count
base_promptA cinematic scene...
base_prompt_b
active_promptA
style_preset→ Classic Hollywood
target_archAuto
context_windowStandard (CLIP 77)
framingMedium Shot (MS)
camera_typeARRI Alexa 35
lens_focal50mm Standard Prime
aperture_doff/2.8 (Cinematic Separation)
lightingCinematic Haze / Volumetric Fog
style_aestheticPhotorealistic (Raw)
film_stockNone
shutter_speedNone
color_gradingNone
aspect_ratioNone
scene_moodNone
art_direction
subject_weight1.00
prompt_weight_modebalanced
custom_details
year_era2025
negative_strengthStandard
negative_custom
clip_skip0
lora_keywords
use_breakOff
prompt_enhancerOff

Most "prompt enhancer" nodes are word soup generators that don't know what encoder they're talking to. Radiance Cinematic Encoder is the opposite: its whole trick is that it auto-detects your architecture and picks the prompt format accordingly - flowing prose for Flux/T5/Kolors, structured tag blocks for SD1.5/SDXL. It's also a real CLIP encoder, not just a string factory: a clip goes in and ready-to-sample CONDITIONING comes out.

That matters more in 2026 than it sounds. The rules changed when models moved to LLM text encoders: (word:1.3) attention weights are silently discarded on Flux, BREAK is meaningless without a 77-token chunk boundary, and a forty-keyword negative is never computed at CFG 1. A node that still writes those conventions is a trap for people who swapped architectures. This one is written around the difference.

How it works

You feed it a CLIP model and a base_prompt (your subject - it's called Prompt A because there's a base_prompt_b for A/B testing, switched with active_prompt so you can flip between two subjects without rewiring). Then you stack up to twenty or so optional dropdowns - framing, camera body, lens, aperture, lighting, film stock, color grading, aspect ratio, scene mood - and it assembles the whole thing into a final prompt, encodes it, and hands you positive and negative conditioning.

The inputs a beginner actually touches, ranked:

  • target_arch (default Auto) - the auto-detection is genuinely good, but if you know the pack guessed wrong, this is the override. Prose for flux/sd3/wan/kolors/ltx; structured for sdxl/sd1.5.
  • context_window - token budget. Standard (CLIP 77) for SDXL; flip to Medium or Large for Flux's T5 if you're writing long prompts.
  • negative_strength - Off/Soft/Standard/Aggressive. The tooltip's advice is worth taking: Soft is recommended for Flux. A big structured negative is inert on a distilled model and can actively hurt at higher CFG.
  • subject_weight - wraps your subject in (subject:weight) attention syntax. Works on SD1.5/SDXL; on Flux/T5 it becomes literal text the encoder may or may not care about. Worth knowing before you crank it.
  • style_preset - 29 one-click looks (Classic Hollywood, Film Noir, Cyberpunk...). Good starting points.
  • lora_keywords - trigger words injected into the prompt, so your LoRA stacks stay in sync with the text.

You also get clip_skip (0 = all layers; typical SD1.5=1, SDXL=0) and a prompt_enhancer that either fixes grammar or injects aesthetic tags - nice, not essential.

Outputs

Six of them, and the useful ones are: positive and negative CONDITIONING for your sampler; positive_text and negative_text strings (wire to a text preview to see exactly what got built - worth doing once, because the assembly is a black box otherwise); and token_count, the actual count from the CLIP tokenizer, which is how you catch a prompt silently overflowing its context window. There's also an image_ref pass-through if you want a reference image routed alongside the conditioning.

Install

Part of the fxtdstudios/radiance pack - Manager search "Radiance", or:

cd ComfyUI/custom_nodes
git clone https://github.com/fxtdstudios/radiance.git
cd radiance
pip install -r requirements_linux.txt

then restart. Heavy install (OpenEXR, OpenColorIO, colour-science, transformers), slow first boot, and if Manager's security level blocks it you clone manually per the README. If dependency conflicts appear with other packs, reinstall Radiance's requirements last.

One last honest note: the community reception to the pack was split - the launch thread upvoted it but several commenters flagged the "32-bit pipeline" claims as overstated in places, and the docs were called thin. The prompt nodes are the part that behaves as advertised.

CategoryFXTD Studios/Radiance/Generate

Inputs (30)

NameTypeDefaultDescription
clipCLIPCLIP model for encoding.
base_promptoptSTRINGA cinematic scene...Primary subject/scene description (Prompt A).
base_prompt_boptSTRINGAlternate subject for A/B testing. Select with active_prompt.
active_promptoptCOMBOASwitch between Prompt A and Prompt B without rewiring.
style_presetoptCOMBO→ Classic HollywoodOne-click style preset.
target_archoptCOMBOAutoAuto selects prose for Flux/T5 architectures. Set manually if auto-detect is wrong. Prose = Flux/SD3/SD3.5/Kolors/Wan. Structured = SD1.5/SDXL.
context_windowoptCOMBOStandard (CLIP 77)Token budget. Use Large for Flux with long prompts.
framingoptCOMBOMedium Shot (MS)Shot framing type.
camera_typeoptCOMBOARRI Alexa 35Camera body.
lens_focaloptCOMBO50mm Standard PrimeLens + focal length.
aperture_dofoptCOMBOf/2.8 (Cinematic Separation)Depth of field.
lightingoptCOMBOCinematic Haze / Volumetric FogLighting style.
style_aestheticoptCOMBOPhotorealistic (Raw)Visual aesthetic.
film_stockoptCOMBONoneFilm stock emulation.
shutter_speedoptCOMBONoneMotion blur characteristics.
color_gradingoptCOMBONoneColor grading look.
aspect_ratiooptCOMBONoneFrame aspect ratio.
scene_moodoptCOMBONoneInjects curated emotional vocabulary into the prompt. Works with both CLIP and T5 encoders.
art_directionoptSTRINGArt direction notes injected right after subject. E.g. 'golden light raking across the face, hero in silhouette'
subject_weightoptFLOAT1.000.5–1.5Wrap subject in (subject:weight) attention syntax.
prompt_weight_modeoptCOMBObalancedControls token budget ordering. 'subject_first' leads with subject emphasis. 'technique_first' leads with camera for style-driven shots.
custom_detailsoptSTRINGAdditional custom details appended at the end.
year_eraoptINT20251800–2100Era context for period-specific looks.
negative_strengthoptCOMBOStandardAuto-negative strength. 'Soft' is recommended for Flux.
negative_customoptSTRINGYour custom negative terms, merged with auto-generated negatives.
clip_skipoptINT00–24CLIP layers to skip (0 = all). Typical SD1.5=1, SDXL=0.
lora_keywordsoptSTRINGLoRA trigger words injected into the prompt.
use_breakoptCOMBOOffAuto-insert BREAK tokens at chunk boundaries for long prompts.
prompt_enhanceroptCOMBOOffAuto-fix prompt grammar or inject high-quality aesthetic tags.
image_refoptIMAGEOptional reference image. Passed through to output for routing convenience.

Outputs (6)

NameTypeDescription
positiveCONDITIONINGPositive conditioning for the sampler.
negativeCONDITIONINGNegative conditioning for the sampler.
image_refIMAGEOptional reference image passed through.
positive_textSTRINGFinal positive prompt string — wire to a text preview node.
negative_textSTRINGFinal negative prompt string.
token_countINTActual token count from the CLIP tokenizer.