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

# Models

> List available TTS models

## List Models

Get the canonical TTS models available for generation.

<ParamField path="GET" method="/v1/models" />

### Response

```json theme={null}
{
  "models": [
    {
      "id": "kugel-3",
      "model_id": "kugel-3",
      "name": "Kugel 3",
      "description": "Most Natural",
      "max_input_length": 10000,
      "sample_rate": 24000
    }
  ]
}
```

<Note>
  Legacy IDs such as `kugel-2.5` and `kugel-2-turbo` remain accepted for backwards compatibility. They may route through the current production model, but billing and Dashboard usage keep the requested model ID. New integrations should use `kugel-3`.
</Note>

### Example

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.kugelaudio.com/v1/models" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```python Python theme={null}
  from kugelaudio import KugelAudio

  client = KugelAudio(api_key="YOUR_API_KEY")

  models = client.models.list()

  for model in models:
      print(f"{model.id}: {model.name}")
  ```

  ```typescript JavaScript theme={null}
  import { KugelAudio } from 'kugelaudio';

  const client = new KugelAudio({ apiKey: 'YOUR_API_KEY' });

  const models = await client.models.list();

  for (const model of models) {
    console.log(`${model.id}: ${model.name}`);
  }
  ```
</CodeGroup>

***

## Model Object

### Fields

| Field              | Type    | Description                                    |
| ------------------ | ------- | ---------------------------------------------- |
| `id`               | string  | Canonical model identifier to use in API calls |
| `model_id`         | string  | Same as `id` (backward compat)                 |
| `name`             | string  | Human-readable name                            |
| `description`      | string  | Model description                              |
| `max_input_length` | integer | Maximum input text length in characters        |
| `sample_rate`      | integer | Output audio sample rate in Hz                 |

***

## Model Limits

| Limit              | Value             |
| ------------------ | ----------------- |
| Max input length   | 10,000 characters |
| Sample rate        | 24,000 Hz         |
| Concurrent streams | Plan-dependent    |

<Note>
  For longer content, split your text into chunks and generate sequentially.
</Note>
