> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://onepin.ai/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://onepin.ai/docs/_mcp/server.

# Naturalness validator

> The Onepin Naturalness validator (validator_naturalness) — scores generated speech for naturalness on a 0–100 scale and retries lines below the threshold.

**Family: Validator · `type: validator_naturalness`**

The Naturalness validator answers: **does it sound human?** It scores the delivery of each generated line on a 0–100 scale, where higher is more natural. Lines below the bar are retried; lines at or above it pass.

New to validators? Start with [how validators work](/docs/workflow/validators) — the pass/fail routing and retry behavior here are shared by every validator.

## Config

| Config key    | Default | Range                                           |
| ------------- | ------- | ----------------------------------------------- |
| `threshold`   | `70`    | 0–100 (naturalness score required to pass)      |
| `max_retries` | `3`     | 1–50 (regeneration attempts for a failing line) |

```python
node["config"] = {"threshold": 70.0, "max_retries": 3}
```

## Inspect this node

#### Python

```python
client.nodes.get_node_detail(node_type="validator_naturalness").data
```

#### CLI

```bash
onepin nodes show validator_naturalness
```

#### API

```bash
curl https://api.onepin.ai/api/v2/nodes/validator_naturalness \
  -H "Authorization: Bearer $ONEPIN_API_KEY"
```

## Related

* [Validators](/docs/workflow/validators) — pass/fail and retry, shared behavior
* [Pronunciation validator](/docs/workflow/pronunciation-validator) — was each word pronounced correctly?
* [Accuracy validator](/docs/workflow/accuracy-validator) — did the audio say the words?
* [Noise validator](/docs/workflow/noise-validator) — is it clean?