---
title: "VisionSettings"
canonical_url: "https://www.nutrient.io/api/python/settings/vision/vision-settings/"
md_url: "https://www.nutrient.io/api/python/settings/vision/vision-settings.md"
last_updated: "2026-08-11T08:57:05.212Z"
description: "Settings for Vision. Values fall back through three levels: document → SDK → built-in default."
---

Settings for Vision. Values fall back through three levels: document → SDK → built-in default. Writes target the document only when set on a document's settings, otherwise the SDK globally when set on SdkSettings.

**Tags:** `Vision`

```python

from nutrient_sdk import VisionSettings

```

## Construction

`VisionSettings` is accessed through a [`Document`](/api/python/document/) instance for per-document overrides, or via [`SdkSettings`](/api/python/settings/document/sdk-settings/) for SDK-wide defaults.

```python

# Per-document override

with Document.open("input.pdf") as doc:
    settings = doc.settings.vision_settings
    settings.some_field = new_value          # mutate fields directly

# SDK-wide default (applies to all documents)

SdkSettings.vision_settings.some_field = new_value

```

Settings are configured by writing to fields on the returned object. The settings property itself cannot be reassigned — `doc.settings.vision_settings = other_settings` is rejected.

## Properties

### enable_ocr

```python

@property
def enable_ocr(self) -> OcrActivationMode

@enable_ocr.setter
def enable_ocr(self, value: OcrActivationMode) -> None

```

Controls OCR resource loading and OCR-based word detection inside the ICR image pipeline.

**Type:** [`OcrActivationMode`](/api/python/enums/ocr-activation-mode/)

**Default:** `OcrActivationMode.Auto`

---

### enable_vlm

```python

@property
def enable_vlm(self) -> bool

@enable_vlm.setter
def enable_vlm(self, value: bool) -> None

```

Indicates whether the ICR image pipeline should run late VLM augmentation. `VlmEnhancedIcr` also enables this behavior for backward-compatible engine selection.

**Type:** `bool`

**Default:** `false`

---

### engine

```python

@property
def engine(self) -> VisionEngine

@engine.setter
def engine(self, value: VisionEngine) -> None

```

Specifies which vision processing engine/pipeline to use for content extraction.

**Type:** [`VisionEngine`](/api/python/enums/vision-engine/)

**Default:** `VisionEngine.Icr`

---

### fallback_provider

```python

@property
def fallback_provider(self) -> VlmProvider

@fallback_provider.setter
def fallback_provider(self, value: VlmProvider) -> None

```

Optional secondary provider used to transparently retry a request when the primary `Provider` fails in a way a retry on the same model can't fix — a content-filtered or refused response, or a transient outage (unreachable endpoint, server error, rate limit). The fallback's connection (endpoint, key, model) is read from that provider's settings class, so configure it alongside the primary's. Failover is per request and transparent to the result.

**Type:** [`VlmProvider`](/api/python/enums/vlm-provider/)

**Default:** `VlmProvider.Unknown`

---

### features

```python

@property
def features(self) -> VisionFeatures

@features.setter
def features(self, value: VisionFeatures) -> None

```

Vision features to enable during document processing.

**Type:** [`VisionFeatures`](/api/python/enums/vision-features/)

**Default:** `VisionFeatures.All`

---

### output_format

```python

@property
def output_format(self) -> VisionOutputFormat

@output_format.setter
def output_format(self, value: VisionOutputFormat) -> None

```

Format of content returned by `ExtractContent`. Defaults to `Json`.

**Type:** [`VisionOutputFormat`](/api/python/enums/vision-output-format/)

**Default:** `VisionOutputFormat.Json`

---

### provider

```python

@property
def provider(self) -> VlmProvider

@provider.setter
def provider(self, value: VlmProvider) -> None

```

The primary Vision Language Model provider to use for AI-powered features.

**Type:** [`VlmProvider`](/api/python/enums/vlm-provider/)

**Default:** `VlmProvider.Custom`

---

---

## Related pages

- [Vision](/api/python/settings/vision.md)
- [Per-document override](/api/python/settings/vision/document-classification-settings.md)
- [Per-document override](/api/python/settings/vision/schema-generation-settings.md)

