> For the complete documentation index, see [llms.txt](https://docs.viesus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.viesus.com/features/scene-based-enhancement.md).

# Scene-Based Enhancement

vScene detects the type of scene in each image and automatically applies parameter settings optimised for that scene — either VIESUS defaults or your own custom configuration per scene. Enhancement can be pushed further for scenes where stronger processing works well (greenery, blue sky), while staying conservative where it doesn't (skin tones, night shots).

When [AI upscaling](/features/features/ai-super-resolution.md) is active, `VSceneMode=1` also enables scene-based 4× SR: landscape scenes without people are processed with the 4xAR model for sharper reconstruction.

{% hint style="info" %}
The easiest way to explore and fine-tune per-scene parameters is the [VIESUS Viewer](/tools/viesus-viewer.md). Load an image, see the detected scene type, and adjust parameters interactively per scene.
{% endhint %}

## Example

The same source image at four enhancement levels: the unprocessed original, VIESUS default enhancement (vScene off), and vScene at half and full strength.

{% columns %}
{% column %}
**Original**

<figure><img src="/files/E4JjOos7P7724jjCYkyn" alt="Original — Scene-Based Enhancement"><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}
**VIESUS default**

<figure><img src="/files/E4JjOos7P7724jjCYkyn" alt="VIESUS default — Scene-Based Enhancement"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
**vScene · vscenestrength 0.5**

<figure><img src="/files/E4JjOos7P7724jjCYkyn" alt="vScene strength 0.5 — Scene-Based Enhancement"><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}
**vScene · vscenestrength 1.0**

<figure><img src="/files/E4JjOos7P7724jjCYkyn" alt="vScene strength 1.0 — Scene-Based Enhancement"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

## Detected scene types

vScene evaluates scene type in priority order. An image is assigned the first matching type according to its priority:

| Priority | Scene Type     | Description                                                                           |
| -------- | -------------- | ------------------------------------------------------------------------------------- |
| 1        | **People**     | Images with visible faces — always takes priority, regardless of environment or color |
| 2        | **BlackWhite** | Monochrome images without visible faces                                               |
| 3        | **NightShot**  | Dark or night scenes, no faces detected                                               |
| 4        | Architecture   | Buildings and urban environments                                                      |
| 4        | Beach          | Beach and coastal scenes                                                              |
| 4        | BlueSky        | Clear blue sky                                                                        |
| 4        | CloudySky      | Overcast or cloudy sky                                                                |
| 4        | Food           | Food and beverage photography                                                         |
| 4        | Greenery       | Nature, plants, forests                                                               |
| 4        | Landscape      | General outdoor landscapes                                                            |
| 4        | Snow           | Snow-covered scenes                                                                   |
| 4        | SunsetSunrise  | Golden hour and twilight                                                              |
| 4        | Underwater     | Underwater photography                                                                |
| —        | Other          | Default when no other type matches                                                    |

## Parameters

<table><thead><tr><th width="200">Parameter</th><th width="100">Section</th><th width="95">Range</th><th width="95">Default</th><th>Description</th></tr></thead><tbody><tr><td><code>VSceneMode</code></td><td><code>Config</code></td><td>0, 1</td><td>0</td><td>Mode selection (see below)</td></tr><tr><td><code>vscenestrength</code></td><td><code>Gpars</code></td><td>0.0 – 1.0</td><td>1.0</td><td>Blends vScene-specific parameters with defaults. <strong>0.0</strong> = full default behavior; <strong>1.0</strong> = full vScene parameters applied</td></tr></tbody></table>

## Modes

| Mode            | Description                                                                               |
| --------------- | ----------------------------------------------------------------------------------------- |
| **0** — Off     | No scene-based adaptation; default parameters used for every image                        |
| **1** — Enabled | Scene type detected; per-scene parameters applied (and scene-based 4× SR when applicable) |

{% hint style="success" %}
**Recommended:** Set `VSceneMode=1`. Leave `vscenestrength` at 1.0 unless you want a softer effect.
{% endhint %}

## Custom per-scene parameters

Beyond the built-in defaults, you can define your own parameter overrides per scene type directly in `viesusini.json`. Add a section named with a **`vScene_` prefix** followed by the scene type — for example `vScene_Landscape` or `vScene_People`. Only the parameters you list are overridden for that scene; everything else falls back to the top-level defaults.

The `vScene_` prefix keeps scene names from clashing with the standard configuration sections — without it, the `Other` scene type would collide with the top-level `Other` section.

{% hint style="info" %}
**The easiest way to dial in per-scene settings is the VIESUS Viewer.** Enable vScene and pick a specific scene from the scene selector. The parameter sliders switch to that scene's values, and any image you enhance while a scene is selected has those values applied — regardless of the scene the image would actually be detected as. This lets you isolate, preview, and refine one scene's look at a time, then save the result to `viesusini.json`.
{% endhint %}

```json
{
  "Config": { "VSceneMode": 1 },

  "vScene_Landscape": {
    "Gpars": { "shpglobalstrength": 0.3 },
    "Lpars.sky": { "saturation": 0.1, "brightness": -0.25 },
    "Lpars.veg": { "saturation": 0.1, "brightness": 0.25 }
  },

  "vScene_People": {
    "Gpars": { "shplocalstrength": 0.3 },
    "Lpars.skin": { "saturation": -0.05, "brightness": 0.25 }
  }
}
```

### Parameters you can set per scene

Scene presets override only the **global (`Gpars`)** and **local (`Lpars`)** parameters listed below. Mode switches (`Config`), resizing, background handling, and output settings are global — they cannot be set per scene.

**`Gpars` — global parameters**

* Manual corrections: `brightness`, `contrast`, `saturation`, `r`, `g`, `b`
* Strengths: `shpglobalstrength`, `shplocalstrength`, `nrstrength`, `nrmonostrength`, `gastrength`, `rerstrength`, `fdstrength`, `eyestrength`, `frstrength`, `blurstrength`, `dastrength`

**`Lpars` — local parameters**

* Whole image: `shadowfac`, `highlightfac`, `colorfac`, `skinToneAdjFac`, `addflashfac`
* Per color zone (`Lpars.skin`, `Lpars.sky`, `Lpars.veg`): `huerotation`, `saturation`, `brightness`, `contrast`, `strength`

See [Global Parameters](/configuration/parameter-reference/global-parameters.md) and [Local Parameters](/configuration/parameter-reference/local-parameters.md) in the Parameter Reference for what each parameter does and its range.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.viesus.com/features/scene-based-enhancement.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
