Superside Scene Realism Dial
One Dial That Turns 'Photorealistic' From a Guess Into a Knob
- prompt_fragment
- lora_scale
- strength
If you've ever tuned a Z-Image inpaint pass by hand, you know the pain: the prompt needs realism language, the strength needs to move, and the two fight each other. Superside Scene Realism Dial collapses that whole balancing act into one dropdown with five settings. Pick "4 - strong", and it hands you three matched values - a prompt fragment, a LoRA scale, and a strength - that were tuned together to produce that level of photorealism, not assembled by guesswork.
How it works
It's a lookup table with a UI, and that's a feature, not a cop-out. The pack ships a set of prompt fragments, one per level, that escalate in a specific way: 1 keeps things "subtle photographic realism, clean natural materials," while 5 goes full "extreme photorealistic detail, macro surface texture, hyper-real lighting." Alongside each fragment the node returns a lora_scale and a strength that are meant to be used together with that fragment - the author already did the iteration so the numbers stay coherent as you move the dial. No model, no API, no api_key. It runs instantly and costs nothing.
The mechanism matters because it's the generic counterpart to the pack's Skin Intensity Dial: this one drives realism for an arbitrary scene region - a sofa, a wall, a product, a dimmer plate - while the skin one is locked to skin-texture language. Same contract, different vocabulary.
The inputs and outputs that matter
level- five presets:1 - very subtlethrough5 - extreme, default3 - medium. This is the only input.
Outputs, and where each goes:
prompt_fragment(STRING) - wire intoSuperside Combine Prompt'spart2, so it merges with your base prompt.strength(FLOAT) - wire intoSuperside Z-Image Turbo Inpaint+LoRA. This is the knob that decides how hard the masked region gets regenerated.lora_scale(FLOAT) - only matters if you've also wired a generic detail LoRA into the inpaint node. For a plain realism pass with no LoRA, it's ignored, which the node's description says out loud so you don't chase it.
Installing it
It ships in the comfyui-superside-nodes pack - install once, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/Superside/comfyui-superside-nodes.git
cd comfyui-superside-nodes
pip install -r requirements.txt
It's under the Superside category. Local only.
The honest take
A five-level dial is not going to blow your mind, but that's the point: the alternative is hand-editing three separate fields and never quite getting them to agree. The real-world trap is reaching for level 5 by default. "Extreme" doesn't mean "best" - at the top end the strength is cranked (0.6) and the language is maximalist, which on an already-clean region reads as over-processed, plasticky detail. Start at the default medium, go up only if the region genuinely looks soft, and treat the dial as a starting point you're allowed to override if you want finer control. For a scene-enhancement pass where you've already masked off what to protect, this makes "how real should it be?" a five-second decision instead of a tuning session.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| level | COMBO | 3 - medium (default) | 5 options: 1 - very subtle, 2 - subtle, 3 - medium (default), 4 - strong, 5 - extreme |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| prompt_fragment | STRING | — |
| lora_scale | FLOAT | — |
| strength | FLOAT | — |