---
title: "FormLabelingSettings"
canonical_url: "https://www.nutrient.io/api/python/settings/form-labeling-settings/"
md_url: "https://www.nutrient.io/api/python/settings/form-labeling-settings.md"
last_updated: "2026-06-09T08:52:16.582Z"
description: "Settings for FormLabeling. Values fall back through three levels: document → SDK → built-in default."
---

Settings for FormLabeling. 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:** `Advanced`, `Vision`

```python

from nutrient_sdk import FormLabelingSettings

```

## Construction

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

```python

# Per-document override

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

# SDK-wide default (applies to all documents)

SdkSettings.form_labeling_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.form_labeling_settings = other_settings` is rejected.

## Properties

### candidate_labels

```python

@property
def candidate_labels(self) -> str

@candidate_labels.setter
def candidate_labels(self, value: str) -> None

```

Optional vocabulary of candidate labels the model should prefer when labeling. Provide labels as a newline- or comma-separated list (for example, "First name, Last name, Date of birth"). The model matches a field to one of these when it fits, and proposes a new label otherwise; each field's FormFieldNode.LabelSource records whether the label was "matched" or "invented". Matched labels are normalized to the casing given here. Empty (default) means fully free-form labeling.

**Type:** `str`

**Default:** `string.Empty`

---

### enable_ai_labeling

```python

@property
def enable_ai_labeling(self) -> bool

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

```

Opt in to AI semantic labeling of detected form fields. When false (default), form detection runs offline and no vision model is contacted; when true, the labeler draws numbered marks on the page and queries the provider configured via.

**Type:** `bool`

**Default:** `false`

---

### enable_ai_remove_false_positives

```python

@property
def enable_ai_remove_false_positives(self) -> bool

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

```

When true, form fields the AI flags as false positives are removed from the document graph so they never reach the exported output. When false (default), flagged fields are kept and annotated (non-destructive). Only takes effect when is true.

**Type:** `bool`

**Default:** `false`

---

---

## Related pages

- [Per-document override](/api/python/settings/ai-augmenter-settings.md)
- [Per-document override](/api/python/settings/cad-settings.md)
- [Per-document override](/api/python/settings/ai-processing-settings.md)
- [Per-document override](/api/python/settings/document-layout-json-export-settings.md)
- [Per-document override](/api/python/settings/claude-api-settings.md)
- [Per-document override](/api/python/settings/content-extraction-settings.md)
- [Per-document override](/api/python/settings/conversion-settings.md)
- [Per-document override](/api/python/settings/deskew-settings.md)
- [Per-document override](/api/python/settings/custom-vlm-api-settings.md)
- [Per-document override](/api/python/settings/finalizer-settings.md)
- [Per-document override](/api/python/settings/email-settings.md)
- [Document Settings](/api/python/settings/document-settings.md)
- [Per-document override](/api/python/settings/form-recognition-settings.md)
- [Per-document override](/api/python/settings/html-settings.md)
- [Per-document override](/api/python/settings/handwriting-settings.md)
- [Per-document override](/api/python/settings/image-settings.md)
- [Per-document override](/api/python/settings/jbig2-settings.md)
- [Per-document override](/api/python/settings/inference-layout-settings.md)
- [All public classes import directly from the top-level package:](/api/python/settings.md)
- [Per-document override](/api/python/settings/instant-json-settings.md)
- [Per-document override](/api/python/settings/jpeg-settings.md)
- [Per-document override](/api/python/settings/markdown-settings.md)
- [Per-document override](/api/python/settings/open-ai-api-endpoint-settings.md)
- [Per-document override](/api/python/settings/ocr-settings.md)
- [Per-document override](/api/python/settings/open-ai-languages-detection-settings.md)
- [Per-document override](/api/python/settings/pdf-settings.md)
- [Per-document override](/api/python/settings/open-ai-picture-alt-settings.md)
- [Per-document override](/api/python/settings/pdf-page-settings.md)
- [Per-document override](/api/python/settings/reading-order-settings.md)
- [Per-document override](/api/python/settings/open-settings.md)
- [Per-document override](/api/python/settings/segmenter-settings.md)
- [Sdk Settings](/api/python/settings/sdk-settings.md)
- [Per-document override](/api/python/settings/word-settings.md)
- [Per-document override](/api/python/settings/spreadsheet-settings.md)
- [Per-document override](/api/python/settings/tiff-settings.md)
- [Per-document override](/api/python/settings/vision-descriptor-settings.md)
- [Per-document override](/api/python/settings/table-recognition-settings.md)
- [Per-document override](/api/python/settings/words-detection-settings.md)
- [Per-document override](/api/python/settings/vision-settings.md)

