---
title: "Normalize"
method: POST
path: "/v1/normalize"
---

# Normalize

`POST /v1/normalize`

Run text through the TN pipeline (admin testing surface).

The admin web app uses this to test post-override rules: normalize,
diff, add a rule, ``/v1/post-overrides/reload``, normalize again.
The LM path is used when wired; on LM failure the heuristic path
answers instead so the testing surface stays available (matching
v1). Post-overrides apply on both paths via the runtime's wrapped
normalizers.

## Request body

- NormalizeRequest — Admin TN test request (``POST /v1/normalize``).
  - `text` string, required
  - `language` string, nullable

## Response `200`

Successful Response

- NormalizeResponse — Admin TN test response.
  - `text` string, required
  - `language` string, required
  - `time_ms` number, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/kugelaudio/apis/kugelaudio-tts-api.md) · [All operations](https://skmtc.net/kugelaudio/apis/kugelaudio-tts-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kugelaudio/kugelaudio-tts-api/revisions/9ecca94b0377/schema)
