> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sdvm.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Text

> TextSample: one piece of free text, its shape on the wire, and extra columns.

`TextSample` holds one piece of free text — a pre-training document, a chat utterance, a transcription, a scraped paragraph. It has one field.

## Shape

```python theme={"theme":{"light":"material-theme-lighter","dark":"material-theme-darker"}}
from sdvm.types import TextSample

sample = TextSample(text="she sels sea shells by the sea shor")
```

On the wire it is a two-key object:

```json theme={"theme":{"light":"material-theme-lighter","dark":"material-theme-darker"}}
{ "task_type": "text", "text": "she sels sea shells by the sea shor" }
```

A sample that arrives at `/fix` with no `task_type` is treated as free text, so an object carrying only its own fields is still fixed. `/audit` is stricter: it routes on `task_type` and rejects a sample without a known one, rather than guessing which type it is.

## Extra columns

The SDK type has only `text`. Over the HTTP API any other key on the object rides along untouched, exactly as on the other sample types.

## What the models return

<CardGroup cols={3}>
  <Card title="sdvm-audit-1" icon="magnifying-glass" href="/models/audit">
    What it returns for this sample.
  </Card>

  <Card title="sdvm-fix-1" icon="wrench" href="/models/fix">
    What it changes, and what it never does.
  </Card>

  <Card title="Refine" icon="arrows-rotate" href="/models/refine">
    Audit, fix and re-audit in one call.
  </Card>
</CardGroup>
