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

# Models

> The two public LETHE model ids and what they map to.

LETHE exposes two public model ids. Underlying provider routing is intentionally hidden, responses are sanitized so no upstream provider name leaks through, even in streamed output.

| Model          | Description                           | Input                 |
| -------------- | ------------------------------------- | --------------------- |
| `lethe`        | LETHE private text model. 1M context. | Text only             |
| `lethe-vision` | LETHE private multimodal model.       | Image and video input |

<Tip>
  Claude Code's default model ids (`opus`, `sonnet`, `haiku`) and any `claude-*` / `anthropic.*` id are automatically aliased to `lethe`, point Claude Code at LETHE with no model-name changes. `lethe-private` and `lethe-text` also alias to `lethe`; `lethe-image` aliases to `lethe-vision`.
</Tip>

If you send a vision/image input to `lethe` (text-only), the request is rejected with `invalid_model`, switch to `lethe-vision`.

## List models

<CodeGroup>
  ```bash GET /v1/models theme={null}
  curl https://asklethe.ai/v1/models \
    -H "Authorization: Bearer $LETHE_API_KEY"
  ```

  ```json Response theme={null}
  {
    "object": "list",
    "data": [
      { "id": "lethe", "object": "model", "created": 0, "owned_by": "lethe" },
      { "id": "lethe-vision", "object": "model", "created": 0, "owned_by": "lethe" }
    ]
  }
  ```
</CodeGroup>

## Get a single model

<CodeGroup>
  ```bash GET /v1/models/{id} theme={null}
  curl https://asklethe.ai/v1/models/lethe \
    -H "Authorization: Bearer $LETHE_API_KEY"
  ```

  ```json Response theme={null}
  {
    "id": "lethe",
    "object": "model",
    "created": 0,
    "owned_by": "lethe"
  }
  ```
</CodeGroup>

Requesting an unknown id returns `404` with code `model_not_found`.
