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

# List Models (Public)

> List Bland's TTS models in an OpenAI-compatible catalog. No API key required, so tooling can discover models before authenticating.

## Overview

Returns Bland's TTS model catalog in the OpenAI `list` format. No authentication is required.

Use it when your tooling expects an OpenAI-style `GET /models` endpoint, or when you need to discover models before a user has entered an API key. Each entry carries the same capabilities manifest as [List TTS Models](https://docs.bland.ai/api-v2/get/tts-models.md): supported encodings, sample rates, containers, and voice controls.

If you are already authenticated and only need the manifests, [List TTS Models](https://docs.bland.ai/api-v2/get/tts-models.md) returns them without the OpenAI wrapper. Its behavior is unchanged.

Responses are cacheable for up to 5 minutes (`Cache-Control: public, max-age=300`).

***

## Response

**object** `string`

Always `list`.

**data** `array`

Array of model entries.

**Model fields**

**id** `string`

Model identifier, for example `btts-3`. Same value as the `x-model` header on [Synthesize Speech](https://docs.bland.ai/api-v2/post/tts.md).

**object** `string`

Always `model`.

**created** `number`

Always `0`. Present for OpenAI compatibility.

**owned\_by** `string`

Always `bland`.

**name** `string`

Human-readable name. Currently matches `id`.

**modality** `string`

Always `text-to-speech`.

**capabilities** `object`

The model's capabilities manifest.

**Capability fields**

**encodings** `string[]`

Supported audio codecs. Pass one as `audio.encoding`.

**sample\_rates** `number[]`

Supported PCM sample rates in Hz. `mulaw` is fixed at 8000 regardless of this list.

**containers** `string[]`

Supported byte framings (`raw`, `wav`).

**controls** `object`

Supported voice controls and their allowed ranges. Each entry is an object with `min` and `max`.

```json Response theme={null}
{
  "object": "list",
  "data": [
    {
      "id": "btts-3",
      "object": "model",
      "created": 0,
      "owned_by": "bland",
      "name": "btts-3",
      "modality": "text-to-speech",
      "capabilities": {
        "encodings": ["pcm_s16le", "mulaw"],
        "sample_rates": [8000, 16000, 24000, 44100, 48000],
        "containers": ["raw", "wav"],
        "controls": {
          "expressiveness": { "min": 0, "max": 1 },
          "stability": { "min": 0, "max": 1 }
        }
      }
    },
    {
      "id": "btts-2",
      "object": "model",
      "created": 0,
      "owned_by": "bland",
      "name": "btts-2",
      "modality": "text-to-speech",
      "capabilities": {
        "encodings": ["pcm_s16le", "mulaw"],
        "sample_rates": [8000, 16000, 24000, 44100, 48000],
        "containers": ["raw", "wav"],
        "controls": {
          "expressiveness": { "min": 0, "max": 1 },
          "stability": { "min": 0, "max": 1 }
        }
      }
    }
  ]
}
```

```json Error theme={null}
{
  "error": {
    "message": "Failed to list models.",
    "type": "api_error",
    "param": null,
    "code": "internal_error"
  }
}
```

### Error codes

| Code | HTTP | Meaning |
| - | - | - |
| `internal_error` | 500 | Catalog generation failed. Retry the request. |

***

Docs for agents: [llms.txt](https://docs.bland.ai/llms.txt)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.